Search
Write a publication
Pull to refresh
4
0
Send message

Брак, шлак, две утяжины. Как «построить» производство и не рехнуться. Серия 1

Level of difficultyEasy
Reading time8 min
Views7.3K

Как не дать производству тебя нагреть и заставить его сделать качественно. Инсайд от производственника и чек-лист от профессионального заказчика. 

Все про шлак и брак

Автоматизация тестирования при разработке прошивок радиоэлектронных устройств

Reading time11 min
Views10K

Занимательный факт. Исходный код программы бортового управляющего компьютера лунного модуля Аполлон 11 содержит 64830 строк. Исходные коды прошивок навигационного приемника, которые мы в МЭИ разрабатываем последние десять лет, содержат 217510 строчек на C++ и 181236 строчек на SystemVerilog. И я всё жду, когда это количество перейдет в качество.

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

Читать далее

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Views39K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее

Моделирование высокочастотных схем при помощи Qucs-S и Ngspice

Reading time7 min
Views9.1K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О базовых принципах работы с Qucs-S рассказывает моя предыдущая статья: https://habr.com/ru/articles/678526/ Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 1.0.2.

В Ngspice начиная с версии 37 добавлена возможность моделирования матрицы рассеяния (иначе называемое моделирование S-параметров). Qucs-S также поддерживает данные вид моделирования начиная с версии 0.0.24. Моделирование S-параметров и анализ ВЧ схем всегда было ключевой возможностью симулятора Qucs, наследником которого является Qucs-S. Но для Qucs-S, имеются некоторые отличия, о которых будет рассказано далее. На КДПВ приведён пример моделирования полосового фильтра на диапазон 40 метров для любительского КВ трансивера.

Читать далее

Лови мутанта! Мутационные тесты: зачем и как

Level of difficultyMedium
Reading time5 min
Views4.2K

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

Читать далее

Ключевые характеристики материалов для производства печатных плат

Level of difficultyHard
Reading time10 min
Views17K

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

Читать далее

Путешествие сквозь секреты прошивок: исследование основ

Level of difficultyMedium
Reading time14 min
Views20K

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

Читать далее

Семейство алгоритмов Ascon — новый стандарт легковесной криптографии

Reading time3 min
Views5.1K

Режим работы шифра Ascon, см. список условных обозначений на схеме

В феврале 2023 года Национальный институт стандартов и технологий (NIST) выбрал стандарт легковесной криптографии для RFID, датчиков, Интернета вещей и других устройств с ограниченными аппаратными ресурсами. Победителем конкурса стало семейство шифров Ascon (файл zip, спецификации, changelog).
Читать дальше →

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

Level of difficultyMedium
Reading time26 min
Views49K

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

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

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

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

Что такое тексел?

Reading time5 min
Views11K

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хочется поговорить о текстурах. О том, что такое тексель и о других базовых понятиях компьютерной графики. Что такое тексел или тексель? Если вам интересна эта тема — добро пожаловать под кат!

Читать далее

Цифровые флуктуации: почему ИИ ошибается и как с этим бороться

Reading time6 min
Views4.5K

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

Специалист отдела перспективных исследований компании «Криптонит» Игорь Нетай предположил, что у разноплановых ошибок ИИ существует общая причина. Он выявил её в ходе модельного эксперимента с использованием более 50 000 сгенерированных нейронных сетей, обучение которых продолжалось в течение тысяч эпох для каждой из них.

Скорее читать далее!

Третий вопрос на интервью в электронные компании

Reading time10 min
Views10K

У разных электронных компаний вопросы на интервью немного отличаются. В одной интервьюер на скрининге (первом интервью) спросит кандидата на RTL позицию про конечный автомат, в другой про арбитр, кэш или конвейер, в третьей про упорядочение неупорядоченных транзакций. Но на большом интервью вопрос про очередь FIFO появится практически всегда - не первым/вторым, но третьим.

Это может быть элементарный вопрос "напишите на доске (физической, ха-ха, без доступа к интернету и ChatGPT) код для FIFO на D-триггерах". Или это может быть обсуждение микроархитектуры какого-нибудь извращенного FIFO, например FIFO с отменой вталкиваний, или с возможностью втолкнуть и вытолкнуть переменное количество кусков данных за такт, или с конвейером и кредитным счетчиком, или работающее на памяти с высокой латентностью, или асинхронное FIFO из статьи Клиффа Каммингса про пересечение тактового домена.

Эта заметка является сиквелом заметки "FIFO для самых маленьких", а также приквелом занятия в Школе синтеза цифровых схем в ближайшую субботу. Главное нововведение - все примеры и упражнения теперь делаются не только в симуляторе, но и на плате ПЛИС.

Читать далее

Из физики лазеров в машинное обучение. Часть 1

Reading time12 min
Views11K

Это история про переход из домохозяек в машинное обучение, как учиться и как вкатываться в тему.

Шел 2018 год, героиня была в декрете и беременна вторым ребенком. Чтобы было не скучно в декрете, решила занять себя чем-то интересным и полезным.

Cover photo: Generative AI, Stable diffusion 1.5 (prompt: vintage style photo of housewife sitting programming on a personal computer)

Читать далее

Доступно о криптографии на эллиптических кривых

Reading time37 min
Views280K
image


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →

Плоттер для письма из 3D принтера Geeetech A10M

Reading time2 min
Views12K

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

Читать далее

Как AI помогает в изучении английского? Личный опыт

Reading time5 min
Views27K

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

Читать далее

15 ошибок начинающего Хабр-автора

Reading time9 min
Views2.6K

В один прекрасный момент случается «8 чудо света»: эксперт хочет написать статью в блог на Хабре. Искра, буря, безумие — и если всё это происходит в компании, то на горизонте появляется редактор, с которым можно вместе размышлять над черновиком. Примерно так я уже 6 лет работаю рука об руку с авторами корпоративных блогов.

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

Если вы задумываетесь написать свой первый пост на Хабр или (внезапно) начинаете карьеру редактора корпблога, то заглядывайте под кат — там найдете 15 самых распространенных ошибок: перед началом написания, в процессе и после публикации. Разбираю, почему они вообще появляются и как можно их избежать.

Ошибки, раступитесь!

Микроскоп из оптических головок от DVD-привода

Reading time4 min
Views20K

Небольшой и доступный проект по сборке лазерного сканирующего микроскопа на основе двух оптических головок и многофункционального инструмента “Analog Discovery”. Одно из преимуществ такого микроскопа в возможности выравнивания лазерного пятна относительно изучаемого образца с точностью до микрометра.
Читать дальше →

Как подружить Vivado и git: с микроблейзом и сабмодулями

Reading time17 min
Views8.7K

Разработка под программируемые логические интегральные схемы (ПЛИС) и систем на кристалле (СНК) отличается монструозностью IDE и их проектов. В одном котле замешаны исходные коды логических модулей, специфические файлы для привязки к контретной модели ПЛИС, файлы ресурсов, тесты, скрипты сборки, IP-ядра, программы для процессорной системы и т.д. Всё это помножается на проприетарность инструментов, жесткие правила лицензирования и широкое использование бинарных форматов файлов.

Эта статья написана в продолжение рассказа про организацию автотестирования радиоаппаратуры и отвечает на вопрос "как вы подготовили проект FPGA для хранения в репозитории и автоматической сборки в контейнере?".

Читать далее

Physically-based rendering. Ray marching (часть 1)

Reading time6 min
Views10K

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

Читать далее

Information

Rating
4,026-th
Registered
Activity