Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Процедурная генерация бумажных снежинок

Время на прочтение16 мин
Количество просмотров21K

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

Читать далее
Всего голосов 127: ↑127 и ↓0+127
Комментарии33

usbhub + usbasp + ch341 + j-link = one PCB

Время на прочтение2 мин
Количество просмотров5.3K

Изобретаю велосипед с подключением USBASP + CH341 (UART + SPI/I2C) + JTAG на одной плате с USBHUB и кабелем USB-typeC.

Почитать
Всего голосов 23: ↑21 и ↓2+19
Комментарии7

Опыт работы с советским газоразрядным дисплеем ГИП-10000 (ИМГ-1-02)

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров27K

Советская электронная промышленность выпускала множество разнообразных газоразрядных индикаторных приборов: точечные, линейные, шкальные, знаковые, но отдельным пунктом стоит отметить матричные индикаторы (панели). Очень разные по конструкции, по разрешению, по принципу управления – постоянного тока с внешней адресацией, с самосканированием, переменного тока; знакосинтезирующие, графические; монохромные, двух-, трех-, четырехцветные. Номенклатура насчитывала несколько десятков типов изделий. 

В статье пойдёт речь про ГИП-10000. Это газоразрядная матрица постоянного тока с внешней адресацией разрешением 100х100 точек. Применялась она в таких изделиях как Электроника МС6205 и ИМГ-1. Я расскажу про то, как запустил на ней Bad Apple!! и Doom.

Читать далее
Всего голосов 240: ↑240 и ↓0+240
Комментарии69

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20

Время на прочтение18 мин
Количество просмотров11K

Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.

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

И ваш автор не исключение.

Как по мне - дело не то чтобы запредельно сложное, сколько кропотливое. Если у вас, как и у меня, увлечение и(или) карьера крутится вокруг Arm Cortex-M серии, то вооружаемся стволами (раз, два и три) и выдвигаемся за Джеффом. Но, написав и запустив ядро своей "best of the best" оси около года назад, я вскоре забросил разработку, ибо как я ни креативил, вместо Сокола Тысячелетия у меня получался крепенький, но банальный и скучный велосипед.

А ведь хотелось оригинальности и бесстыдного выпендрёжа.

И тут в 20-й стандарт плюсов завезли корутины.

Читать далее
Всего голосов 34: ↑31 и ↓3+28
Комментарии28

PAL, GAL и путешествие в цифровое ретро

Время на прочтение17 мин
Количество просмотров21K
Идея сделать цифровые логические микросхемы с изменяемой структурой была всегда. Почему? Достаточно посмотреть на толстенный каталог чипов серии TTL 74xx (или советской К155), чтобы такая идея самозародилась. В СССР почти у каждого инженера и радиолюбителя был справочник В.Л. Шило «Популярные цифровые микросхемы», который вышел каким-то невероятным тиражом. Но всё равно, хотелось иметь некий «универсальный кристалл», из которого можно сделать все остальные микросхемы (ну хорошо, не все, но многие).

Конечно же, полупроводниковая промышленность тоже была не прочь удовлетворить такой спрос.
Дальше
Всего голосов 95: ↑95 и ↓0+95
Комментарии38

Сверхдлинное преобразование Фурье на FPGA

Время на прочтение13 мин
Количество просмотров18K
Всем привет!

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

В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии23

Методы наименьших квадратов: текст, написанный программистом для программистов

Время на прочтение19 мин
Количество просмотров36K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


Читать дальше →
Всего голосов 84: ↑80 и ↓4+76
Комментарии13

Спецификации сигнатур методов в Ruby с синтаксисом как в Elixir

Время на прочтение6 мин
Количество просмотров1.1K

Спецификации сигнатур функций (Typespecs)


Эликсир позаимствовал из Эрланга многое. Например, оба — языки с динамической
типизацией (что прекрасно, что бы вам там категоричные строгие типы в касках
не говорили). При этом, в обоих языках присутствуют расширенные возможности для
проверки типов, когда это надо.


Вот введение в typespecs, а вот здесь можно ознакомиться с ними подробнее.


