Код в мешке
رفتن به کانال در Telegram
Код в мешке - про кодинг, и не только... Это личная записная книжка https://t.me/joinchat/AAAAAEIy6oGlr8oxqTMS5w
نمایش بیشتر262
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-27 روز
+730 روز
آرشیو پست ها
262
Точечное внедрение Linux на производстве: опыт одного начальника склада #habr
https://habr.com/ru/articles/1076338/
Tags: linux, linux mint 22, ubuntu server, xfce, cups, sane, личный опыт, импортозамещение, миграция на linux, системное администрирование
Author: IvZv
262
Как я собираю систему в Obsidian под конкретного человека: матрица болей вместо чужого шаблона #habr
https://habr.com/ru/articles/1076332/
Tags: obsidian, PKM, personal knowledge management, second brain, второй мозг, база знаний, продуктивность, менеджмент
Author: psheno322
262
Стоимость лида растёт: 3 причины, почему онлайн-сервису мало одной рекламы #habr
https://habr.com/ru/articles/1076330/
Tags: узнаваемость бренда saas, бренд маркетинг saas, реклама и узнаваемость, performance и бренд, рост стоимости лида, почему растет cpl, бренд против перформанса, маркетинг бренда saas, узнаваемость онлайн сервиса, охватный маркетинг saas
Author: Saitcraft77
262
Как ИИ снижает риски несчастных случаев #habr
https://habr.com/ru/articles/1076328/
Tags: ии, стройка
Author: Arkadiy_Froym
262
Repost from Типичный программист
PayPal перестал запускаться на защищённом Android и решил, что телефон взломан
Пользователи Pixel с GrapheneOS обновили PayPal до 10.10.0 и получили падение на старте:
RootDetectionSecurityException: Security policy violation: s=root. Root на этих телефонах отсутствует — GrapheneOS его не поддерживает, а Play Services там настоящие. Детектор принял за взлом усиленную защиту самой операционной системы. Тред на Hacker News собрал 226 комментариев за 7 часов.
Механика такая: защита от вскрытия в приложении сама подгружает код динамически, ужесточённая ОС это блокирует, и детектор делает вывод, что его пытаются вскрыть. Приложение оживает, если в настройках GrapheneOS для PayPal выключить Secure app spawning или разрешить динамическую загрузку кода.
Если вы пишете приложение с проверкой на root, это повод прогнать её на телефоне с защитой строже стоковой.
В нашем канале «Представляешь,» разобрали случай подробнее.
#безопасность262
Repost from Типичный программист
Достаточно слуха о баге, чтобы получить рабочий эксплойт
Анил Мадхавапедди сопровождает
cohttp, HTTP-библиотеку для OCaml. Он открыл публичный PR с исправлением обхода каталога — и через десять минут в логах его собственного сервера пошли запросы ровно той формы, которую этот PR чинил.
До этого он натравил на код своего агента: Claude отказался из-за защит, DeepSeek V4 Pro нашёл несколько связанных дыр и собрал рабочий эксплойт против локального сервера меньше чем за минуту.
Цифры: агент на GPT-4 в работе Фана и соавторов эксплуатировал 87% бенчмарка из 15 уязвимостей, когда получал описание CVE, и 7% без него. Среднее время до эксплуатации, по VulnCheck, было 63 дня в 2018–2019 годах, сейчас — минус семь дней. У marimo от бюллетеня до первой попытки прошло 9 часов, у Langflow — 20.
Вывод Анила: эмбарго защищает уже не тех. Утекает направление поиска — вопрос в рассылке, странный коммит, — и агенту этого хватает. Разбор целиком.
#безопасность262
Repost from Типичный программист
Интерпретатор BASIC, которому не нужна операционная система
Thoreau BASIC запускается как приложение UEFI: компьютер стартует и попадает не в Windows и не в Linux, а сразу в интерпретатор. Файлы он читает и пишет через UEFI Simple File System — то есть работает на голом железе, без ядра под собой. Весь загрузочный
BASIC64.efi весит около 95 КБ.
Внутри при этом не игрушка: 24-битный цвет, числа с плавающей точкой, файловые операции. В версии 1.1 автор ускорил интерпретатор так, что множество Мандельброта, которое считалось примерно 230 секунд, стало считаться за 9. Небольшой фрактал укладывается меньше чем в секунду, «Жизнь» Конвея идёт примерно на 25 поколениях в секунду.
Проще всего попробовать в виртуальной машине: файлы и описание в девлоге автора.262
Repost from Типичный программист
Почему агент «тупит» чаще из-за обвязки, чем из-за модели
В нашем Нейроканале разобрали harness engineering: всё, что вокруг модели в Claude Code или Codex, называется harness, и именно его настраивают, когда результат не устраивает. Два типа контролей: guides до действия (AGENTS․md, skills, скрипты) и sensors после (тесты, линтеры, ревью другим агентом), плюс правило «ошибка повторилась дважды — добавь контроль, а не чини руками».
Полный разбор с примерами, что в какую категорию класть.
262
Repost from Типичный программист
Игру для Nintendo 64 декомпилировали за 84 дня вместо 596. ИИ-агенты помогли, но заслуга не только их
Крис Льюис восстановил исходники Snowboard Kids из ROM: для всех 2 145 функций написан C-код, который компилируется в байт-в-байт тот же машинный код. Сиквел он разбирал 596 дней, первую часть закончил за 84. Откуда взялась семикратная скорость, автор разбирает честно, без «это всё ИИ».
Агенты в четырёх git worktree параллельно матчили функции, уверенно закрывали библиотечный
libultra и вели файл DECOMPILATION_LEARNINGS․md с причудами компилятора для следующих запусков. Codex стабильно обгонял Claude, GLM 5.2 автор бросил из-за задержек.
Но игра собрана проприетарным SGI IDO 5.3, который перекраивает код в несколько проходов: мелкая правка C меняет распределение регистров. Здесь буксовали и человек, и модели, около 4,8% матчей вытянули эксперты сообщества. Pilotwings 64 люди декомпилировали за 74 дня без агентов.
Автор разбирает вклад каждого фактора.
#ии262
Repost from Типичный программист
Писать код и делать софт — разные работы. ИИ сделал разницу заметной
Эссе, которое сегодня разбирают на Hacker News, начинается с простого наблюдения: мы путаем «написать код» с «построить систему». Первое — перевести идею в инструкции для машины, и здесь ИИ уже отличный исполнитель. Второе — решить, какие инструкции вообще должны существовать, как они связаны, что стоит каждое решение и как система переживёт следующие пять лет.
Пример автора: «нужно обрабатывать входящие события и обновлять данные». Синхронно или через очередь? Ровно один раз или хотя бы один? Что делать, если потребитель лежал три часа? Важен ли порядок? Ни один из этих вопросов не про синтаксис, и у одной задачи есть N правильных ответов: для компании с 500 пользователями и тремя инженерами и для компании с 20 млн и двумястами инженерами «одинаковая фича» проектируется по-разному.
Главный тезис: каждая оптимизация тратит сложность где-то ещё. Кеш даёт задержку и забирает инвалидацией, микросервисы дают независимые деплои и приносят распределённые отказы. Работа инженера — решать, где сложности место. Спросить у модели «нужна ли нам очередь» можно, ответ будет; но ответ не равен решённой задаче, потому что контекст живёт в инцидентах трёхлетней давности, бюджете и привычках команды, а не в промпте.
Полный текст с десятью принципами алгоритмического мышления. Согласны, что ИИ делает архитектурное мышление важнее, а не наоборот?
#обсуждение
262
Repost from Типичный программист
Разработчик собрал agent.md, который приучает ИИ писать чистый код
Если у вас ещё нет готового свода правил для агентов и вам приходится каждый раз им напоминать о каких-то базовых вещах, то пост для вас. Автор этого набора правил собрал всё компактно и по делу, чтобы избавиться от спагетти-кода, плохой документации, излишней вложенности и прочих излюбленных «фишек» ИИ.
Забирайте себе как есть или только нужные пункты:
# FAB's AGENT.MD - When writing something intended for human consumption, (comment, commit message, reply to prompt) use as few words as possible. Pick every word meticulously to reduce the volume to a strict minimum. Be down to the point. Less is more. - Avoid superlatives and praise. Stop telling me I am absolutely right. Give me the cold hard truth. - Avoid magic numbers and strings by extracting recurring or meaningful values into descriptive constants (const) or enums. Keep self-explanatory, one-off values inline to avoid clutter. If a value comes from a spec (e.g. HTTP 200 OK), use a constant regardless. - Reduce code indentation. Avoid Arrow Anti-Pattern. Leverage early return and continue. - Keep function names short. Less than 30 characters. - Use enums instead of booleans for function parameters. - Let the reader of the code breathe. Add empty lines between logical blocks of code. - Add a small, to the point, comment to explain *what* the block does and *why*. Use examples when possible. Propose ASCII drawings to explain complete systems. - Treat member visibility changes as a breaking design shift. Keep all fields and functions private unless external access is strictly required by the design. Prompt the user for explicit approval before changing any access modifier from private to internal or public. - Program to levels of abstraction. Lower-level mechanics (e.g., raw hardware I/O, sector parsing, direct socket streams) must be encapsulated in a dedicated driver/abstraction layer. Expose clean, high-level APIs to the rest of the application so calling code works with domain concepts, not raw implementation details. - Don't touch blocks of code unrelated to the feature you implement. e.g. Don't add comments to a block of code if you did not create it or modify it. As much as possible try to minimize the number of changed lines when implementing a feature. - Strictly adhere to the layered boundary hierarchy: each layer may only communicate with its immediate neighbor directly below it. Never "punch holes" through layers (e.g., controllers or UI components must never directly call database queries, raw hardware drivers, or low-level network clients; always route through the intermediate service/abstraction layer). - Always use {}, even on a one-line "if" statement. When you write a commit message, follow these 7 rules: Rule 1: Separate the subject line from the body with a single blank line. Rule 2: Limit the subject line to 50 characters (72 is the absolute hard limit). Rule 3: Capitalize the first letter of the subject line. Rule 4: Do not end the subject line with a period. Rule 5: Use the imperative mood in the subject line (e.g., "Fix bug," "Add feature," not "Fixed" or "Adds"). Test formula: It must complete the sentence: "If applied, this commit will [your subject line here]". Rule 6: Wrap the body text manually at 72 characters to prevent Git formatting issues. Rule 7: Use the body to explain what and why vs. how. Assume the code explains the how; the message must explain the context and reasoning. - If the prompt indicates that a bug is being fixed, don't write the fix right away. First write the test. Observe it failing. Then write the fix. And observe the test passing.
262
Repost from Типичный программист
Heroku в 2022-м перестал принимать российские карты. Что выросло на его месте
Push to deploy, который Heroku придумал в 2008-м, до сих пор самый приятный способ выкатить пет-проект:
git push, и через минуту сайт живой. Vercel, Render, Railway и Netlify выросли из той же идеи, но у всех одна проблема для нас: оплата долларовой картой и серверы не здесь.
На tproger.ru рассказали, как за четыре года собрали российскую альтернативу: от MVP за полгода до деплоя через MCP из Codex и Claude, встроенной IDE с агентом, управляемого PostgreSQL с pgVector и прокси к API OpenAI, Anthropic и Telegram, чтобы приложение в московском регионе не упиралось в блокировки. Отдельно — честное сравнение с каждым из пяти конкурентов: где похоже, где хуже, где иначе.
Если у вас лежит проект, который «негде хостить в два клика», это повод посмотреть.262
Repost from Типичный программист
Полгода не написал ни строчки руками: что стало с работой инженера
В феврале инженер из exe․dev запретил себе писать код: если агент застрял, нельзя дописать самому, надо найти, чего агенту не хватает, и починить это. Сорвался один раз на три минуты и сам сбежал обратно, вспомнив, сколько ещё печатать.
Дальше цепочка, знакомая всем, кто пробовал: пока один агент работает, запускаешь второй, потом десятый, и они дерутся за файлы, порты и базу. Worktree решили только git, инструкции в AGENTS․md съедали контекст, контейнеры не закрывали доступ к ноутбуку, а ноутбук нельзя было закрыть. В итоге каждая задача получила отдельную виртуалку в облаке, а он описал, как жил с двадцатью агентами одновременно.
Что осталось человеку: понимать чужой диф, который прилетает целиком, и решать, нужна ли фича вообще. Тесты зелёные, скриншоты красивые, ревью-агенты одобрили, а он выбрасывал изменение, потому что оно добавляло второй способ сделать то, что уже есть. «Выкатить стало легко, решать, что выкатывать, стало важно».
Самые полезные агенты у них вообще не пишут код: один разбирает жалобы клиентов по логам ClickHouse (жалобу отдавать дословно, без пересказа), второй ломает их же систему и находит открытые сетевые пути, третий сторожит выкатки и сам решает, продолжать ли.
Расскажите, где у вас проходит граница «сам не пишу».
#ии #обсуждение
262
Repost from Типичный программист
Разработчиков уволили ради ИИ. Они ответили опенсорсным ИИ-гендиректором
История дня на Hacker News: 897 очков и 611 комментариев. По словам автора треда, команду программистов сократили, чтобы заменить их ИИ, и ребята собрали Open Executive: систему, которая заменяет гендиректора и весь топ-менеджмент. Компанию, где это произошло, в репозитории не называют, зато код открыт под Apache 2.0.
Внутри всё серьёзно: оркестратор на Claude и восемь «руководителей» (стратегия, финансы, HR, юрист, операции, маркетинг, продукт, совет директоров), у каждого своя база знаний уровня MBA плюс ваши документы через ChromaDB. Между сессиями «гендиректор» помнит, что советовал в прошлом месяце, а планировщик сам напоминает о просроченных решениях. Общаться можно через веб, Slack, Telegram, Discord или почту.
Запуск:
git clone, ключ Anthropic в .env, make dev, дальше мастер настройки спрашивает про бизнес-модель, конкурентов и приоритеты. Комментаторы уже просят заменить и CTO с архитекторами, а самый трезвый отзыв: «отличный способ сжечь большой счёт за токены».
Если у вас в компании тоже «оптимизируют» разработчиков, теперь есть ответный ход.
#ии #кек262
Repost from Типичный программист
Лимит Claude Code кончился через десять минут после начала работы. Автор tare сделал так, чтобы Claude сам объяснил, куда делись токены
Знакомо: открываете вечернюю сессию, а через десять минут «usage limit reached», хотя вы почти ничего не просили. Claude Code пишет на диск лог каждого запроса, но разбирать его руками никто не будет. Инструмент
tare подключается как skill и отвечает на вопросы обычным языком: «почему я вчера упёрся в лимит», «какой файл Claude перечитывает дороже всего», «не работает ли что-то в фоне, пока я сплю».
Установка одной командой:
npx skills add kelviq/tare -g -y --copy --agent claude-code
Дальше в новой сессии /tare даёт полный разбор, /tare window показывает, насколько заполнено пятичасовое окно и стоит ли сейчас начинать большой рефакторинг, /tare share собирает сводку без приватных данных.
Считает он честнее, чем «сложить токены из лога»: формат Claude Code повторяет каждый ответ несколько раз, наивный подсчёт завышал итог на 86%. Файл, прочитанный в начале длинной сессии, пересылается с каждым следующим сообщением, и tare записывает эту стоимость на инструмент, который её вызвал. В примере из репозитория 99% дневного расхода дали 1553 коротких сессии, которые запустил скрипт, а не человек.
Всё работает локально, в сеть скрипты не ходят. Проверить, что съедает вашу квоту, можно прямо сейчас.
#ии262
Рекламные фото через нейросеть: ТОП-10 инструментов для рекламных изображений
Хорошая реклама не просто показывает товар — она заставляет остановиться, рассмотреть кадр и представить продукт частью своей жизни. Разбираемся, как превратить нейросеть в виртуальную рекламную студию и создавать выразительные креативы без однотипных шаблонов.
https://www.klerk.ru/blogs/ranvik/706129/
262
Битва за рекомендацию: как ИИ-агенты убьют классический e-commerce
Скоро мы перестанем скроллить карточки товаров и искать скидки. Вместо этого закупки будут делать ИИ-ассистенты. Почему битва за миллиардные продажи перемещается из поисковой выдачи внутрь скрытых алгоритмов и промптов, и как крупный ритейл пытается тайно манипулировать рекомендациями нейросетей в обход пользователей.
https://www.klerk.ru/soft/news/706322/
262
SuDOCX — это офлайн-редактор фотографий документов (расширение для Chromium). Приложение не требует сети для базовой работы. Главная задача архитектуры — полная изоляция и предотвращение утечки данных.
Плагин получился тяжелее обычных из-за того, что в него встроена библиотека для работы с PDF и локальный Tesseract OCR. При желании для распознавания можно подключить локальную LLM.
К сожалению, не могу выложить на GitHub, из-за ужесточения политики сервиса, строго требует 2FA и смартфон, которого у меня нет. Лицензия та же - MIT, т.е. бесплатно, как есть.
Видео с примером работы выше.
262
Вторая версия редактора фото-копий документов в виде плагина для браузеров на базе Chromium.
262
Выпустил 2ю версию SuDOCX - офлайн-редактор фотографий документов (расширение для Chromium). Приложение не требует сети для базовой работы. Главная задача архитектуры — полная изоляция и предотвращение утечки данных. Там же видео с примером работы. Бесплатно. И чтобы потом не спрашивали, как привести дело в порядок.
https://t.me/Sudocx/5
