Типичный программист
79.1K subscribers
3.59K photos
1.16K videos
14 files
8.16K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
История файлов для моментов, когда git уже поздно

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

UNF предлагает другой слой страховки: локально версионировать изменения файлов независимо от того, каким инструментом они сделаны. Можно откатить не только осознанный коммит, но и “кажется, я разрешил не той команде править проект”.

Идея особенно актуальна сейчас, когда код всё чаще меняют не только люди, но и ассистенты с очень уверенным курсором.
🔥174👍4🎉1😍1🤣1
В большинстве компаний 1С и облачная инфраструктура живут в параллельных мирах: DevOps смотрит в Grafana, финдиректор — в 1С, а когда падает оплата, все смотрят друг на друга. На самом деле подружить 1С с современными инструментами мониторинга вполне реально всего за один спринт. В блоге Centicore рассказали, как это сделать.

В статье разбирается, как вытащить метрики из 1С через OData без единой строчки кода, написать Prometheus Exporter на Python и собрать бизнес- и технические метрики на одном дашборде. А заодно — где интеграция обычно ломается и как это пережить.
👎5😴3👍2👏2🤣2🙊21😱1😍1😨1
x86-эмулятор, который работает на одном CSS

Разработчица собрала x86 CPU emulator без JavaScript, без WebAssembly и без привычного runtime — только на CSS.

Это не кандидат на прод и не новая платформа для вычислений. Ценность в другом: CSS здесь используют как странную вычислительную модель с состояниями, селекторами и каскадом, которые внезапно начинают напоминать машину выполнения.

История хороша как инженерный фокус. Подробности по ссылке
👍23😱104❤‍🔥2🔥2👌2👏1😢1🤨1🍾1🆒1
Язык программирования, который думает на корейском

Большинство языков, даже самых новых, всё равно говорят с разработчиком на английском. Han интересен тем, что здесь не просто переименовали if и for, а попытались сделать полноценный компилируемый язык с корейским синтаксисом.

Проект написан на Rust, использует LLVM, имеет REPL, LSP и примеры реального кода. То есть это уже не мем про ключевые слова, а инженерный эксперимент про то, насколько глубоко английский зашит в привычный способ программировать.

Код стоит смотреть как на языковой дизайн, а не как на экзотику ради экзотики.
👎216👍5👀3🔥211🤣1🎄1🗿1💘1
curl на месяц перестаёт принимать отчёты об уязвимостях

Daniel Stenberg объявил «summer of bliss»: в июле 2026 года curl не будет принимать и обрабатывать vulnerability reports. HackerOne-форма закроется 1 июля, security-почта тоже не будет рабочим обходным путём, приём вернётся 3 августа.

Звучит резко, но контекст важный: последние месяцы проект жил под сильным давлением из-за потока отчётов. Релиз 8.22.0 из-за этого сдвинули на 2 сентября, а мейнтейнеры прямо говорят: им нужен реальный отдых.
👏19👍54🔥4💯1
Интернет, где устройство ищут не по IP, а по ключу? Почему бы и нет

IP-адреса ведут себя как временный пропуск: сегодня есть, завтра поменялся, послезавтра устройство сидит за NAT, firewall или мобильной сетью. Iroh предлагает другой подход — соединяться не с адресом, а с криптографическим ключом устройства. Это фундаментальная технология, призванная коренным образом изменить интернет.

В версии 1.0 у них уже стабильный wire protocol, QUIC, NAT traversal, multipath, локальный поиск устройств без интернета и API для Rust, Python, Node.js, Swift и Kotlin. В идеале это выглядит как «secure localhost», только между любыми устройствами.

Для приложений с синком, IoT, файлами и P2P это очень здравый поворот.
11👍9🔥4🤓1🎅1🤷1
Виртуальная машина, которая стартует быстрее вкладки

Обычно VM воспринимается как тяжёлая штука: образ, загрузка, ожидание. smolvm пробует другой режим — маленькие переносимые машины с cold start меньше секунды.

Идея в том, чтобы упаковать окружение в один артефакт и запускать изолированный код почти как обычный процесс. Это уже интересно для CI, песочниц, временных dev-окружений и задач, где контейнеров мало, а полноценные VM слишком дороги.
👀11👍6🤯31🔥1🤔1🌭1🤗1💅1
Forwarded from Нейроканал
В топе трендов Hugging Face сейчас стоит хобби-проект одного человека под ником yuxinlu1. Это маленькая кодинг-модель на базе Gemma 4 12B в формате GGUF: запускается локально, самый лёгкий вариант весит 4,5 ГБ и влезает почти в любую видеокарту или в общую память Mac. Работает оффлайн, без облака и API, за неделю уже 146 тысяч загрузок.

Самое интересное в том, на чём её учили. Это дистиллят рассуждений двух коммерческих моделей: основным учителем был Composer 2.5 от Cursor, а задачи, где он ошибался, отдавали Fable 5, чтобы тот переписал решение заново. В обучающий набор брали только те цепочки рассуждений, чей итоговый код реально прошёл тесты. Поэтому модель сначала думает над задачей вслух, потом выдаёт решение.

Через несколько дней после релиза доступ к Fable 5 автору закрыли, так что для второй версии он теперь присматривается к GLM-5.2. И ещё момент: модель специально без выравнивания на безопасность, отказывается реже базовой Gemma.

@neuro_channel
👀288🤔2💋2😇1🗿1
Я тут наткнулся на исследование рынка ПО для ИИ-технологий. И вот как бы мы не шутили про вайбкодеров, а внедрение ИИ-моделей для работы и, в частности, для разработки уже становится «базовым инфраструктурным слоем, доступным большинству компаний». Так во всяком случае говорят эксперты, участвовавшие в исследовании.

Вообще рекомендую почитать вам подробнее. Там интересная информация. Но я вас вот о чем спросить хотел... Как считаете, с учётом развития агентов, не уйдут ли классические разработчики в сторону? Может они уступят место «ИИ-ревьюерам», которые умеют читать код и правильно давать задачи агентам, но недостаточно глубоко знают все нюансы стека, который используют?
🌚14😱5🔥2👏2🤔1
Epic делает Git для репозиториев, где код — не главная проблема

Epic Games показала Lore — open-source VCS для проектов, где рядом с кодом живут гигабайты ассетов, билдов и бинарников.

В обычной разработке Git чаще всего страдает от истории и конфликтов. В геймдеве он ещё и упирается в тяжёлые файлы, partial checkout, хранение чанков и нормальную работу с большими деревьями.

Lore как раз смотрит в эту сторону: Merkle trees, chunked storage, sparse/on-demand hydration и API для C/C++/C#/Rust/Go/Python/JS. Хороший повод посмотреть, как VCS выглядит, если проект начинается не с src/, а с мира, моделей, текстур и билд-артефактов.
👍22💊83🎉2❤‍🔥1
Команда, которая объясняет, почему процесс вообще запущен

ps aux
показывает, что в системе что-то живёт.есс воопоказывает, что оно ест ресурсы. А вот вопрос “кто это поднял и зачем?” обычно начинается с прогулки по systemd, cron, контейнерам и истории шелла.

witr пытается закрыть именно этот разрыв. Утилита ищет цепочку причин: сервис, родительский процесс, порт, контейнер, socket activation и другие следы, которые помогают понять происхождение процесса.

Репозиторий я бы держал под рукой.
👍27👎2😁2👾21🤯1🤣1🏆1🍾1🙈1🙉1
Как мы проскочили путь от первого iPhone и сложной разработки под мобильные устройства до эпохи ИИ? Что случилось и к чему это привело — в третьей части цикла об истории российского IT.

Мобильный бум застал индустрию врасплох: было непонятно, как адаптировать сайты под маленькие экраны и что делать со слабой связью. Решением стали нативные приложения — их начали разрабатывать многие компании. Так мы пришли к эпохе супераппов, где собрано всё и сразу.

Приложений, проектов и стартапов становилось больше — начался расцвет российского IT. Но разработчиков не хватало, и на сцену вышли курсы, школы и онлайн-уроки. Желающих войти в профессию оказалось огромное количество, и рынок быстро перегрелся. Теперь новичков заменяет ИИ, а найти работу — задача со звёздочкой. Сегодня гонка за лучшими программистами превратилась в гонку ИИ-инфраструктур.

Так решения порождали новые проблемы, а российская IT-индустрия вышла на новый уровень сложности. Подробнее — в материале на Tproger.
👍6😭63😱2🙈2🤔1🤯1🐳1🤨1💊1🙊1
115 тысяч строк BASIC, которые не хотели умирать

Автор Wall Street Raider три года восстанавливал финансовый симулятор, который впервые вышел ещё в 1986 году. Внутри не аккуратный учебный legacy, а огромная живая программа на BASIC, росшая десятилетиями.

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

Разбор хорошо читается как археология кода.
👍28🤔32🙏2😇2💊2😢1🤩1🍾1🗿1🙉1
Интерпретатор Wasm, который одновременно доказывает свою правоту

Talos не разделяет код, который запускает WebAssembly, и код, который описывает её правила. В одном репозитории на Lean 4 одни и те же определения выполняют Wasm-инструкции и служат основой для рассуждений о них.

Это значит, что спецификацию не нужно синхронизировать с реализацией отдельно: если интерпретатор что-то проглотил, с ним можно рассуждать формально, не подгоняя спецификационный интерпретатор под код. Пока проект в активной разработке, API доказательств может меняться, но сам подход цепляет.

Код лежит на GitHub.
🤓136🤔4🤩2🍾2😴2🗿2🤷‍♀11😈1🆒1
Кто-то завернул антидетект-браузер в REST API, чтобы ИИ-агенты ходили в сеть без шума

Camoufox хорошо прячет браузер от автоматических проверок, но запускать его руками из агента — постоянная возня с профилями, проксями и разрешениями. Автор репозитория собрал сервер поверх движка: один запрос, и браузер уже открывает страницу, прикинувшись обычным пользователем.

Ещё один плюс: поддержка OpenClaw plugin. То есть к серверу можно подключать внешние расширения и не городить всю логику в одном скрипте. Пригодится для парсинга, тестирования автоматизации и сбора данных без постоянной войны с антиботами.

Репозиторий на GitHub.
🥰8👏31❤‍🔥11👍1🎉1😈1
Почему в больших компаниях пишут плохой код хорошие инженеры

Кажется, в крупном бизнесе у инженеров есть время и деньги делать всё аккуратно. На практике там постоянно работают люди, которые только недавно разобрались в кодовой базе. Средний срок работы в big tech: год-два, а реорганизации случаются ещё чаще, поэтому систему правят те, кто осваивался в ней последние полгода.

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

Если кодом владеют вечные новички, качество зависит не от найма звёзд, а от того, удержатся ли те, кто знает, где собаки зарыты.
26🎄2🤷‍♀1👏1🤔1
Разработчик заменил 3 ГБ SQLite на десяток мегабайт FST и не потерял в скорости

У финнов есть слово opiskelijassammekin, и если вы не носитель, разобрать его вручную — то ещё удовольствие. Проект Taskusanakirja как раз помогает: вводишь приставку, а словарь ищет финско-английские пары на лету. Раньше под это дело автор держал 3 ГБ SQLite и упирался в размер.

В итоге он перешёл на FST (finite state transducer), статичную структуру данных для префиксного поиска. Бинарник сжался до десятка мегабайт, а отклик остался таким, что глаз не заметит.

Цепляет не столько цифрой, сколько подходом: вместо универсальной базы используется узкая структура, которая делает ровно то, что нужно, и не жрёт лишнего. Хороший напоминание, что иногда оптимизация заключается не в ускорении запросов, а в отказе от лишнего инструмента.
219👍3👏3🔥2🤔2🤯2😁1💯1🤝1🤪1
Fil-C запускает OpenSSH, Emacs и Wayland в память-безопасном C и C++

Fil-C — это фанатично совместимая безопасная для работы с памятью реализация языков C и C++. Множество программ компилируются и запускаются на Fil-C с нулевыми или минимальными изменениями. Все ошибки, связанные с безопасностью работы с памятью, выявляются как ошибки Fil-C. Достигается это с помощью сочетания параллельной сборки мусора и невидимых возможностей (InvisiCaps). В Fil-C нет оператора unsafe и поддерживается только ограниченный FFI для небезопасного кода.

Под капотом свежий clang 20.1.8, так что make, cmake и meson работают привычно. Ребята уже собрали CPython, OpenSSH, GNU Emacs и даже Wayland. При этом потоки, исключения, сигналы, longjmp/setjmp, разделяемая память и встроенный ассемблер (inline assembly) остаются под защитой.

На сайте проекта можно скачать релиз 0.679. Я бы не стал мигрировать прод завтра, но следить за проектом точно стоит.

#c #cpp
👏31🔥1😁1🤔1🙏1🍌1
Разработчик запустил Linux 6.19 внутри ядра Windows 9x — без эмуляции и перезагрузки

Проект WSL9x берёт Windows 9x, которому уже более тридцати лет, и внедряет в неё современное ядро Linux 6.19. Не эмулятор и не виртуалка: VxD-драйвер грузит vmlinux.elf по фиксированному адресу и запускает отдельный тред в System VM, чтобы обе системы работали одновременно.

Автор, Hailey Somerville, добился страничной адресации, защиты памяти и вытесняющей многозадачности рядом с Win9x. Пока эксперимент доведён только до консоли с shell, но сама архитектура из разряда тех, что хочется перечитать дважды. Код на Codeberg.
10🤔7😁4👍2🔥2👏2🎉1🍓1👨‍💻1😇1🤷1
😁9613🔥6👍1👏1🤔1💔1🍾1🆒1💊1😎1