Если вкратце, мы можем определить спецификацию сигнатуры функции, и если вызов не соответствует объявленным ожиданиям, статический анализатор кода, известный как dialyzer, заругается. Формат этих спецификаций выглядит довольно изящно:


@spec concat(binary(), any()) :: {:ok, binary()} | {:error, any()}
def concat(origin, any), do: origin <> IO.inspect(any)
Давайте сделаем так же в ruby
Всего голосов 8: ↑6 и ↓2+4
Комментарии2

Получение root на роутере Tenda Nova MW6

Время на прочтение39 мин
Количество просмотров13K

Началось всё с того, что польстившись на распродажу и новые buzz words — я приобрел wifi mesh систему, дабы покрыть все уголки загородного дома и прилегающего участка. Все бы ничего, но одна проблема раздражала. А с учетом того, что я сел на больничный на несколько дней — довела меня до root доступа к данному роутеру.


КДПВ

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии12

Comodo отзывает сертификаты без причины

Время на прочтение6 мин
Количество просмотров32K
Могли ли вы представить себе, что крупная компания будет заниматься обманом своих клиентов, особенно если эта компания позиционирует себя гарантом безопасности? Вот и я не мог до недавнего времени. Эта статья — предостережение, чтобы вы сначала десять раз подумали, перед тем как покупать сертификат для подписи кода у Comodo.
Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии192

Красивые точные часы из старого смартфона

Время на прочтение25 мин
Количество просмотров85K


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

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →
Всего голосов 150: ↑147 и ↓3+144
Комментарии135

Налогообложение ИП в Казахстане: как быть фрилансеру?

Время на прочтение6 мин
Количество просмотров21K
Рассказывая на IT тусовках и в интернете о том, как посчитать и заплатить налоги дизайнерам, программистам и другим фрилансерам меня часто просили написать об этом простой и понятный пост. Простого в налогообложении мало, но я постарался чтобы он был хотя бы понятным. ПОд катом информация для тех кто живет в Казахстане и хочет спать спокойно.

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии63

Куда приводят поиски идеальной SCADA

Время на прочтение3 мин
Количество просмотров13K

Два года назад я написал статью “SCADA: в поисках идеала”. Идея была проста — превратить Qt Creator в среду для разработки SCADA. Теперь хочу рассказать, какой путь проделан и что получилось.



Удалось ли достигнуть идеального результата? — Разумеется, нет. На то он и идеал, что недостижим. Зато удалось заметно к нему приблизиться.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии43

Как из домашнего ПК средствами виртуализации сохранить игровую систему

Время на прочтение8 мин
Количество просмотров62K
Благодаря конкуренции и развитию НТП современные ПК позволяют выполнять множество простых и сложных задач одновременно, например играть и воспроизводить видео на ТВ, рендерить графику и читать новости в интернете, раздавая торренты параллельно, и т.д. и т.п. Многие идут дальше и используют несколько ПК для работы и развлечений. Однако при помощи технологий виртуализации можно с одной стороны расширить возможности своего ПК, а с другой сэкономить, т.к. по сути можно запустить несколько операционных систем на одном железе в одно и то же время.


Эта статья будет посвещена настройки хоста именно для использования в «быту», т.е. разговор пойдет о GPU PASSTHROUGH.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии30

Принтеры с СНПЧ: выбираем и сравниваем по стоимости отпечатка

Время на прочтение8 мин
Количество просмотров163K
СНПЧ в штатном исполнении появилась в струйных принтерах сравнительно недавно. До этого владельцы устройств, не доверявшие кустарным надстройкам, были вынуждены ограничиваться объемом родных картриджей принтера. Теперь на струйной печати можно экономить со всей гарантийной ответственностью!

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



Под катом о том, на что следует обратить внимание при выборе струйного принтера со штатной системой СНПЧ.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии44

Установка пограничного контроллера сессий 3CX SBC на Windows, Raspberry Pi или Debian 9

Время на прочтение3 мин
Количество просмотров3.9K

Введение


