Telegram Web Link
Четверг, а значит время проектов от подписчиков! 🌝

Тем, кто пропустил, что такое четверговые проекты от подписчиков, можно прочитать тут - https://www.tg-me.com/tech_b0lt_Genona/4983

Артёма я знаю лично, с ним точно можно всегда душевно поговорить о какой-нибудь технологии или "железке". Он резидент нижегородского хакерспейса @cadr_space, где делает много классных вещей. И за сегодняшним его проектом я слежу уже второй год.

Слово автору @a_v_p

---

Всем привет! Меня зовут Артём "avp" Попцов. Представляю вашему вниманию проект, над которым начал трудиться с 9 сентября 2022 года — книга "Автомато-программато-компарадио-кружок":
https://github.com/artyom-poptsov/SPARC

8 лет веду практики и курсы по программированию микроконтроллеров в Нижегородском радиотехническом колледже (https://nntc.nnov.ru/) (НРТК), а также с 2013-го года занимаюсь организацией и поддержкой хакерспейса CADR (https://cadrspace.ru/) в Нижнем Новгороде — за всё это время накопился большой опыт по изложению материала и организации обучения. Меня увлекает возможность объединения науки, программирования, творчества и электроники для создания разных штук, и этим интересом стараюсь делиться с людьми. Не претендую на всеобъемлющие знания во всех областях, однако кажется, что могу сказать своё слово в популяризации технического творчества, обобщив опыт в формате книги.

Основой для книги послужило методическое пособие, которое было сформировано во время ведения учебных практик и курсов в НРТК. Название книги является отсылкой к хакерспейсу CADR. Очень хотелось бы, чтобы знания и опыт, накопленные за годы, не потерялся; дабы это гарантировать, работу над книгой веду с использованием Git/GitHub, и сама книга выложена в открытый доступ под лицензией CC BY-SA 4.0, что даёт возможность всем желающим использовать её, даже в коммерческих целях, при условии указания авторства и распространения производных работ под той же лицензией (для интересующихся — вот текст (https://creativecommons.org/licenses/by-sa/4.0/deed.ru) лицензии.) Надеюсь, что публикация книги под данной лицензией и использование Git даст возможность людям не только пользоваться плодами моего труда, но и приложить руку к развитию проекта.

Книга написана в LaTeX, также в релизах проекта в репозитории на GitHub есть PDF-версия книги. Параллельно перевожу книгу на английский язык — англоязычную версию можнт также найти в репозитории.

Больше всего горжусь, конечно же, главой "Синтез музыки и технологии", посвящённой низкоуровневому программированию музыки на Arduino. Также относительно недавно завершил работу над главой "Путешествие к центру микроконтроллера", где рассказывается про прерывания, и про их использование для двухканального вывода звука — пример результата можно посмотреть здесь:
Ramin Djawadi, "Game of Thrones" (Arduino cover by avp) (https://www.youtube.com/watch?v=9DGQFEVbdcs)

Ещё больше примеров музыки на Arduino можете найти в моём Telegram-канале (https://www.tg-me.com/memory_heap). Кроме работы со звуком, хочу также отметить главу, где рассказывается про использование текстового дисплея для создания игр — тоже очень интересная тема, позволяющая совместить знания из различных областей.

В планах ещё дополнить и улучшить имеющиеся главы, добавить главу про сдвиговые регистры, описать дополнительные протоколы передачи данных, синхронизировать русскую и английскую версию книги. Принимаю дополнительные идеи по улучшению, отчёты об ошибках и (конечно же) pull request'ы — данная книга является free/open source проектом, и здесь действуют такие же правила, что и в программных проектах. Контрибьюторы будут перечислены в списке благодарностей в начале книги. ;-)

---
29👍20🏆5👎2🔥1🥴1
Продолжаем четверг!

Слово автору @sftpws

---

Всем привет!

Сделала небольшой патчер для тех кому хочется делать .diff (например для никс стора) а ручками копипастить туда сюда обратно не хочется. Скрипты плодить не хотелось, занимают слишком много места/времени или вообще не совместимы с конфигом (например termux или вообще chroot куда-то)

По дефолту поддерживает как туевые так и гуевые текстовые редакторы, можно делать .hex если диффалка так умеет (или у вас есть своя?)

Написано на C, autoconf+make и nix, пока надежно работает на linux и osx, если кому-то захочется то можно и любой другой unixlike.

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

Репозиторий - https://github.com/n30f0x/diffure

---
👍53👎2🤡1
Forwarded from Блог*
#prog #go #article

How we found a bug in Go's arm64 compiler

TL;DR: для горутин с большим стеком (больше, чем может быть закодировано в литерале в одной инструкции на ARM) в эпилоге функций изменение sp, регистра, указывающего на верхушку стека, происходило через две операции ADD, обе из которых оперировали на sp непосредственно. Если переключение (preemption) между горутинами происходило между этими двумя операциями, любые операции, которые разворачивали стек — в частности, сборщик мусора — следовали вверх по стеку вызовов по частично обновлённому и потому невалидному значению из sp, и в результате предсказуемо крашились.

Может, ввести отдельный хештег для историй дебага? 🤔
🔥11🤣42🤯2👎1
Goiaba: Go-компилятор на Rust
https://habr.com/ru/news/955208/

Автор известен по вкладам в экосистему WebAssembly и Wasmer. Его цель — исследовать, насколько реально собрать полноценный Go-компилятор с нуля на Rust, не используя LLVM, TinyGo или классический toolchain от Google.

- Goiaba написан на чистом Rust, без зависимостей от существующих Go-компиляторов.

- Потенциально может использоваться как библиотека внутри Rust-проектов.

- Может компилировать Go-код в WebAssembly, как TinyGo, но с иным подходом к архитектуре.

- Сообщество уже спорит, сможет ли он быть быстрее официального Go-компилятора (сомнительно, но Rust даёт шанс на более безопасные оптимизации).


Репа
https://github.com/raphamorim/goiaba

Обсуждение на HN
https://news.ycombinator.com/item?id=45529748
💊36🤣10👍7🤡3🔥2😁1
Build failure: tinycc, cdimgtools, docutils and other packages using fetchFromRepoOrCz cannot download sources from the UK #444342
https://github.com/NixOS/nixpkgs/issues/444342

> Unfortunately, the site blocks connections from the UK due to the Online Safety act and redirects all requests to https://repo.or.cz/uk-blocked.html
🤣34😁7😢31🔥1
Forwarded from sad dev diary
😁86💊93🌚1
‼️Срочно! Нужна помощь в Кибер-музее ‼️
ЧП. Пожар в здании. От пожара музей не пострадал, но от тушения сильно.
Нужна срочная помощь всех, кто может помочь в пределах часа! Предстоит ночная работа по устранению потока воды.
Что нужно с собой:
- сапоги
- фонарик
- куртка
Если вы рядом и можете помочь - это критически важно!
😱44😢8😁6🫡3🌚2🥱1
Дурова разорили на миллионы долларов из-за краха крипты. В момент обвала рынка в системе Fragment сломалась привязка курса Stars — валюта продавалась со скидкой до 80%. В итоге некоторые пользователи успели закупить миллионы «звёзд» буквально за копейки.

https://www.tg-me.com/banki_oil/37811

Анекдот есть такой

Рабинович продаёт на Привозе арбузы под табличкой "Один арбуз - 3 рубля. Три арбуза - 10 рублей".

Подходит мужик и покупает арбуз за три рубля, потом ещё один арбуз по три рубля, потом ещё один арбуз по три рубля - и на прощанье разостно говорит Рабиновичу:

— Смотри, я купил три арбуза, а заплатил только 9 рублей! Не умеешь торговать!

Рабинович смотрит ему вслед:

— И вот так всегда - берут по три арбуза вместо одного, а потом учат меня коммерции...
😁9710🤣9🥰3👍2🔥1👏1
PEP 810: Explicit lazy imports

На обсуждение вышел новый PEP, который предлагает добавить в Python 3.15 новый вид импортов.

https://peps.python.org/pep-0810/


lazy import json
lazy from json import dumps


Как будет работать?

Импорты не будут подгружаться до момента первого обращения к объекту.


import sys

lazy import json

print('json' in sys.modules) # Модуля еще нет

# Загрузка начинается вот тут:
result = json.dumps({"hello": "world"})

print('json' in sys.modules) # Теперь он загружен


Зачем?

- Быстрее загружать модули
- Позволит убрать много импортов из функций / методов
- Позволит убрать if TYPE_CHECKING: import some_module, было множество предложений по добавлению import type конструкции, пример: https://discuss.python.org/t/type-only-imports/96755
- Позволит решать циклические импорты
- Убирает необходимость в LazyLoader и страшных вещей вроде https://scientific-python.org/specs/spec-0001

Детали реализации

Планируется добавить:
- Функцию __lazy_import__ (аналог __import__ для импорта )
- Специальный атрибут на уровне модуля __lazy_modules__, где будут храниться ленивые импорты текущего модуля
- types.LazyImportType как тип нового "ленивого" модуля (аналог `types.ModuleType`)
- sys.lazy_modules для списка ленивых модулей глобально
- sys.set_lazy_imports_filter для глобальных настроек импортов, что? 🤯
- Байткод IMPORT_NAME получит флаг, является ли импорт ленивым
- Ошибки в именах модулей тоже будут ленивыми https://peps.python.org/pep-0810/#reification

Из забавного: import * не будет доступен в lazy режиме.


# SyntaxError: lazy from ... import * is not allowed
lazy from json import *


Реализация: https://github.com/LazyImportsCabal/cpython/tree/lazy

Обсуждение: как вам?

Бонус: меня тут в комментах спрашивают, куда я пропал. Я пропал в опенсорсе, пилю django-modern-rest. Простую и удобную библиотеку для REST API в Django. Пока на стадии pre-alpha, но уже скоро будет первый релиз. Можно уже ставить , чтобы потом всем говорить, что первыми узнали про новую модную штуку!

https://github.com/wemake-services/django-modern-rest

| Поддержать | YouTube | GitHub | Чат |
👍18💊8👎6🔥1
В одном из чатов обратили внимание на доклад с FOSDEM 2025 - "Nubo: the French government sovereign cloud"

Доклад про то как Франция на open source строила своё суверенное облако для государственных органов

As geopolitical tensions increase, the need for digital sovereignty pushes governments and organizations to adopt open source solutions to provide computing infrastructure.

Nubo is the inter-ministerial cloud of the French State, built by the Public Finance General Directorate (DGFiP) and powered by free and open source software, including OpenStack. In this presentation, Louis Vigneras and Thierry Carrez will explain why open infrastructure software is needed today more than ever, and retrace the journey of DGFiP into adopting those technologies.


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

Запись доклада (прикрепил к посту)
https://mirrors.dotsrc.org/fosdem/2025/aw1126/fosdem-2025-6234-nubo-the-french-government-sovereign-cloud.mp4

Но весь доклад не мог никак оторваться от нижнего правого угла (смотрите скриншот) 🌝

Предыдущий пост про FOSDEM 2025
https://www.tg-me.com/tech_b0lt_Genona/4988
😁36🍾102
This media is not supported in your browser
VIEW IN TELEGRAM
Помните я писал про тупость идеи делать мобильный номер "уникальным идентификатором"?
https://www.tg-me.com/tech_b0lt_Genona/4953
https://www.tg-me.com/tech_b0lt_Genona/5082

Вот продолжение серии. В этот раз отличился "Мираторг". Если в меню программы лояльности ввести номер телефона, то касса самообслуживания выдаст всю информацию о нём. Так можно узнать номер карты, сумму на счёте и ФИО.

Понятно, что тут проблема реализации, так как не требуется подтверждение запроса, например, через СМС, но сам факт 🌝

UPD: Первоисточник видео - https://www.tg-me.com/datasecuri/318
😁56😱13🤡12🌚32
Media is too big
VIEW IN TELEGRAM
Регулярная, но немного подзабытая рубрика "Пятница!" 🌝

Давние подписчики знают, что я являюсь любителем серии "Heroes of Might and Magic"

Здесь достаточно подробно расписал своё отношение к разным частям тут
https://www.tg-me.com/tech_b0lt_Genona/4617

Там же я писал про анонс Heroes of Might and Magic: Olden Era

И вот недавно выкатили бесплатную демку
https://store.steampowered.com/app/3105440/Heroes_of_Might_and_Magic_Olden_Era/

Так как я Steam не пользую, то играл в новую версию ещё из "зелёного магазина" (запускается под wine, кстати).

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

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

В целом это "Герои 8", которые многие механики взяли из классических "Героев 3". Пусть понятный с коммерческой точки зрения.

А ещё хочется поделиться мыслями @nikitonsky, который написал два больших поста про UX (я слегка цитат наброшу, остальное по ссылкам)

> Самый большой прокол это экран итогов битвы. Ты подрался (или автобой просимулировал битву) и тебе показывают окно, сколько юнитов ты потерял. Все логично. Но! Вместо того, чтобы показать потери, тебе показывают изначальный состав армии. Начал бой с сотней эльфов? Покажут эльфы — сто. Зачем мне эта информация? Неясно.

> И только потом, спустя заметную задержку (несколько секунд, буквально), поверх изначального состава появляются потери. Типа, минус десять эльфов. Но несколько секунд — это вечность! Если тебе правда интересны итоги, никакого терпения не хватит их дождаться.

> Остальное менее брутально, из интересного — кнопка завершения хода. Ее придумали, кажется, еще в Нивале в пятых Героях, потом утащили в Цивилизацию (или наоборот), короче, справа внизу есть огромная такая кнопища «закончить ход». Все классно, все нормально.
Проблема в том, что когда ты заходишь в город, эта кнопка меняет свою функцию. Вместо «закончить ход» она начинает работать как «выйти из города». Это а-я-яй! Так нельзя. Нельзя сначала приучать пользователя к кнопке, а потом менять ее функцию.

> в городе можно построить что-то около двух десятков разных зданий, но они разблокируются постепенно: одни зависят от других.
Решение в лоб? Нарисовать весь этот граф зависимостей явно, прям вывалить его на пользователя как есть. Со всеми стрелочками. Так, в общем-то, и сделали.
Проблемы? Это выглядит устрашающе. Как запутанная диаграмма классов. Спасибо, мне UML-я и на работе хватает.

> Мне поэтому нравился экран построек в третьих — зависимости спрятаны в тултипах, но если приспичило что-то построить, идешь и читаешь, что для этого нужно.

> Нет возможности рассмотреть артефакты, когда их подбираешь/получаешь за битву. Камон, это же главный кайф игры — смотреть и изучать награду!


https://www.tg-me.com/nikitonsky_pub/931
https://www.tg-me.com/nikitonsky_pub/932

Всем хороших выходных! ❤️
🤝92❤‍🔥1👎1
Подписчик и просто хороший человек мне годноту принёс, за что ему большое спасибо

Пост огромный, но он просто прекрасен. Всем рекомендую.

Bar is sooooooooo high
https://nekrolm.github.io/blog.html

17 октября 2022 я вышел на работу в офис Amazon Web Services в Лондоне
17 октября 2025 мой последний день в Amazon Web Services

Есть много причин почему я решил покинуть AWS:

- Компенсация в сравнении с рынком
- Return-to-office на 5 дней
- Бесконечные согласования
- Отчаянные попытки сделать что-то хорошо
- Онколлы
- Разочарование в проектах
- Стресс

И вот последняя причина стала решающей.
. . .
За 3 года работы в AWS я заработал себе чудовищный стрессовый кашель, от которого меня иногда складывало пополам и рвало. Я долго не понимал причины этого кашля -- ходил по врачам, потратил на них всю годовую квоту страховки. Врачи и исследования отсекли респираторную и гастрологическую причину, оставив меня с одной -- стрессовой.
. . .
Особенный восторг наступает тогда, когда тикет действительно подсвечивает какую-то проблему, которую можно решить только изменением в коде -- хотфикс.

Хотфикс очень быстро пройдет ревью. Мы его впихнем в пайплайн... И он поедет по пайплайну в течение нескольких месяцев. И все это время тебя регулярно с разных сторон будут дергать:

- А у нас есть ожидаемое время доставки фикса?
- А фикс уже доехал?
- А пользователь все еще in pain!
. . .
GenAI истерия совершенно неадекватная

- От почти всех проектов хотят видеть GenAI, в каком угодно виде
- Внутренний хакатон? Надо GenAI приплести. Без этого оценивать не будут
- А вот вам еще KPI на использования GenAI в работе. Вы отстаете!
. . .
В какой-то момент я уже просто не мог писать никакой код, кроме уж чего-то совсем небольшого. Любое хоть сколько-нибудь серьезное изменение больше 10 строчек потребует раунды:

- Долгого пинания ревьюеров с 8ми часовой разницей во времени
- Сомнений от всех подряд, а точно ли XXXX?
Написания бесконечных документов для аппрува тестирования на живом трафике, ведь экспериментального недостаточно
- Еще бесконечных обсуждений дополнительных мониторов, алармов и килл-свитчей
- И потом еще регулярного отслеживания, как оно там едет через пайплайны, которые могут стоять месяцами
. . .
Я почти уверен что все связанное с процессами релизов и проработки фич применимо не только к Амазону. Так что от любых как-либо связанный с SRE (Site Releability Engineer) позиций я буду держаться как можно дальше.
🔥348😱7💔4🥰1😁1🥱1
Вчера выкладывал скрин со "сливом" из MAX

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

Если резюмировать всю эту историю
- Никакого слива 1000500 пользователей из MAX не было
- Это похоже на какие-то нагенерённые/вымышленные данные
- То что пост на форуме был опубликован "непонятно кем" это нормально, те кто там комментарии оставлял вообще новореги
- По поводу Salesforce. Много кто "ушёл" в 2022 году, но по факту не ушёл
- Ввиду пунктов выше странным смотрятся сообщения людей про то что кто-то что-то нашёл
😁184🤡4👍3👎1
2025/10/27 05:42:05
Back to Top
HTML Embed Code: