Pull to refresh
4
Karma
0
Rating

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

  • Followers
  • Following
  • Posts
  • Comments

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

JavaScript *Programming *Algorithms *Canvas *TypeScript *

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

Читать далее
Total votes 127: ↑127 and ↓0 +127
Views 17K
Comments 33

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

Programming microcontrollers *Old hardware DIY

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

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

Читать далее
Total votes 240: ↑240 and ↓0 +240
Views 19K
Comments 64

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

C++ *Programming microcontrollers *
Tutorial

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

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

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

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

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

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

Читать далее
Total votes 34: ↑31 and ↓3 +28
Views 9.3K
Comments 28

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

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

Конечно же, полупроводниковая промышленность тоже была не прочь удовлетворить такой спрос.
Дальше
Total votes 95: ↑95 and ↓0 +95
Views 13K
Comments 38

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

Algorithms *Development of communication systems *FPGA *Programming microcontrollers *Manufacture and development of electronics *
Всем привет!

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

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


Читать дальше →
Total votes 61: ↑61 and ↓0 +61
Views 12K
Comments 23

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

Programming *C++ *Data Mining *Algorithms *Mathematics *
Tutorial
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


Читать дальше →
Total votes 84: ↑80 and ↓4 +76
Views 31K
Comments 13

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

Ruby *

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


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


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


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


@spec concat(binary(), any()) :: {:ok, binary()} | {:error, any()}
def concat(origin, any), do: origin <> IO.inspect(any)
Давайте сделаем так же в ruby
Total votes 8: ↑6 and ↓2 +4
Views 729
Comments 2

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

Reverse engineering *

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


КДПВ

Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Views 10K
Comments 10

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

Information Security *System administration *IT Infrastructure *Development for Windows *Software
Могли ли вы представить себе, что крупная компания будет заниматься обманом своих клиентов, особенно если эта компания позиционирует себя гарантом безопасности? Вот и я не мог до недавнего времени. Эта статья — предостережение, чтобы вы сначала десять раз подумали, перед тем как покупать сертификат для подписи кода у Comodo.
Читать дальше →
Total votes 68: ↑66 and ↓2 +64
Views 30K
Comments 192

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

Circuit design *Smartphones Energy and batteries DIY Lifehacks for geeks
Sandbox


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

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

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

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

image
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 9.8K
Comments 63

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

Qt *Industrial Programming *SCADA *

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



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

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 11K
Comments 43

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

Configuring Linux *System administration *Virtualization *Game testing *Computer hardware
Tutorial
Благодаря конкуренции и развитию НТП современные ПК позволяют выполнять множество простых и сложных задач одновременно, например играть и воспроизводить видео на ТВ, рендерить графику и читать новости в интернете, раздавая торренты параллельно, и т.д. и т.п. Многие идут дальше и используют несколько ПК для работы и развлечений. Однако при помощи технологий виртуализации можно с одной стороны расширить возможности своего ПК, а с другой сэкономить, т.к. по сути можно запустить несколько операционных систем на одном железе в одно и то же время.


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

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

М.Видео-Эльдорадо corporate blog Periphery
СНПЧ в штатном исполнении появилась в струйных принтерах сравнительно недавно. До этого владельцы устройств, не доверявшие кустарным надстройкам, были вынуждены ограничиваться объемом родных картриджей принтера. Теперь на струйной печати можно экономить со всей гарантийной ответственностью!

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



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

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

3CX Ltd. corporate blog System administration *IT Infrastructure *Network technologies *Server Administration *
Tutorial

Введение


Пограничный контроллер сессий 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.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 3.1K
Comments 0

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

3D printers
Всем привет. Меня зовут Сергей.

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

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

Open source *Programming *C++ *


Предисловие


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

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

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

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

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

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

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


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

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

Working with 3D-graphics *Manufacture and development of electronics *
Tutorial
Когда проектируешь печатные платы, часто возникает потребность добавить трёхмерную модель электронного компонента на плату. Но не всегда получается найти готовый файл в интернете. Нарисовать такую модель с помощью CAD-программы труда не составляет: задать параметры корпуса и выводов дело десяти минут, если, конечно, нужна габаритная модель а не фотореалистичная картинка.

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

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

Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Views 8.5K
Comments 21

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

2ГИС corporate blog Programming *Development of mobile applications *Development for Android *SQLite *


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


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


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

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

Уже хочу
Total votes 41: ↑39 and ↓2 +37
Views 15K
Comments 0

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Registered
Activity