habrahabr
Русская Ардуино — опять приклеили шильдик на китайский девайс?

Часто такой вопрос один из первых в комментариях) И к сожалению некоторые компании так и делают... Но не мы)В феврале 2024 года мы выпустили первый образец Arduino-совместимой платы v0.1 в форм-факторе Arduino UNO. Из особенностей - на базе российского микроконтроллера MIK32 Амур от Микрон (а это единственный современный микроконтроллер на перспективной RISC-V архитектуре, разработанный и действительно производимый в России!). Как водится, первая плата вышла страшненькой, и конечно не запустила…

  • воскресенье, 8 июня 2025 г. в 00:00:18
habrahabr
Мирный порох

Отвлечёмся от грустных новостей и поговорим о мирном применении пороха. А применений таких, местами неявных, мне удалось отыскать на целый пост. Причём под порохом мы будем понимать все пиротехнические составы, которые горят сами, без подвода воздуха. ▍ Концепция пороха как концентрата энергии «Горит как порох» — говорят, когда что-то очень легко и интенсивно загорается. Порох содержит в себе как топливо, так и окислитель — источник кислорода. Поэтому ему для горения нужно только помочь искр…

  • воскресенье, 8 июня 2025 г. в 00:00:16
habrahabr
Газоразрядное табло для машины времени, или как я оказался в титрах к японской дораме

Уже не первый десяток лет газоразрядные цифровые индикаторы переживают свой ренессанс. Одни собирают часы и метеостанции на широко распространённых ИН-12, другие уходят в тему с головой и пытаются наладить своё производство ламп немыслимых доселе форм и размеров. Я же предпочитал в своих конструкциях использовать ВЛИ (VFD) — они требуют куда более низких напряжений питания, да и весьма чаще встречаются в виде готовых модулей, которым нужно лишь подать 5 вольт питания и данные. Большинство конст…

  • воскресенье, 8 июня 2025 г. в 00:00:15
habrahabr
Как ускорить сложение и вычитание при помощи 2^51

Помните, как долго выполняется сложение на бумаге? ¹¹ ¹ 6876 + 3406 ------ 10282Начиная с «единиц», мы складываем 6 + 6 = 12, записываем 2 и переносим 1. Затем пошагово двигаемся влево, пока складываемые разряды не закончатся.При реализации сложения больших чисел (например, от 264 и выше) обычно пишут код, похожий на этот алгоритм. Любопытно здесь то, что существует простой трюк, позволяющий существенно ускорить этот процесс на современных CPU.Но сначала я задам вопрос: почему сложение столб…

  • воскресенье, 8 июня 2025 г. в 00:00:14
habrahabr
Наш CEO хочет no-code в проде. Я против — и готов уйти

Как визуальные платформы ломают культуру разработки и зачем нам нужен контроль над кодомУ меня 25 лет опыта в веб-разработке. Я видел, как появлялись и умирали десятки инструментов, фреймворков, "революций" и "новых парадигм". Я устал повторять, что я не нео-луддит. Я не против прогресса. Но есть момент, когда вместо прогресса тебе продают иллюзию простоты, замаскированную под инновацию.Так вот, теперь наш CEO влюбился попал под очарование Lovable и хочет, чтобы мы начали исполь…

  • воскресенье, 8 июня 2025 г. в 00:00:13
golang
Транзакционный Ratelimit

В статье расскажу про задачу и её решение, связанную с организацией лимитов для выполнения различных операций и http запросов. Изначально задача звучала как создание распределенного решения, библиотека или микросервис на основе хранилища в redis, который бы мог обеспечить достаточный уровень отказоустойчивости и наблюдаемости. Функциональные и не функциональные требования были обычными для подобной задачи и казалось, что можно обойтись стандартным готовым решением, но не тут то было.Основная …

  • воскресенье, 8 июня 2025 г. в 00:00:12
golang
Go-тесты: путь к надежному коду

Очень часто автотесты воспринимаются как обременение: что-то скучное, унылое и совершенно не нужное. С уверенностью, что вместо тестов лучше заняться «настоящим» кодом, некоторые разработчики решают не тратить на них время… и тратят его в два раза больше, когда впоследствии приходится ковырять неожиданно возникшие ошибки. Факт: в долгосрочной перспективе именно тесты становятся фундаментом стабильности, а любое изменение без них превращается в настоящую игру с огнём — особенно в активно разви…

  • воскресенье, 8 июня 2025 г. в 00:00:11
golang
Go synctest: Решение проблемы нестабильных тестов

Чтобы понять, что решает synctest, мы должны сначала рассмотреть основную проблему: недетерминизм в конкурентных тестах. func TestSharedValue(t *testing.T) { var shared atomic.Int64 go func() { shared.Store(1) time.Sleep(1 * time.Microsecond) shared.Store(2) }() // Проверяем общее значение через 5 микросекунд time.Sleep(5 * time.Microsecond) if shared.Load() != 2 { t.Errorf("shared = %d, want 2", shared.Load()) } } Этот тест …

  • воскресенье, 8 июня 2025 г. в 00:00:10
javascript
Практическая инструкция для чайника по использованию нейросетей в разработке

Статья написана для юзверя (в том числе разработчика) с базовыми знаниями работы в операционной системе, консолью, IDE и браузером.В статье рассматривается инструкция для установки LLM локально на ПК юзверя для обхода проблем работы с удаленными серверами. Также статья поможет в совсем базовом понимании работы с LLM.Здесь будет рассматриваться IDE VSCode, однако всё нижеописанное актуально и для JB Webstorm или Pycharm (и др).ПредисловиеЯ, как профессиональный разработчик, использующий в своей …

  • воскресенье, 8 июня 2025 г. в 00:00:08