Search
Write a publication
Pull to refresh
286
0.2
Владимир @32bit_me

Программист

Send message

Тестируем PCIe в новом Raspberry Pi 5

Level of difficultyEasy
Reading time9 min
Views39K

Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5.

Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностях и о том, что выяснил в ходе тестирования её работы с десятком различных устройств PCIe.
Читать дальше →

Как сейчас работают интернет-покупки в США из РФ

Reading time6 min
Views20K

Между странами, вроде как, напряженная ситуация. Но товары при этом спокойно курсируют. И даже сейчас можно купить айфон или игровую приставку напрямую в Америке, в их магазине. Причем очень неплохо на этом сэкономить. Правда, процесс с 2022 года стал немного сложнее, и имеет свои особенности. О них сегодня вам и расскажем.

Читать далее

Циклоидный редуктор + BLDC мотор своими руками

Level of difficultyHard
Reading time9 min
Views22K

Всем привет! Эта статья открывает собой серию статей по разработке манипулятора. Тут я попробую рассказать о циклоидном редукторе и зачем он вообще мне понадобился. Разумеется, мы проведём его расчёт и воплотим его в физическое представление при помощи PLA пластика. Ну и как бонус соберём из хлама BLDC мотор для тестирования этого редуктора. Погнали.
Читать дальше →

Что для вас Linux? Или как устроен запуск процессов

Level of difficultyMedium
Reading time15 min
Views42K

Как бы вы ответили на вопрос, что такое операционная система?

Скорее всего, вы легко сможете ответить на этот вопрос человеку далекому от IT, но подобный вопрос вам может задать, например, HR - в попытке переманить вас в какой-нибудь Facebook или Google. С одной стороны, ответить на этот вопрос очень легко и в интернете можно найти много определений, но относится ли, например, конфигурация DNS и файл /etc/resolv.conf к ОС ? Или в какой области памяти работает ОС - в памяти с безграничными возможностями для кода, называемой kernel space, или все же в лимитированной user space?

На эти вопросы даже в этой статье вы не найдете однозначного ответа, и только вам решать, что для вас ОС, а что пользовательские приложения. Но в конце статьи я все же приведу свои аргументы, почему важно знать, как это работает, даже если вы сеньор программист/админ/девопс, проживший без этих знаний 35 лет и весьма успешно запустивший множество проектов. 

Читать далее

Получаем виртуальный raspberry pi с помощью QEMU. Часть 1

Level of difficultyEasy
Reading time4 min
Views14K

Зачастую новички используют поставляемую производителем операционную
систему, систему на базе Debian. Загрузившись, новичок начинает настройку системы «под себя». Я решил показать процесс создания виртуального клона raspberry pi, чтобы не производить эти действия на самом одноплатнике.

Читать далее

Blink: супербыстрый эмулятор x86_64 размером 119 КБ

Level of difficultyMedium
Reading time6 min
Views20K


На Хабре когда-то писали про талантливую программистку Джастин Танни, автора маленьких и очень быстрых приложений. Приятно знать, что она не останавливает свою неординарную деятельность. Например, одна из её последних разработок — крошечный эмулятор под названием Blink размером всего 116 КБ, который очень быстро компилирует WASM и выполняет Linux-программы x86_64 под разными платформами и даже в браузере.
Читать дальше →

Axiom: Инвертор для двигателя мощностью более 100 кВт

Level of difficultyEasy
Reading time7 min
Views13K

Впервые в истории открытый проект Axiom даёт возможность точно управлять мощными 3-фазными двигателями. Сейчас это как никогда актуально. Миллиарды тратятся на приближение эры электромобилей.

Самое приятное, что аппаратное обеспечение и прошивка имеют открытый исходный код! 

Читать далее

Какие кабели можно встретить в стойке дата-центра?

Reading time12 min
Views31K

Приступая к работе в ЦОД, можно легко запутаться в различных типах кабелей, которые используются для соединения и подключения сетевых устройств и серверов. Некоторые из них распространены и в повседневной жизни, а потому хорошо узнаваемы – Ethernet-кабели (с коннекторами RJ-45) и кабели питания (например, с распространенными вилками C13). Но другие, такие как оптические кабели с коннекторами стандарта SFP, LC, SC, силовые с вилкой типа IEC-309 и т. д., известны не так широко.