Пограничный контроллер сессий 3CX SBC используется для подключения удаленных офисов с небольшим количеством телефонов к центральному серверу 3CX. Он транслирует к серверу SIP-сигнализацию, используя собственную технологию 3CX Tunnel, а локальные медиапотоки RTP (собственно, разговоры) коммутирует внутри локальной сети удаленного офиса. Это значительно экономит внешний трафик и повышает качество связи внутри офиса. Весь трафик между SBC и сервером 3CX передается по одному TCP/UDP порту, что значительно упрощает настройку сетевых экранов. Коммуникации через SBC могут быть зашифрованы, а автоматическая настройка телефонов значительно упрощена. Особенно популярен 3CX SBC при подключении к 3CX, расположенной на облачном хостинге, на котором проблематично или затратно организовать полноценный VPN IPSec.

3CX SBC можно установить на ПК с Windows, который активно не используется. Кроме того, если в удаленном офисе находится до 20 IP-телефонов (и до 10 BLF-индикаторов на один телефон), вы можете установить SBC на устройство Raspberry Pi. Рекомендуется использовать более производительные устройства Raspberry Pi 2 или 3 Model B.

А при большем количестве телефонов SBC следует устанавливать на Debian Linux 9.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Печать матрицы, литьё

Время на прочтение2 мин
Количество просмотров12K
Всем привет. Меня зовут Сергей.

Довольно часто использую 3D принтер в своей деятельности и часто пробую что-то новое. На глаза попалась технология печати матриц и литья в них. Меня это заинтересовало и я решил попробовать этот способ мелкосерийного производства.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии21

Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio

Время на прочтение16 мин
Количество просмотров6.1K


Предисловие


Наша небольшая команда занимается развитием двух OpenSource инструментов для C++разработчиков — акторного фреймворка SObjectizer и встраиваемого HTTP-сервера RESTinio. При этом мы регулярно сталкиваемся с парой нетривиальных вопросов:

  • какие фичи добавлять в библиотеку, а какие оставлять «за бортом»?
  • как наглядно показывать «идеологически правильные» способы использования библиотеки?

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

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

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

Сегодня мы хотим рассказать как раз об одной такой «небольшой» задачке, в которой естественным образом объединились SObjectizer и RESTinio.

Масштабирование и раздача картинок. Почему именно это?


В качестве небольшой демо-задачи для самих себя мы выбрали HTTP-сервер, который раздает по запросам отмасштабированные картинки. Вы складываете изображения в какой-то каталог, запускаете HTTP-сервер, делаете к нему запрос вида:
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии13

Blender: 3D-модель микросхемы для подключения в библиотеке KiCad

Время на прочтение6 мин
Количество просмотров11K
Когда проектируешь печатные платы, часто возникает потребность добавить трёхмерную модель электронного компонента на плату. Но не всегда получается найти готовый файл в интернете. Нарисовать такую модель с помощью CAD-программы труда не составляет: задать параметры корпуса и выводов дело десяти минут, если, конечно, нужна габаритная модель а не фотореалистичная картинка.

Но есть проблема: профессиональный CAD-редактор стоит не дёшево, а свободно распространяемые не всегда удобны в использовании.

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

Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии21

Вы просто не умеете редактировать данные

Время на прочтение15 мин
Количество просмотров15K


Конечно, вы постоянно что-то редактируете и прекрасно умеете это делать. А что насчёт данных в мобильном приложении, когда на экране нужно разместить большое количество элементов? Не забудьте, что сделать это нужно максимально аккуратно для пользователя, эффективность которого напрямую зависит от удобства ввода. Задача перестаёт быть тривиальной.


Прочитав статью, вы узнаете, как:


  • организовать структуру данных, чтобы их было удобно редактировать
  • обеспечить «динамизм» вашему UI
  • определять, изменилось ли что-то
  • сохранять историю изменений
  • сделать многопользовательский режим за 5 минут

В конце вас ждет готовый прототип с исходным кодом, демонстрирующим описанный подход.

Уже хочу
Всего голосов 41: ↑39 и ↓2+37
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Зарегистрирован
Активность