fa
Feedback
Код и Капуста

Код и Капуста

رفتن به کانال در Telegram

Авторский канал с интересными ссылками про разработку на Go, Rust, Godot, Flutter, Android, iOS, Aurora. Все ссылки тут https://kodikapusta.ru/ Читать канал в max https://vk.cc/cVOWSP Для связи @akovardin Поддержать канал https://boosty.to/kodikapusta

نمایش بیشتر
1 666
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-27 روز
-1530 روز
جذب مشترکین
سپتامبر '26
سپتامبر '26
+12
در 1 کانال‌ها
اوت '26
+31
در 1 کانال‌ها
Get PRO
ژوئیه '26
+44
در 2 کانال‌ها
Get PRO
ژوئن '26
+66
در 1 کانال‌ها
Get PRO
مه '26
+31
در 1 کانال‌ها
Get PRO
آوریل '26
+42
در 2 کانال‌ها
Get PRO
مارس '26
+33
در 2 کانال‌ها
Get PRO
فوریه '26
+54
در 2 کانال‌ها
Get PRO
ژانویه '26
+36
در 1 کانال‌ها
Get PRO
دسامبر '25
+43
در 2 کانال‌ها
Get PRO
نوامبر '25
+41
در 2 کانال‌ها
Get PRO
اکتبر '25
+54
در 1 کانال‌ها
Get PRO
سپتامبر '25
+36
در 2 کانال‌ها
Get PRO
اوت '25
+34
در 3 کانال‌ها
Get PRO
ژوئیه '25
+42
در 2 کانال‌ها
Get PRO
ژوئن '25
+39
در 2 کانال‌ها
Get PRO
مه '25
+111
در 5 کانال‌ها
Get PRO
آوریل '25
+55
در 1 کانال‌ها
Get PRO
مارس '25
+72
در 2 کانال‌ها
Get PRO
فوریه '25
+62
در 1 کانال‌ها
Get PRO
ژانویه '25
+73
در 3 کانال‌ها
Get PRO
دسامبر '24
+37
در 1 کانال‌ها
Get PRO
نوامبر '24
+53
در 1 کانال‌ها
Get PRO
اکتبر '24
+75
در 2 کانال‌ها
Get PRO
سپتامبر '24
+96
در 2 کانال‌ها
Get PRO
اوت '24
+75
در 2 کانال‌ها
Get PRO
ژوئیه '24
+57
در 4 کانال‌ها
Get PRO
ژوئن '24
+41
در 3 کانال‌ها
Get PRO
مه '24
+33
در 2 کانال‌ها
Get PRO
آوریل '24
+46
در 2 کانال‌ها
Get PRO
مارس '24
+41
در 1 کانال‌ها
Get PRO
فوریه '24
+38
در 2 کانال‌ها
Get PRO
ژانویه '24
+70
در 2 کانال‌ها
Get PRO
دسامبر '23
+57
در 2 کانال‌ها
Get PRO
نوامبر '23
+68
در 3 کانال‌ها
Get PRO
اکتبر '23
+30
در 4 کانال‌ها
Get PRO
سپتامبر '23
+6
در 0 کانال‌ها
Get PRO
اوت '23
+5
در 0 کانال‌ها
Get PRO
ژوئیه '23
+26
در 0 کانال‌ها
Get PRO
ژوئن '23
+25
در 0 کانال‌ها
Get PRO
مه '23
+42
در 0 کانال‌ها
Get PRO
آوریل '23
+27
در 0 کانال‌ها
Get PRO
مارس '23
+62
در 0 کانال‌ها
Get PRO
فوریه '23
+38
در 0 کانال‌ها
Get PRO
ژانویه '23
+76
در 0 کانال‌ها
Get PRO
دسامبر '22
+42
در 0 کانال‌ها
Get PRO
نوامبر '22
+31
در 0 کانال‌ها
Get PRO
اکتبر '22
+49
در 0 کانال‌ها
Get PRO
سپتامبر '22
+31
در 0 کانال‌ها
Get PRO
اوت '22
+21
در 0 کانال‌ها
Get PRO
ژوئیه '22
+9
در 0 کانال‌ها
Get PRO
ژوئن '22
+32
در 0 کانال‌ها
Get PRO
مه '22
+16
در 0 کانال‌ها
Get PRO
آوریل '22
+223
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
27 سپتامبر0
26 سپتامبر0
25 سپتامبر0
24 سپتامبر0
23 سپتامبر0
22 سپتامبر0
21 سپتامبر+1
20 سپتامبر0
19 سپتامبر0
18 سپتامبر0
17 سپتامبر+1
16 سپتامبر0
15 سپتامبر+1
14 سپتامبر0
13 سپتامبر0
12 سپتامبر+1
11 سپتامبر0
10 سپتامبر+1
09 سپتامبر+1
08 سپتامبر+3
07 سپتامبر+1
06 سپتامبر0
05 سپتامبر+1
04 سپتامبر0
03 سپتامبر+1
02 سپتامبر0
01 سپتامبر0
پست‌های کانال
Еще неделя прошла - ии пока не заменил. Буду держать вас в курсе

