I took all my projects off the cloud, saving thousands of dollars 🔥 Горячее 💬 Длинная дискуссия
Автор сократил свои расходы на облачные услуги в 10 раз, переведя все проекты с AWS на самостоятельное хостинг, при этом улучшив производительность в 2 раза. Его месячный счет AWS снизился с $1,400 до менее $120, а инфраструктура стала мощнее. Автор утверждает, что страх перед управлением серверами обходится компаниям в 10 раз дороже, чем необходимо.
Многие разработчики в индустрии облаков заинтересованы в сохранении компаний на облачных платформах, так как их зарплаты зависят от сложности инфраструктуры. Облачные инженеры и DevOps специалисты не чувствуют финансовой боли от переплат, так как тратят чужие деньги, и заинтересованы в поддержании vendor lock-in.
Перейдя на Hetzner, автор получил доступ к серверам с 80 ядрами менее чем за $190 в месяц, в то время как аналогичные экземпляры в AWS стоят $2,500-$3,500 (в 13-18 раз дороже). Даже с резервированием экземпляров AWS остается в 7 раз дороже. Для небольших проектов доступны VPS с 8 ядрами и 32 ГБ ОЗУ за $50 в месяц.
Комментарии (314)
- Обсуждение в основном свелось к тому, что для большинства проектов хостинг в облаке (AWS, GCP, Azure) в 2024 году оказывается дороже, чем аренда bare-metal в Hetzner/OVH, и что это не всегда оправдано.
- Участники споров подчеркнули, что «облако» всё ещё полезно для MVP, стартапов и сценариев с непредсказуемым трафиком, но при этом критикуют его стоимость для устойчивых рабочих нагрузок.
- Несколько человек упомянули, что большие компании могут позволить себе облако, потому что у них есть команды и бюджет на инфраструктуру и DevOps, тогда как мелкий бизнес и индивидуальные разработчики вынуждены искать более дешёвые решения.
- Также было отмечено, что важно различать «облако» как способ разработки (CI/CD, managed services) и как способ хостинга (IaaS), и что первое может быть дешевле, чем второе.
You already have a Git server 🔥 Горячее 💬 Длинная дискуссия
Любой сервер с SSH-доступом может стать Git-сервером. Достаточно клонировать репозиторий через git clone ssh://username@hostname/path/to/repo, а для отправки изменений добавить на сервере git config receive.denyCurrentBranch updateInstead. Этот подход идеален для синхронизации кода между устройствами или работы с файлами на сервере без задержек.
Для публикации кода через веб нужно указать веб-серверу путь к Git-репозиторию и выполнить git update-server-info. Чтобы это происходило автоматически, можно настроить хук post-update, который будет запускать эту команду после каждого обновления. Хуки также могут использоваться для запуска статических генераторов сайтов — автор блога успешно применяет этот метод для своего сайта, получая преимущества локальной работы и автоматического развёртывания.
Такой подход обеспечивает встроенное резервное копирование: при поломке сервера данные останутся на ноутбуке, и наоборот. Git-трекинг версий предотвращает случайные удаления и упрощает отладку ошибок.
Комментарии (388)
- Обсуждение охватило широкий спектр тем: от фундаментальных концепций (bare-репозитории, push-в-в-ssh, хуки) до практических аспектов (самостоятельный хостинг, CI/CD, бэкапы).
- Участники подчеркнули, что Git изначально задумывался как распределённая система без необходимости в централизованном хостинге, и что это встроено в его архитектуру.
- Были упомянуты различные инструменты и практики, такие как
git init --bare,git daemon,git-shell, хуки и т.д., как часть более широкого обсуждения о том, как Git может быть использован для хостинга репозиториев. - Обсуждались также более широкие темы, такие как философия open-source, централизация против децентрализации, и как GitHub/GitLab и подобные платформы влияют на разработку ПО и сообщество.
Computer science courses that don't exist, but should (2015) 🔥 Горячее 💬 Длинная дискуссия
Статья представляет собой воображаемый список курсов компьютерных наук, которых не существует, но должны. Автор предлагает такие курсы, как "Отказ от объектно-ориентированного программирования", где студенты изучат переменные вне иерархии объектов и "функции", а также "Классические исследования программного обеспечения", посвященные исторически значимым продуктам вроде VisiCalc и Zork. Особый интерес представляет курс "Написание быстрого кода на медленных языках", где учат писать на Python, который по производительности может превзойти C++, и "Пользовательский опыт командной строки", анализирующий принципы UX для консольных программ.
Автор Джеймс Хейг, бывший программист, проектирующий видеоигры с 1980-х, подчеркивает, что программирование — это не технология ради самой технологии, а возможность реализации идей. Он также предлагает курс "Одобрения программистского ума", изучающий навязчивые темы, которыми часто увлекаются разработчики: форматирование кода, таксономия, системы типов и чрезмерное дробление проектов.
Комментарии (195)
- Обсуждение показало, что академическая программа CS часто не охватывает такие темы, как история ПО, философия вычислений, практика командной работы и даже базовые навыки работы в консоли.
- Участники подчеркнули, что курсы вроде "Unlearning OOP" и "Classical Software Studies" должны быть обязательной частью образования, но их нет.
- Обсуждение подняло вопрос о том, что не хватает курсов по фундаментальным навыкам, таким как CI/CD, системное администрирование и работа с консолью.
- Было отмечено, что студенты часто не получают практических навыков, необходимых для работы в отрасли, и что курсы по таким темам как "как писать быстрый код на медленных языках" или "как не страдать от внутренних конфликтов в команде" отсутствуют.
- В конце концов, обсуждение подтолкнуло к тому, что вместо того, чтобы учить студентов тому, как создавать и поддерживать сложные системы, которые уже работают, они вместо этого вынуждены изучать фреймворки, которые могут исчезнуть через 5 лет.
Migrating from AWS to Hetzner 🔥 Горячее 💬 Длинная дискуссия
После истечения кредитов AWS, эксплуатация двух инстансов tap на AWS Fargate обходилась в $449.50 ежемесячно. Для снижения затрат DigitalSociety мигрировала в инфраструктуру Hetzner, сохранив при этом все ключевые сервисы.
Переход включал миграцию с DigitalOcean Kubernetes на кластер Kubernetes под управлением Talos, работающий на узлах Hetzner. Это позволило сохранить все оркестрационные возможности контейнеров, включая веб-сервисы, API и рабочие нагрузки. Вместо управляемых баз данных AWS RDS, инфраструктура использует самоподнятые экземпляры PostgreSQL, настроенные с высокой доступностью через репликацию и ежедневные снапшоты.
В результате, месячная стоимость хостинга упала с $449.50 до $112.05, что на 76% меньше. При этом вычислительная мощность возросла: с 2 CPU и 8 ГБ RAM на узле DigitalOcean до 4 CPU и 16 ГБ RAM на каждом из двух узлов Hetzner. Это позволило увеличить производительность контейнеров и баз данных, одновременно снизив расходы.
Комментарии (556)
- Пользователи подтверждают: выгода от перехода с облаков на bare-metal (Hetzner/OVH) — в 2-3 раза выше производительности и в 5-10 раз ниже цена, но при этом приходится самому администрировать всё от мониторинга до CI/CD.
- Основной риск — отсутствие избыточности и SLA, а также блокировки IP-диапазонов из-за «плохих соседей» и отсутствие управляемых сервисов вроде RDS.
- Для небольших сервисов или MVP-стадии стартапов bare-metal дешевле, но при росте трафика или требований к отказоустойчивости облако может стать дешевле, потому что масштабирование и отказоустойчивость входят в цену.
- Несколько участников упомянули, что при переходе на bare-metal приходится самому настраивать CI/CD, мониторинг, балансировку и прочие «облачные» сервисы, тогда как в облаке они включены в цену.
- Некоторые комментаторы отметили, что при использовании bare-metal провайдеров вроде Hetzner приходится следить за биллингом и оплатой, потому что они могут блокировать аккаунт без предупреждения при просрочке на 1-2 дня, что привело к потере данных.
Pwning the Nix ecosystem 🔥 Горячее
Опасная уязвимость в GitHub Actions позволила бы злоумышленникам выполнять произвольный код в CI/CD пайплайнах проектов с открытым исходным кодом, используя функцию pull_request_target.
Основная проблема заключалась в том, что некоторые рабочие процессы в nixpkgs использовали pull_request_target и доверяли коду из форков, выполняя команды вроде xargs над именами файлов из PR. Это позволило бы атакующему создать файл с именем вроде --help, который интерпретировался бы как флаг для утилиты, что привело бы к выполнению произвольного кода.
Более серьёзный случай включал симлинки: рабочий процесс проверки CODEOWNERS мог быть обманнут для чтения произвольных файлов с диска, включая файлы учётных данных. Если бы атакующий смог заставить систему прочитать файл с учётными данными, он мог бы украсть токены GitHub.
К счастью, эти уязвимости были обнаружены и исправлены до того, как их могли эксплуатировать. Авторы рекомендуют всем, кто использует pull_request_target, тщательно проверять свои рабочие процессы и избегать доверия к коду из форков.
Комментарии (60)
- Проблема в том, что
pull_request_targetв GitHub Actions позволяет уязвимости, но при этом остаётся единственным способом запуска CI для форков в организациях, не использующих форки. - Подверженность
pull_request_targetв действии: злоумышленник может украсть токены и секреты, используя триггер, что приводит к тому, что вредоносный код может быть запущен в контексте базовой ветви. - Предложение: GitHub должен либо полностью отключить
pull_request_target, либо предоставить безопасный способ запуска CI для форков. - Параллельно обсуждается, что если бы NixOS принял предложение обеспечивать подпись коммитов и независимые воспроизводимые сборки, как это делает Guix, то подобные атаки были бы невозможны.
Modern Linux tools
Проект Gamedev Guide обновил раздел о современных инструментах Linux для разработчиков. Основное внимание уделено оптимизации рабочего процесса: авторы рекомендуют использовать Docker для изоляции окружений, что ускоряет сборку и тестирование. Особо отмечена интеграция с Windows Subsystem for Linux (WSL2) для кросс-платформенной разработки, а также инструменты вроде Ninja для ускоренной компиляции C++ проектов. В статье приводятся примеры настройки CI/CD пайплайнов под Linux, что особенно полезно для крупных команд. Авторы подчеркивают, что современный Linux уже не уступает в инструментах для разработки под Windows, а в чём-то даже превосходит.
Комментарии (123)
- Обсуждение в основном вращается вокруг того, что «современные» инструменты не всегда объективно лучше, а скорее улучшают UX и визуально оформляют вывод, и что важнее уметь пользоваться базовыми утилитами, чем полагаться на специфические инструменты, которые могут не оказаться в других окружениях.
- Участники обсуждают, что важно знать и уметь использовать базовые инструменты, такие как
find,grep,sed,awk,vi,ed,less,tail,head,tar,ls,cat,dd,top,ps,kill,df,du,free,uptime,w,who,last,ls,df,mount,umount,fdisk,lsblk,blkid,lsusb,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsmod,lsmod,lsomod,lsmod,lsmod,lsomod,lsmod,lsmod,lsomod,lsmod,lsomod,lsmod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod,lsomod, `
Talk Python in Production
Talk Python in Production – это книга, которая учит разворачивать Python-приложения без привязки к облачным провайдерам. Вместо микросервисов и Kubernetes автор предлагает «stack-native» подход: один мощный сервер, Docker Compose, NGINX и минимум внешних сервисов. Книга сопровождается GitHub-репозиторием с примерами кода, конфигами и скриптами CI/CD, а также готовыми Docker-образами.
Комментарии (62)
- Обсуждение началось с критики обложки книги, вызванной использованием AI-изображения без ретуши, что вызвало волну схожих жалоб на дизайн и оформление.
- Участники обсуждали ценность и применимость таких изображений, их влияние на восприятие контента и общий уровень подготовки материала.
- Были подняты вопросы о том, как технологии генерации изображений влияют на качество и доверие к материалу, а также обсуждались проблемы читабельности текста и его контрастности на фоне.
- Обсуждались также и другие темы, включая ценообразование, сравнение стоимости облачных провайдеров, а также вопросы, связанные с публикацией книги и её содержанием.
- В целом, обсуждение подчеркнуло важность внимательного подхода к визуальному оформлению и качеству контента, а также подчеркнуло, что читатели ожидают большего, чем просто базовые знания в области технологий.
Uv overtakes pip in CI
Wagtail CMS обновил свой веб-сайт, добавив новую страницу «О нас», где описаны основные преимущества и возможности CMS. Вместо традиционных пунктов меню теперь используются интерактивные карточки с иконками, что улучшает пользовательский опыт. На сайте также представлена информация о команде Wagtail, его функциях, доступности и устойчивости, что делает его более прозрачным и доступным для новых пользователей. Обновление подчеркивает важность открытости и удобства, что может привлечь больше разработчиков и контент-менеджеров.
Комментарии (130)
- uv стал фактическим стандартом для управления зависимостями и окружениями, потому что он быстрый и простой в использовании, но это вызвало споры о том, действительно ли он лучше, чем pip и другие инструменты, особенно в контейнерах и CI/CD.
- Некоторые разработчики утверждают, что uv не подходит для контейнеров, потому что он не может использовать системный Python, и это вызывает споры о том, действительно ли это проблема.
- Пользователи, которые привыкли к pip и другим инструментам, иногда утверждают, что uv не предоставляет никаких преимуществ, и что это просто "Rust фанатство", но другие считают, что скорость и простота использования делают его лучшим выбором.
- Некоторые разработчики считают, что uv не подходит для использования в контейнерах, потому что он не может использовать системный Python, и это вызывает споры о том, действительно ли это проблема.
- Некоторые разработчики считают, что uv не подходит для использования в контейнерах, потому что он не может использовать системный Python, и это вызывает споры о том, действительно ли это проблема.
Show HN: Pyscn – Python code quality analyzer for vibe coders
pyscn — это интеллектуальный анализатор качества Python-кода с открытым исходным кодом. Он использует статический анализ для выявления проблем вроде неиспользуемых переменных, избыточных конструкций и нарушений стиля, помогая разработчикам писать более чистый и эффективный код.
Инструмент предлагает детальные отчёты с рекомендациями по исправлению, интеграцию в CI/CD и поддержку кастомных правил. Особенность — акцент на объяснении ошибок, что ускоряет обучение и улучшает практики кодинга.
Комментарии (64)
- Обсуждение инструмента для анализа качества кода, который использует tree edit distance на AST для обнаружения структурных дубликатов, в отличие от текстовых сравнений
- Споры о "vibe coders" (разработчиках, полагающихся на ИИ): одни считают их безразличными к качеству, другие защищают как прагматичный подход для определенных задач
- Вопросы о технических деталях: влияние языков со статическим анализом, обобщаемость на другие языки через tree-sitter, сравнение с существующими инструментами (Pylint, Ruff)
- Предложения по интеграции: как инструмент для инженеров, поддерживающих legacy-код, или как MCP-сервер для AI-агентов
- Обсуждение будущего: роль инструментов анализа в эпоху ИИ-ассистентов и их потенциал для улучшения качества в доминирующих языках (Python/JS)
Codeberg Reaches 300k Projects
Codeberg — это некоммерческая платформа для хостинга Git, ориентированная на свободное и открытое программное обеспечение. Управляется сообществом через организацию Codeberg e.V. в Берлине, что гарантирует независимость и приоритет общественных интересов над коммерцией. Платформа не отслеживает пользователей, не использует сторонние куки и размещает данные на собственных серверах в Европе.
На Codeberg размещено более 300 тысяч проектов, зарегистрировано почти 200 тысяч пользователей, а ассоциация насчитывает свыше 1100 членов. Платформа работает на Forgejo — свободном форке Gitea — и предлагает дополнительные сервисы, включая CI, статические страницы и инструменты перевода. Финансируется за счёт добровольных пожертвований и участия сообщества, подчёркивая принцип «свободно как свобода, а не как пиво».
Комментарии (56)
- Сравнение активности и приоритетов Gitea и Forgejo после форка, включая обсуждение их направленности на SaaS или самохостинг.
- Критика GitHub за эншиттификацию, навязывание ИИ и преимущества Codeberg как некоммерческой альтернативы с более отзывчивым интерфейсом.
- Обсуждение сетевых эффектов и инерции GitHub: сложность миграции из-за сообщества, интеграций (CI/CD, спонсоры) и привычности.
- Ограничения Codeberg: отсутствие приватных репозиториев, бюрократия с CI, простои из-за DDoS и политика только FOSS-проектов.
- Вопросы о функциональности Codeberg (развертывание, защита от сканирования ИИ) и предложения по федерации через Forgefed.
Sandboxing AI agents at the kernel level
Агенты ИИ, работающие с файловой системой, представляют угрозу безопасности, особенно в облачных средах. Злоумышленник может обойти защиту на уровне приложения и заставить агента раскрыть конфиденциальные файлы через системные вызовы. Решение — изоляция на уровне ядра, где сам Linux блокирует доступ к нежелательным ресурсам.
Анализ системного вызова open в ядре Linux показывает три точки отказа: do_open (поздний отказ), link_path_walk (средний) и path_init (ранний). Контейнеризация использует эти механизмы, создавая виртуальную файловую систему и пространства имён, чтобы скрыть реальные файлы от процесса. Это надёжнее, чем полагаться на фильтрацию ввода-вывода в приложении.
Комментарии (21)
- Обсуждение методов изоляции и безопасности для AI-агентов, включая контейнеризацию (runc, podman), Landlock и WebAssembly как потенциальные решения.
- Критика предложенного подхода к песочнице как избыточной или неубедительной для экспертов по безопасности, с акцентом на использование существующих проверенных библиотек и методов.
- Уточнение требований к агенту для код-ревью: доступ только к кодовой базе, истории репозитория, диффам, CI/CD логам и системам отслеживания ошибок.
- Обсуждение практических сложностей реализации, таких как неподдерживаемые системные вызовы в gVisor и необходимость баланса между производительностью и безопасностью.
- Скептицизм относительно новизны и точности объяснения автора, с замечаниями, что описанные методы (chroot) не являются полноценной песочницей или контейнеризацией.
Docker Hub Is Down
24 сентября 2025 года Docker столкнулся с проблемами аутентификации в Docker Hub, включая реестр, веб-сервисы и связанные компоненты вроде Docker Scout и Build Cloud. Инцидент начался около 16:09 по тихоокеанскому времени с повышенного уровня ошибок при запросах на вход, что привело к расследованию и последующему внедрению исправления к 18:09.
К 18:29 проблема была полностью решена, и система вернулась в рабочее состояние. Пользователям рекомендовали перезайти в аккаунт для обновления сессии, если проблемы сохраняются. Это подчёркивает важность мониторинга и быстрого реагирования на сбои в критической инфраструктуре.
Комментарии (79)
- Пользователи столкнулись с масштабным простоем Docker Hub, что привело к сбоям в деплое, CI/CD и разработке
- Обсуждаются решения для избежания зависимости от Docker Hub: локальные mirror-реестры (Harbor, Zot), pull-through кэши (AWS ECR, GAR, GitLab Registry)
- Предлагаются альтернативные регистри: Quay.io, GitHub Container Registry, публичный ECR от AWS с mirror Docker Hub
- Отмечается, что некоторые системы кэширования (например, GAR) также пострадали из-за проблем с аутентификацией на стороне Docker Hub
- Подчёркивается важность стратегии с собственным внутренним реестром для критичных окружений
Download responsibly 🔥 Горячее 💬 Длинная дискуссия
Geofabrik обновила сервер для скачивания данных OpenStreetMap, сделав загрузки быстрее и доступнее. Теперь запросы на файлы с суффиксом «…latest» автоматически перенаправляются на актуальную версию через HTTP-редирект.
Однако сервер сталкивается с проблемами из-за нерационального использования: некоторые пользователи массово скачивают одни и те же большие файлы (например, 20-ГБ данные Италии тысячи раз за сутки), что замедляет работу для всех и вынуждает блокировать IP-адреса, затрагивая и невинных. Geofabrik призывает скачивать ответственно: использовать единый планшетный файл с planet.openstreetmap.org для глобальных данных, применять pyosmium-up-to-date для инкрементных обновлений крупных регионов (это экономит 98% трафика) и контролировать автоматизированные скрипты во избежание сбоев.
Комментарии (185)
- Предлагается использовать BitTorrent или аналогичные P2P-технологии для распределения нагрузки при скачивании больших файлов, таких как данные OSM.
- Обсуждается необходимость внедрения базовых мер защиты: ограничение запросов (rate limiting), обязательная авторизация (API-ключи) для предотвращения злоупотреблений.
- Основная проблема — безответственное использование ресурсов, часто из-за ошибок в автоматизированных скриптах и CI/CD-пайплайнах, которые многократно загружают одни и те же файлы.
- Высказывается мнение, что часть пользователей не осознаёт последствий своих действий, и простые технические решения могли бы предотвратить проблему.
- Отмечается, что некоторые корпоративные среды блокируют P2P-трафик, что ограничивает применимость решений на основе BitTorrent.
Boring work needs tension
Мы все любим хорошие фильмы, кинематографию и истории. Смотреть их интересно, потому что можно представить себя на месте персонажа. Нас захватывает напряжение, которое создаёт сюжет, и любопытно, как оно разрешится.
Многие считают разработку ПО скучной работой, где нужно просто писать то, что просят менеджер или клиент. Сначала это увлекательно, но через несколько итераций становится рутиной.
Всё, что не вызывает у тебя интереса, нужно менять.
Когда разработчики начинают видеть себя главными героями, они находят множество проблем для решения — множество напряжений, которые нужно разрешить. Вот несколько примеров таких ежедневных задач:
- CI/CD работает слишком долго из-за отсутствия кэширования.
- Отсутствие пула соединений приводит к перегрузке базы данных.
- Неправильная настройка сборщика мусора вызывает утечку памяти.
- Если код, написанный неделю назад, непонятен через 3 секунды — он плохо написан.
- Высокая задержка для пользователей из-за удалённости серверов.
- Замедление базы данных при пакетной вставке данных.
- Несогласованность ответов API для пользователей в разных регионах.
Это нетривиальные проблемы, они возникают каждый день. Это наши «злодеи» — раздражающие, нежеланные и неожиданные. Мы должны их устранять.
Выбирайте свои «битвы». Это способ сделать день интереснее. Если на работе такие задачи недоступны, решайте их в личных проектах.
Если вы преследуете правильное напряжение, за ним последует история.
Комментарии (60)
• Участники дискуссии в основном не согласны с идеей о том, что скучной работе нужна напряженность (tension). Вместо этого предлагается искать в такой работе смысл (meaning) или дисциплину. • Многие считают погоню за напряженностью вредной, сравнивая ее с дофаминовой петлей, которая не приводит к значимым результатам. • Несколько комментаторов отмечают, что рутинная, последовательная работа часто является основой для по-настоящему великих достижений. • Другие предлагают автоматизировать скучные задачи, чтобы высвободить время для более ценной и rewarding деятельности. • Часть обсуждения свелась к тому, что разные люди мотивированы по-разному, и что невозможно обобщить один опыт на всех.
Taking Buildkite from a side project to a global company
-
Кит Питт — австралийский разработчик, отец троих детей, бывший фокусник. Считает себя не предпринимателем, а изобретателем: «ценность идеи = кто-то заплатил за неё».
-
Buildkite родился как побочный проект: Кит писал e-mail-API и понадобился собственный CI. Вечерами довёл прототип до продукта, подключил PIN Payments (первый в AU простой REST-эквайринг) и выложил на $5/30/100.
-
Первый «чужой» клиент из Европы (Moneybird) показал: продукт внешне нужен. Когда знакомая компания сама докинулась до $500/мес, Кит поверил, что выживет.
-
Первые годы — вечера и выходные, пока жена училась; днём — работа в Envato. Рост шёл медленно, но MRR удваивался каждые 6 мес.
-
2016 — деньги кончились, зарплаты не хватало. Кит вернулся к инвесторам, поднял раунд и стал CEO полный ставка. Пришлось учиться управлять, нанимать и строить распределенную команду.
-
Голос продукта выработали через публичный блог: честные посты о проблемах и фичах привели трафик и доверие разработчиков.
-
Сегодня Buildkite — глобальный CI/CD с клиентами вроде Shopify и Slack; офисы в Мельбурне и SF. Кит ушёл с поста CEO, но остался техническим лидером и продолжает «изобретать».
Комментарии (9)
- Buildkite хвалят за гибридную архитектуру (SaaS + свои агенты), декларативные пайплайны и приятный UI.
- Малые компании уходят: цены взлетели, фокус сместился на крупные enterprise.
- Меньшие стартапы успешно использовали Buildkite + дешёвые серверы (Hetzner) и Knapsack Pro для параллельных тестов.
- Основатель признался, что привлёк $28 млн раунда, «чтобы купить дом» — вызвал улыбку.
- Некоторые разработчики считают ИИ-ассистентов вредными для глубокого понимания задачи: «поверхностный флирт» вместо погружения.
Unity reintroduces the Runtime Fee through its Industry license
Unity Industry
Превращайте 3D-данные в интерактивные приложения, которые повышают эффективность и достигают бизнес-целей.
- 30-дневный пробный период бесплатно.
- Купить или посмотреть демо.
Преимущества
- Реал-тайм 3D: быстрый вывод продукта, оптимизация ресурсов.
- Принятие решений: пространственные визуализации ускоряют согласование.
- Экономия: меньше дублирования, ниже себестоимость.
- Кроссплатформенность: 20+ платформ — от мобильных до VR.
Возможности
- Импорт CAD/BIM через Unity Asset Transformer Toolkit (70+ форматов).
- Управление активами в Unity Asset Manager (облако).
- Создание и симуляция реалистичных сцен и процессов.
- Развёртывание на AR/VR, веб, десктоп, мобильные устройства.
В составе
- Unity 6: быстрый рендер, AI, мультиплатформа.
- Unity Asset Transformer Toolkit (бывший Pixyz).
- Unity Asset Manager: облачное DAM для 3D-активов.
- Build Automation: CI/CD для сборки и деплоя.
Комментарии (91)
- Unity не возвращала «Runtime Fee» для игр: новая 4 % отчисления касаются только лицензии «Industry» для неигровых продуктов.
- Сообщество критикует Unity за плохую коммуникацию, непрозрачные цены и «contact sales», что выглядит как попытка «выжать» клиентов.
- Многие разработчики уже мигрируют или советуют Godot/Unreal, считая Unity ненадёжным партнёром, способным менять условия в любой момент.
- Некоторые напоминают, что специальные лицензии для неигровых рынков существовали лет 10, но теперь процент берут прямо с выручки.
Modern CI is too complex and misdirected (2021) 💬 Длинная дискуссия
Современные CI-платформы стали мощнее, но и сложнее. GitHub Actions, GitLab и др. предлагают YAML-конфиги с шаблонами, условиями, секретами, кешем, артефактами, экосистемой actions — в итоге CI превращается в полноценную систему сборки.
Базовые примитивы (задачи, зависимости, шаги) не отличаются от Makefile-ов, а добавление распределённого запуска и кеша делает CI почти идентичным современным билд-системам вроде Bazel.
Сложность растёт:
- YAML становится языком программирования.
- Пользователи копируют чужие конфиги, не понимая, что происходит.
- Платформы закрываются на собственных экосистемах, создавая vendor lock-in.
Итог: вместо простого «удалённого запуска тестов» мы получили громоздкую систему, где границы между CI и build-системой стёрлись.
Комментарии (159)
- Участники сходятся во мнении, что современные CI-системы слишком сложны и слишком «далеко» от разработчика, превращаясь в гибрид билд-системы и платформы.
- Многие предлагают упрощение: локально-переносимые скрипты (Bash, Justfile, build.bash), контейнеры или минималистичные движки вроде builds.sr.ht, Drone OSS, Buildbot, Linci.
- Критика YAML-конфигураций и SaaS-зависимости: GitHub Actions «застрял», GitLab CI мощнее, но всё равно требует «платформы».
- Идея «CI должен быть просто расширением билд-системы» (Bazel, Nix, Dagger) звучит, но требует единого «Steve Jobs билд-систем», а не новых технологий.
- Итог: пока нет серебряной пули; кто хочет простоты — пишет ./build.sh и запускает где угодно, кто хочет мощности — мирится с уровнем сложности текущих CI.