Если вы проводите какие-либо работы непосредственно в стойке, любая ошибка может стоить дорого – нажата не та кнопка, и клиенты уже в дауне, а любимые и глубоко уважаемые специалисты техподдержки шлют вам тикеты счастья. Даже Uptime Institute в своем исследовании 2021 года отмечает, что в 79% случаев причиной падения серверов в ЦОДах является человеческий фактор.  Всё надо делать вовремя – и нажимать кнопки, и менять комплектующие, и переключать кабели… 

Так вот о кабелях. Чтобы начать с ними работать, было бы неплохо хотя бы знать, как они выглядят и какие функции выполняют. 

Этот материал как раз об этом. 

В первую очередь, он будет полезен в роли шпаргалки сотрудникам-стажерам, только начинающим работу с аппаратной частью ИТ-инфраструктуры. 

Читать далее

Кроссплатформенная сборка Qt5 для Nvidia Jetson TX2

Level of difficultyEasy
Reading time4 min
Views2.9K

Эта статья будет полезна тем, кто пишет проекты на Qt и работает с Nvidia Jetson. В статье представлена пошаговая инструкция для кроссплатформенной сборки Qt5 для Nvidia Jetson TX2 на базе Ubuntu.

Читать далее

Идеальная рабочая станция Linux на процессоре Apple M1 (ARM64)

Level of difficultyEasy
Reading time4 min
Views54K


Моё знакомство с Asahi Linux началось в марте прошлого года, когда на свет появилась альфа-версия Asahi. Я сразу же установил её на свой Mac Mini с 8-ядерным Apple M1 (ARM64). Asahi — это дистрибутив Linux, который нативно работает в «маках» на Apple Silicon благодаря хитрым хакам и реверс-инжинирингу от сообщества Open Source. Более того, запуск Asahi абсолютно легален, поскольку Apple официально разрешает загрузку отличных от macOS операционных систем на своей платформе Apple Silicon.

Слово Asahi переводится как «утреннее солнце». И это не только известная марка японского пива, но и дистрибутив Linux, который назван так, дабы подчеркнуть первенство команды разработчиков в освоении платформы Mac.
Читать дальше →

Простой испытатель ферритов

Reading time7 min
Views23K

Реалии нашей жизни поменялись. Если раньше мы шли в магазин и покупали нужное ферритовое кольцо для трансформатора, то теперь порой приходится довольствоваться тем, что удалось найти. В ящике стола, в лампочке-экономке из ближайшей мусорки, у китайцев на Алиэкспрессе... Зачастую без маркировки, тип которого известен лишь приблизительно. И вопросы, вопросы... Действительно ли из Китая выслали то, что просили? Подойдет ли для двухтактного трансформатора это зеленое кольцо? А что будет, если намотать трансформатор на феррите с мю 10000? Каким выбрать число витков на вольт, когда формула из статьи в журнале "Радио" дает 0,4 витка на вольт, а популярная программа -- 1,2 витка?

В статье описывается небольшой стенд для испытания ферритовых сердечников, главным образом, колец, в режиме двухтактного преобразователя.

Читать далее

PCIe для электронщиков: анатомия канала передачи

Level of difficultyMedium
Reading time8 min
Views17K

В предыдущий раз мы разбирали дифпары, их основы, правила разводки и известные допуски PCIe в этом отношении. Сегодня же мы поговорим о конкретных сигналах, на которых работает PCIe, а также узнаем, какие разъёмы применимы к этому интерфейсу.
Читать дальше →

Причина агонии студентов во время интервью, или популярно о моделях интерфейсов шины

Reading time7 min
Views7.5K

Сейчас я интервьирую кандидатов которые приходят на позиции в RTL design / проектировщики микросхем на уровне регистровых передач. Но 5 лет назад я интервьировал студентов и других инженеров на позиции в DV / Design Verification / верификаторы блоков микросхем.

Моим стандартным вопросом было написать маркером на доске псевдокод для упрощенного драйвера модели шины (Bus Functional Model - BFM) для протокола AXI. На этом вопросе у ~80% кандидатов наступала агония - они как ужи на сковородке пытались натянуть сову на глобус - приспособить решение для последовательной шины а-ля APB, которое они прочитали в каком-нибудь тьюториале - к шине AXI, которая во-первых конвейерная, а во-вторых, допускает внеочередные ответы на запросы чтения с разными идентификаторами.