2
Робоутка #rust Microduck от Pollen Robotics - это открытый репозиторий "мозга" крошечного двуногого робота-утенка, который хо
Робоутка #rust Microduck от Pollen Robotics - это открытый репозиторий "мозга" крошечного двуногого робота-утенка, который ходит, катается на колесах, ходит, поднимает предметы, встает после падения и крякает, используя обучение с подкреплением. Все работает на одноплатном компьютере Rockchip RK3566 и на Rust https://kodikapusta.ru/news/1217-roboutka Поддержать проект на boosty и читать в MAX
288
3
Rune #golang Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. Под капотом - GPU-ускорение, собс
Rune #golang Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. Под капотом - GPU-ускорение, собственный терминал, REPL и расширяемое ядро, которое общается с расширениями по gRPC. Поддерживается, конечно, Go, а еще Rust и Zig. И еще у них появилась необычная программа вознаграждения контрибьюторов. Контрибьюторы сохраняют авторские права, а часть выручки компании пойдет в общий пул, распределяемый по прозрачному и публично проверяемому реестру вкладов. При этом участие в программе опционально. Возможно, я даже попробую слезть с VS Code и наконец-то начать пользоваться хоткеями А как она шикарно запускается! https://kodikapusta.ru/news/1216-rune Поддержать проект на boosty и читать в MAX
814
4
Специализированные аллокаторы #golang В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 байт. Алло
Специализированные аллокаторы #golang В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 байт. Аллокации ускоряются на 20–30%, а приложения с интенсивным выделением памяти - до 1%. Идея в том, что рантайм генерирует специализированные версии функции mallocgc для каждого span-класса, что позволяет компилятору не вычислять класс во время выполнения. Наибольший выигрыш получают самые частые размеры - 16 и 24 байта. Например это интерфейсы, строки из двух слов и слайсы из трех https://kodikapusta.ru/news/1215-spetsializirovannye-allokatory Поддержать проект на boosty и читать в MAX
372
5
Реверс самоката #rust Автор занимается реверс-инжинирингом своего электросамоката. Через Bluetooth-приложение и осциллограф о
Реверс самоката #rust Автор занимается реверс-инжинирингом своего электросамоката. Через Bluetooth-приложение и осциллограф он обнаруживает скрытую шину CAN на разъеме USB-C дисплея, снимает ее трафик с помощью самодельного логгера на ESP32 и расшифровывает сообщения, управляющие мотором, режимами езды и фарами, а также выясняет, что самокат тайно отправляет производителю телеметрию (пробег, историю зарядок и т.д.). Он разбирает контроллер и дисплей, через SWD-порт дампит прошивки, анализирует их в Ghidra и заливает собственный код на Rust на самокат Получается, переписал самокат на Rust? https://kodikapusta.ru/news/1214-revers-samokata Поддержать проект на boosty и читать в MAX
424
6
А такая шутка раньше была
А такая шутка раньше была
439
7
Связанные списки #learn Статья объясняет, что такое интрузивные связные списки - вариант списков, в котором узлы связи встрое
Связанные списки #learn Статья объясняет, что такое интрузивные связные списки - вариант списков, в котором узлы связи встроены прямо в связываемую структуру, а не выделяются отдельно, поэтому для доступа к содержащему объекту используется арифметика указателей: адрес узла минус смещение поля. По сравнению с обычными списками это дает два преимущества: вдвое меньше аллокаций памяти (не нужен отдельный узел списка) и меньше промахов кэша, так как при обходе разыменовывается только следующий узел, а не узел плюс данные https://kodikapusta.ru/news/1211-sviazannye-spiski Поддержать проект на boosty и читать в MAX
429
8
Шейдеры на ebiten #gamedev #golang Практический разбор пиксельных шейдеров в игровом движке Ebitengine для Go, где шейдеры пи
Шейдеры на ebiten #gamedev #golang Практический разбор пиксельных шейдеров в игровом движке Ebitengine для Go, где шейдеры пишутся на языке Kage, который транслируется в GLSL/HLSL. Автор на примерах из своих игр Roboden и Decipherism показывает пять типичных задач. Наложение маски урона для зданий, эффект "дрожащих" пикселей для рукописного шрифта, ретро-CRT-эффект терминала с глитчами, зацикленную анимацию текстур и эффект постройки здания. Дополнительно автор объясняет основы Kage. Рассказывает про функцию Fragment(), работу с текселями и пикселями, uniform-параметры, встроенные функции вроде imageSrc0At() и подключение шейдера через DrawRectShader() вместо DrawImage() Ну красиво же https://kodikapusta.ru/news/1213-sheidery-na-ebiten Поддержать проект на boosty и читать в MAX
586
9
И с 256 днем в году
И с 256 днем в году
545
10
QCRACK.EXE #fun Как раз закончил перечитывать книгу "Повелители DOOM" а тут интересная статья про id Software В 1996 году id
QCRACK.EXE #fun Как раз закончил перечитывать книгу "Повелители DOOM" а тут интересная статья про id Software В 1996 году id Software выпустила шареваре версию Quake на CD-ROM за $9.95. Но на самом деле на этом диске бесплатная игра занимала лишь 22 МБ, тут же лежали зашифрованные версии всего своего каталога, которые можно было разблокировать по телефону - позвонив по номеру 800, назвав код CHALLENGE и получив серийник. Идея казалась надежной как швейцарские часы. Но через 39 дней хакерская группа GNOMON выпустила QCRACK.EXE, который генерировал серийник автоматически. Оказалось, что серийный номер не содержал никакого секрета, а программа FLOW.EXE на самом CD умела вычислять его сама и просто сверяла с введенным пользователем. Это было провальное издание - почти 150 000 дисков застряли на складах. Кстати, автор статьи - Fabien Sanglard. Это оч крутой чувак и в его блоге много про внутрянку DOOM и Quake https://kodikapusta.ru/news/1212-qcrack-exe Поддержать проект на boosty и читать в MAX
551
11
Как построить Diffusion Language Model #ai Это, по сути, введение в диффузионные языковые модели, альтернативу авторегрессивн
Как построить Diffusion Language Model #ai Это, по сути, введение в диффузионные языковые модели, альтернативу авторегрессивным LLM, которые генерируют текст по токену слева направо. Вместо этого диффузия создает сразу всю последовательность и итеративно "денойзит" ее. Такой подход дает исправление ошибок, возможность менять скорость за счет числа шагов и двунаправленный контекст Статья разбирает строительные блоки современных моделей - блочную диффузию для переменной длины, энкодер-декодер архитектуру, ремаскинг для исправления ошибок, дистилляцию для ускорения, контролируемую генерацию и постобучение. Автор описывает реальные модели вроде Mercury 2, Gemma Diffusion, Nemotron Diffusion https://kodikapusta.ru/news/1210-kak-postroit-diffusion-language-model Поддержать проект на boosty и читать в MAX
474
12
Портирование на Godot с помощью LLM #gamedev #godot Автор описывает, как портировал свою игру Babylonian Twins 1993 года, нап
Портирование на Godot с помощью LLM #gamedev #godot Автор описывает, как портировал свою игру Babylonian Twins 1993 года, написанную на 68000 ассемблере для Amiga 500, под Godot с помощью LLM. Использовал Claude Fable 5 LLM сумел не только перенести его собственный C++-движок года в Godot за один вечер, но и разобрать оригинальные 72 758 строк ассемблера без комментариев: собрать их заново до байтовой идентичности с выпущенными бинарниками, восстановить все форматы данных и даже запустить его же редактор карт 1993 года в эмуляторе. Конечно, без ошибок не обошлось. Например, "охрана" поражала игрока через сплошную скалу из-за неправильных проверок, а двери оказались нарисованными кодом в рантайме, а не зашитыми в карту. Автор подчеркивает, что LLM сам делал всю техническую работу, а он лишь тестировал и принимал решения https://kodikapusta.ru/news/1209-portirovanie-na-godot-s-pomoshch-iu-llm Поддержать проект на boosty и читать в MAX
467
13
Агенты лучше нас #ai Автор утверждает, что оптимизация производительности перестала быть дорогой специализацией LLM-агенты на
Агенты лучше нас #ai Автор утверждает, что оптимизация производительности перестала быть дорогой специализацией LLM-агенты настолько удешевили сложную работу, что ее может делать любой, кто способен набрать несколько предложений. Он приводит примеры: свой regex-движок FRE, который агент за пару минут ускорил под реальные запросы и игровой ИИ для Azul, который стал сильнейшим в мире при сравнительно небольших затратах Он считает, что будущее за "динамическим кастомным софтом", подогнанным под конкретную рабочую нагрузку https://kodikapusta.ru/news/1207-agenty-luchshe-nas Поддержать проект на boosty и читать в MAX
539
14
Прокси для базы данных #golang Автор пишет простой такой прокси на Go в учебных целях вдохновившись статьей Figma о том, как
Прокси для базы данных #golang Автор пишет простой такой прокси на Go в учебных целях вдохновившись статьей Figma о том, как их команда баз данных построила DBProxy для перехвата SQL-запросов и маршрутизации их по разным узлам Postgres. Он реализует проксирование TCP-соединений между клиентом и MySQL: перехватывает пакеты, находит команду COM_QUERY по структуре пакета MySQL и переписывает имя таблицы. В статье объясняется структура MySQL-пакета и демонстрируются базовые принципы, на которых строятся настоящие решения для шардинга, валидации запросов, безопасности и наблюдаемости https://kodikapusta.ru/news/1208-proksi-dlia-bazy-dannykh Поддержать проект на boosty и читать в MAX
1 441
15
У нас отмена! #golang Статья разбирает, как пакет singleflight в Go предотвращает лавину запросов к кэшу. Он прекрасно схлопы
У нас отмена! #golang Статья разбирает, как пакет singleflight в Go предотвращает лавину запросов к кэшу. Он прекрасно схлопывает одинаковые запросы в одну операцию, но есть нюансы Автор на примере IsleDB показывает "ловушку контекста первого вызывающего": если фетч использует контекст лидера, тот может отменить операцию для всех, а если контекст отсоединен, то хрен сделаешь грейсфул шатдаун. В итоге автор строит собственный протокол конкурентности с тремя гарантиями - каждый вызывающий может независимо прекратить ожидание, общая операция отменяется при уходе последнего ждущего, а гатдаун отклоняет новые вызовы, отменяет активную работу и ждет остановки всех воркеров https://kodikapusta.ru/news/1197-u-nas-otmena Поддержать проект на boosty и читать в MAX
1 464
16
Офис на заднем дворе #fun Чувак делится опытом постройки офиса на заднем дворе. Проект обошёлся примерно в $19 478, что вдвое
Офис на заднем дворе #fun Чувак делится опытом постройки офиса на заднем дворе. Проект обошёлся примерно в $19 478, что вдвое-втрое дешевле готового решения или найма строительной компании. Автор рекомендует ставить больше розеток, чем кажется необходимым, тщательно продумывать ориентацию и расположение окон, а также следить за уровнем CO₂ в герметичном помещении. У меня будет такой же офис https://kodikapusta.ru/news/1205-ofis-na-zadnem-dvore Поддержать проект на boosty и читать в MAX
546
17
учите С - https://www.youtube.com/watch?v=vhgI_F-WMwA
548
18
DDD во времена AI #golang #ai Статья утверждает, что с ростом AI-кодинга идеи Domain-Driven Design становятся еще актуальнее
DDD во времена AI #golang #ai Статья утверждает, что с ростом AI-кодинга идеи Domain-Driven Design становятся еще актуальнее DDD никогда не был строго про код - главная сложность всегда заключалась в понимании предметной области и ее моделировании. Автор подчеркивает, что доменная модель - это не артефакт. Даже если ИИ-агент сгенерирует внушительный документ или план, это не поможет команде понять бизнес-задачу, а ценность knowledge crunching в том, чтобы самому разобраться в домене и уметь судить, осмысленен ли результат агента. Полностью пожжерживаю автора в этом Он советует проектировать решение командой до написания кода, использовать ограниченные контексты для точных имен и точных промптов, а не делегировать мышление ИИ. Иначе некому будет оценить корректность результата. Даже если весь код пишет ИИ, инженеру нужно глубоко знать домен, чтобы направлять агента, как напарника. Аминь https://kodikapusta.ru/news/1202-ddd-vo-vremena-ai Поддержать проект на boosty и читать в MAX
540
19
TUIOS #golang #fun Современный терминальный мультиплексор и оконный менеджер, написанный на Go, с vim-подобным модальным инте
TUIOS #golang #fun Современный терминальный мультиплексор и оконный менеджер, написанный на Go, с vim-подобным модальным интерфейсом, несколькими панелями, 9 воркспейсами, BSP-тайлингом, поддержкой kitty graphics protocol и командной палитрой - все внутри существующего терминала. Построен на Charm-стеке Ну это прикольно https://kodikapusta.ru/tools/55-tuios Поддержать проект на boosty и читать в MAX
690
20
Введение в Racket #lang Нового языка на сегодня нет, но есть интересный вариант лиспа - Racket. К лиспам я вобще с трепетом о
Введение в Racket #lang Нового языка на сегодня нет, но есть интересный вариант лиспа - Racket. К лиспам я вобще с трепетом отношусь, но никак не хватает времени со всем разобраться Это дружелюбное введение в язык Racket для начинающих. Статья кратко излагает историю: от Лиспа 1958 года и Джона Маккарти через Scheme 1975 к Racket 2010. Автор отмечает, что многие "современные" идеи - сборка мусора, функции первого класса, REPL, условные выражения гомоиконность - родились именно в Лиспе. Racket - "язык для создания языков", где синтаксис принадлежит программисту https://kodikapusta.ru/news/1206-vvedenie-v-racket Поддержать проект на boosty и читать в MAX
475