Аналогия из другой области: представьте, что кто-то пытается обходить дерево или решить "ханойские башни" - не зная концепций рекурсии и стека. Или написать GUI интерфейс, не зная концепции cобытийно-ориентированной архитектуры.

Это не потому что кандидаты глупые

Reddit для программистов

Level of difficultyEasy
Reading time14 min
Views14K

Эта статья посвящена одной популярной и активной площадке на просторах Интернета — Reddit. Кто не в курсе, Reddit — это платформа, где сосуществуют тысячи сообществ по интересам. Мы любим Reddit за честность, открытость и любознательность её пользователей. Если вы программист, особенно начинающий, и ещё не слышали про Reddit — эта статья обязательна для прочтения. А если сисадмин? Для вас тоже найдётся сабреддит! В этой статье мы собрали сабреддиты для всех-всех, каким-либо образом связанных с IT-индустрией. Даже для наших любимых HR! Что же такое Reddit?

Читать далее

Программирование контроллера сервоприводов MC50. Введение

Level of difficultyMedium
Reading time7 min
Views5.8K

Это продолжение открытого проекта платы контроллера сервоприводов. В предыдущей статье был проведён анализ возможностей и выбор микроконтроллера, изучена и освоена среда разработки.  Теперь подошла собранная плата. 

Читать далее

Как разработать драйвер Linux с нуля

Level of difficultyHard
Reading time11 min
Views26K
image

Недавно я занимался изучением IoT и, так как мне не хватало устройств, при попытках симулировать работу прошивки я часто сталкивался с неимением нужного /dev/xxx. Так что я стал задумываться, а могу ли написать драйвер самостоятельно, чтобы заставить прошивку работать. Независимо от того, насколько сложно это будет, и удастся ли воплотить такое намерение, в любом случае вы не пожалеете, если научитесь разрабатывать драйвер Linux с нуля.
Читать дальше →

Как разработать плату, пригодную для массового производства? Подход Design for Manufacturing

Level of difficultyHard
Reading time15 min
Views22K

Качество печатной платы зависит не только от оборудования, уровня технологов и процессов на фабрике. Не меньший вклад в него вносят конструкторские решения разработчика платы — тополога. От них зависит технологичность: то, насколько просто будет произвести и ремонтировать изделие. Наиболее технологичной плата получится, если тополог сразу учтёт технологические нормы и особенности производства, внеся их в параметры своего CAD‑проекта. Такой подход называется Design for Manufacturing (DFM) — дизайн, оптимизированный под производство. Давайте разбираться, что это такое.

Этот материал адресован в первую очередь топологам, технологам и всем, кто уже работает в RnD и на производствах — или готовится войти в индустрию. Но мы постарались сделать его доступным для всех читателей.

Читать далее

Исторические исходные коды, с которыми должен быть знаком каждый разработчик

Level of difficultyEasy
Reading time6 min
Views27K

Как и любая другая индустрия, сфера компьютерных технологий прошла внушительный путь развития. Благодаря упорной работе программистов прошлого сегодня мы пользуемся высококлассными компьютерами, высококачественными современными графическими интерфейсами, дружелюбными языками программирования и футуристическими веб‑приложениями в реальном времени. Изучение истории приносит удовольствие — весьма интересно наблюдать за поступательным развитием технологий с течением времени. Только подумайте, скольких трудов стоило создать современный самолет — люди прошли огромный путь от одной лишь идеи полета до настоящих летательных аппаратов. Точно так же компьютеры прошли путь от дорогостоящих машин размером с целую комнату до современных и (относительно) недорогих устройств общего назначения.

Читать далее

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views49K

При написании высокоуровневого кода мы редко задумываемся о том, как реализованы те или иные инструменты, которые мы используем. Ради этого и строится каскад абстракций: находясь на одном его уровне, мы можем уместить задачу в голове целиком и сконцентрироваться на её решении.

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

В этой статье я разберу с нуля несколько основных алгоритмов быстрого умножения целых чисел вместе с математическими приёмами, делающими их возможными.

Скорее к формулам!

Hashmap(map) по версии Golang. Часть 2

Level of difficultyMedium
Reading time11 min
Views11K

Всем привет. Продолжаем реализовывать hashmap из исходников Go 1.19. Во второй части рассмотрим generic ключи и рост мапы. Узнаем что такое нерефлексивные ключи, как происходит итерация во время роста и немного про коробочное хеширование.

Читать далее

Information

Rating
4,955-th
Date of birth
Registered
Activity