Hacker News Digest

Тег: #sqlite

Постов: 13

CEO fired developers to make room for AI. Developers create open source AI CEO (github.com) 🔥 Горячее 💬 Длинная дискуссия

Open Executive — это система виртуального исполнительного руководства, построенная на восьми специализированных агентах Claude (CSO, CFO, CHRO, GC, COO, CMO, CPO, Director of Board Communications), которые работают за кулисами, но отвечают единым, согласованным голосом старшего исполнителя с уровнем знаний Harvard MBA. Система использует архитектуру RAG: каждый запрос проходит через Executive Orchestrator (claude-sonnet-4-6), который параллельно вызывает специалистов, извлекающих релевантный контекст из двух слоёв — встроенной MBA-базы знаний (в ChromaDB, git-tracked) и загруженных пользователем корпоративных документов (в отдельной коллекции company_docs). После генерации ответа фоновый процесс claude-haiku-4-5 сохраняет ключевые решения и инициативы в SQLite как эпизодическую память, которая подгружается в начало следующей сессии в блоке <past_decisions>. Также есть встроенный планировщик для проактивных напоминаний о времени чувствительных действиях.

Для расширения системы под новые домены требуется: добавить alias в DOMAIN_ALIASES, разместить Markdown-документы в knowledge/builtin/your_domain/, подготовить минимум два сценария оценки в evals/scenarios/ и отправить PR — CI проверяет наличие всех компонентов. Оценка качества проводится через набор из 29 сценариев, где claude-opus-4-7 выступает в роли LLM-as-judge по пяти измерениям (коherence persona, domain accuracy, использование контекста компании, качество маршрутизации, actionability), требуя среднего балла ≥3.5/5; падение любого измерения более чем на 10% относительно main блокирует PR. Все пользовательские данные (профиль YAML, загруженные файлы, ChromaDB) хранятся локально и игнорируются git, никогда не покидая устройство или приватный том в облаке, кроме как в промптах, отправляемых в Anthropic API, которые не используются для обучения моделей. Лицензия — Apache 2.0.

by GrumpySciGuy • 27 августа 2026 г. в 01:46 • 355 points

ОригиналHN

#anthropic#apache-2.0#chromadb#claude#github#llm#openexecutive#rag#sqlite

Комментарии (211)

Тред воспринимает проект преимущественно как шуточный PR-ход и сатиру на замену разработчиков AI. Главное добавление дискуссии — концептуальное: @Animats выделяет это как новый класс «corporate-level AI» (организация из агентов), а не «human-level AI», и сравнивает с Gas Town и подходом «Fences, not Sandboxes». Скептики (@janalsncm, @walrus01) указывают на практические минусы — высокая стоимость токенов и качество ответов на уровне обычного ChatGPT. @reillyse возражает против самой посылки тредa: роль CEO — защищать капитал, а не отвечать на вопросы, поэтому замена AI нерелевантна.

  • Спор: @reillyse спорит с доминирующим нарративом треда: CEO должен «исчезнуть на год» без ущерба для компании, его функция — защита инвестированного капитала, а не ответы на вопросы; поэтому AI-замена бьёт мимо цели. Большинство же (@Animats, @theodorewiles, @drTobiasFunke) считают, что AI лучше справится с обзором данных и принятием решений, чем люди-CEO.

  • Почти все сходятся, что проект — это сатира и PR-жест, а не рабочий инструмент: @hypfer называет это «petty performative PR stunt», @janalsncm не видит преимущества над ChatGPT из коробки, @walrus01 предупреждает о раздувании счёта за Anthropic-токены.

  • Несколько комментаторов (@Animats, @theodorewiles, @arjie) сходятся, что реальная ценность — не «AI-CEO», а AI как структурированный корпоративный decision-maker с прозрачной историей решений; @yunnpp добавляет, что auditable executive сам по себе — это новинка.

  • Совет: @thelastgallon советует продвигать замену CEO через shareholder resolutions с готовыми промптами, предлагая формат SKILLs.md для инициативы.

  • Совет: @dchftcs предлагает конкретный сценарий: технари, застрявшие в низкоуровневых задачах, должны использовать AI, чтобы подняться до product/decision-making ролей и конкурировать с текущими CEO.

  • Спор: @Animats утверждает, что multi-agent «организационный» AI — это новая важная категория, требующая внимания, хотя такие системы «expensive to operate» из-за внутренних коммуникаций агентов. @walrus01 подтверждает высокую стоимость токенов, но это скорее практическая претензия, чем возражение по существу.

  • @edoceo, @drTobiasFunke, @bwhiting2356 отмечают, что часть функций CEO (vision, prioritization, координация, data-driven decisions) теоретически воспроизводима AI, но @bwhiting2356 возражает: high-order strategy, relationship building и управление людьми будут автоматизированы последними.

  • Совет: @chanux предлагает обратный эксперимент: пусть C-suite попробует управлять только с AI и посмотрит на результат, чтобы сравнить с гипотезой AI-CEO.

  • Спор: @holoduke жалуется на разрыв между «gold plated stories» об автономных агентах и реальностью: он сам использует AI весь день, но ни разу не видел полностью рабочую замену команды людей — это прямой прод-опыт против хайпа.

  • Ряд комментаторов (@arjie, @nullorempty, @matheusmoreira) распространяют идею замены дальше: на worker cooperatives, политиков, чиновников — аргумент, что AI не подвержен компромату и bias-у.

  • @__MatrixMan__ ставит экспериментальный вопрос: если компании под управлением людей систематически проигрывают AI-управляемым, это говорит больше об AI или о том, как власть коррупционирует людей — прямого ответа в треде нет.

Executable Is a SQLite Database (fzakaria.com) 🔥 Горячее

Идея заменить ELF-формат исполняемых файлов на SQLite — не шутка, а прототип под названием SELF, где сам файл — это SQLite-база, которую можно запускать как обычную программу. Вместо readelf и objcopy теперь можно писать SQL-запросы: SELECT name FROM elf_symbols или SELECT soname FROM ldd, чтобы узнать зависимости. Формат хранит все метаданные — символы, секции, зависимости — как таблицы, а не как бинарные структуры, что делает анализ и модификацию тривиальной задачей.

ELF на самом деле уже похож на базу данных — он вручную реализует индексы, строковые интернирование и внешние ключи, но без схемы и надёжности. SELF использует встроенную стабильность SQLite: изменения вроде LD_PRELOAD становятся транзакциями — можно вставить строку в таблицу preload, запустить программу, получить другой результат, а потом откатить всё одним ROLLBACK. Это позволяет атомарно перехватывать функции везде в системе без пересборки. Прототип работает с glibc, поддерживает конвертацию ELF ↔ SELF и даже запускается в NixOS-виртуальной машине. Nix даёт возможность перестроить мир — и SELF показывает, как можно переписать фундаментальные соглашения операционных систем.

by setheron • 24 августа 2026 г. в 04:48 • 306 points

ОригиналHN

#elf#glibc#ld-preload#nixos#operating-system#self#sqlite#transaction

Комментарии (56)

Идея использования SQLite в качестве формата исполняемых файлов (SELF) интересна как попытка унификации метаданных, но практически необоснованна: ELF уже структурирован, но жёстко привязан к конвенциям — SQLite не решает его основную проблему, а добавляет избыточность. Существующие инструменты (osquery, nushell, виртуальные таблицы над /proc) и форматы (PE/COFF, .NET) уже обеспечивают структурированный доступ к системным данным без изменения формата исполняемых файлов. SQLite упрощает манипуляции с ELF-секциями по сравнению с objcopy/readelf, но не оправдывает замену ELF — особенно из-за невозможности эффективного mmap BLOB-данных из-за структуры страниц, что критично для исполняемых файлов. Для SELF требуется загрузчик, преобразующий его в ELF — приемлемо для демонов, но не для коротких утилит. Удаление метаданных через sstrip уже распространено, так как секционная таблица не обязательна для загрузки. Идея напоминает проваленные WinFS, AS/400 и PICK — это не техническая, а системная проблема: унификация на уровне формата не решает архитектурных ограничений. SELF не добавляет распределённости или транзакционности, в отличие от DBOS. Реальное внедрение требует полноценной экосистемы инструментов — их сейчас нет, и разработка неоправданна. Лучше развивать стандарты метаданных (ELF-расширения, DWARF), а не переписывать всё на SQLite, что лишь заменяет один барьерный API (fopen) другим (SQLite) без реального упрощения.

Tracking down the 16-year-old WAL-reset SQLite bug (tailscale.com) 🔥 Горячее 💬 Длинная дискуссия

В конце 2023 года у Tailscale появилась система‑широких сбоев, вызванных редкой формой повреждения SQLite‑базы. Инциденты начались в августе, когда резервные копии, сохраняемые каждые несколько минут в S3, начали падать: PRAGMA integrity_check фиксировал повреждение, а восстановление требовало ручного ввода нескольких конфигураций. За полгода было зафиксировано 19 повторяющихся случаев, пока не выяснилось, что виновником стал баг в самом SQLite, связанный с особенностями WAL‑режима и агрессивным чекпоинтом.

Ключевой факт — SQLite не предназначен для одновременного чтения и записи в режиме «многократных» контрольных точек; при слишком частых сохранений он может «перезаписать» журнал и повредить файл. Команда обнаружила, что в их конфигурации WAL‑файл сбрасывается в момент, когда открывается новый процесс‑чтение, что приводит к гонке условий. Исправив настройку резервного копирования и добавив небольшую задержку перед сбросом WAL, они устранили проблему, а также подготовили патч для ядра SQLite, который будет включён в будущие версии. Теперь сервис стабилен уже несколько месяцев, а команда планирует более тщательно тестировать любые нестандартные схемы использования «скучной» технологии.

by ropbear • 12 августа 2026 г. в 14:22 • 1051 points

ОригиналHN

#backup#bug#checkpoint#integrity-check#s3#sqlite#tailscale#wal

Комментарии (196)

Тред анализирует выявление 16-летней ошибки в SQLite, подчеркивая важность тщательного тестирования и поддержки открытого исходного кода. Участники отмечают значимость этого открытия и ценят прозрачность команды Tailscale в публикации результатов. Некоторые рекомендуют использовать Postgres для систем с высокой конкуренцией, считая SQLite неоптимальным выбором, другие оспаривают эту позицию.

Critical CVE issued for hallucinated SQLite vulnerability (research.jfrog.com) 🔥 Горячее 💬 Длинная дискуссия

В последние дни появилось несколько «критических» CVE в SQLite, опубликованных в репозитории, где почти все они оказались выдуманными. Проверка показала, что в них ссылаются на несуществующие функции, указаны неверные номера строк и даже содержат противоречивые метаданные — типичный признак LLM‑slop. Одна из записей (CVE‑2026‑51302) получила первоначально оценку 9.8, но позже её CVSS‑балл был снижен до 7.6, а официальная страница SQLite с advisories её вовсе не упоминает.

Проверка проводилась в трёх шагах: сравнение кода в официальных версиях 3.41.0, 3.51.2 и 3.51.3 с описанием уязвимостей; сборка этих релизов в изолированных Docker‑контейнерах; запуск PoC‑SQL‑запросов под AddressSanitizer. Во всех случаях уязвимости не воспроизводились, а функции, на которые ссылались в advisories, либо отсутствовали, либо находились в других версиях. Эти случаи подчёркивают риск автоматического доверия к новым CVE, особенно когда они генерируются ИИ и быстро заполняют базы данных, создавая лишний шум для команд по управлению уязвимостями.

by ymir_e • 03 августа 2026 г. в 11:28 • 622 points

ОригиналHN

#addressesanitizer#cve#docker#llm-slop#sqlite

Комментарии (238)

Тред обсуждает риски автоматического обнаружения уязвимостей с помощью LLM: высокий уровень ложных срабатываний и шума. Участники подчеркивают необходимость ручной верификации всех обнаруженных уязвимостей и критическую роль опытных специалистов в их оценке. Некоторые считают, что проблема — не в LLM, а в системе CVE, позволяющей публиковать уязвимости без должной проверки, что открывает возможность для злоумышленников намеренно загружать систему ложными данными и снижать её эффективность. Организациям рекомендуется не полагаться на автоматизированные системы без ручной проверки.

SQLite should have (Rust-style) editions (mort.coffee) 🔥 Горячее

SQLite по умолчанию игнорирует ограничения внешних ключей и допускает хранение данных неверного типа, что приводит к скрытым ошибкам. В частности, ограничения foreign key отключены, а ROWID может переиспользоваться, поэтому удаление пользователя без удаления его записей не вызывает ошибки, а при создании новой записи с тем же id получается ссылка на чужой пост; включив PRAGMA foreign_keys=ON, получаем сообщение «Runtime error: FOREIGN KEY constraint failed (19)». Эти особенности делают базу уязвимой, хотя и обеспечивают совместимость со старым кодом.

Автор предлагает ввести «редацию» SQLite, аналогичную системе версий Rust, где PRAGMA edition=2026 будет включать набор pragmas: foreign_keys=ON, busy_timeout=5000, journal_mode=WAL, synchronous=NORMAL и включать строгий режим таблиц. Такое изменение сохраняет обратную совместимость, но позволяет постепенно улучшать параметры, например в будущих версиях добавить WAL2. Настройки повышают надёжность (проверка внешних ссылок), производительность (WAL, NORMAL) и упрощают миграцию на новые версии.

Эти pragmas также включают busy_timeout=5000, чтобы избежать блокировок, и включают строгий режим, который требует указания всех обязательных полей, что упрощает поддержку схемы. Таким образом, пользователь получает набор «безопасных» настроек, который можно активировать одной командой, не ломая старый код.

by gnyeki • 15 июля 2026 г. в 22:42 • 298 points

ОригиналHN

#database#editions#foreign-key#postgresql#pragmas#rust#sqlite#wal

Комментарии (130)

Обсуждение добавляет к статье практические примеры использования SQLite, возражения против введения 'изданий' и опасения по поводу совместимости и фрагментации.

  • Спор: Некоторые участники обсуждения считают, что SQLite должен оставаться с текущими настройками по умолчанию, поскольку они были выбраны для обеспечения совместимости и гибкости, в то время как другие предлагают ввести более строгие настройки по умолчанию для повышения безопасности и целостности данных.

  • Совет: Участники рекомендуют использовать wrapper-библиотеки, которые устанавливают sensible defaults, или использовать альтернативные базы данных, такие как PostgreSQL, для проектов, требующих более строгих гарантий.

  • Большинство участников согласны с тем, что текущие настройки по умолчанию SQLite могут быть не подходящими для всех случаев использования, но расходятся во мнениях о том, как следует изменить эти настройки.

  • Спор: @kccqzy возражает против введения 'изданий' в SQLite, поскольку это может нарушить совместимость с более старыми версиями и усложнить использование базы данных.

  • Совет: @Rendello предлагает обсудить эту идею на форуме SQLite, поскольку разработчики могут быть заинтересованы в рассмотрении этого предложения.

I don't think I need to explain why it's a bad idea for a database to be so careless about data validation. — @bambax

Recall for Linux (github.com) 🔥 Горячее 💬 Длинная дискуссия

Разработчик создал неофициальную реализацию Microsoft Recall для Linux, позволяющую автоматически записывать действия пользователя для последующего поиска. Проект использует Wayland для захвата экрана и работает в средах GNOME и KDE Plasma, сохраняя данные локально в базе SQLite. Интерфейс поиска позволяет находить нужные моменты по текстовому запросу, аналогично оригинальной функции Windows.

Ключевое отличие — полное локальное хранение данных без отправки в облако, что повышает приватность. Реализация использует Python и GTK4, поддерживает фильтрацию по приложениям и временным промежуткам. Проект находится на ранней стадии разработки, но уже демонстрирует основной функционал Recall. Разработчик отмечает, что это экспериментальный проект, не связанный с Microsoft.

by anticensor • 27 октября 2025 г. в 07:24 • 465 points

ОригиналHN

#github#gnome#gtk4#kde-plasma#linux#python#sqlite#tesseract#wayland

Комментарии (186)

  • Обсуждение началось с сатиры о Recall, но быстро перешло к обсуждению приватности и контроля.
  • Участники обсуждали, что идея локального логирования активности может быть полезной, если она реализована прозрачно и под контролем пользователя.
  • Были упомянуты альтернативы вроде openrecall и Dayflow, но также подчеркнута важность того, чтобы любое подобное ПО было открытым исходным кодом и не требовало бы передачи данных на внешние серверы.
  • Участники также обсудили, что даже если бы идея была реализована в виде скрипта, который бы делал скриншоты и распознавал их с помощью tesseract, это бы все еще вызывало те же самые вопросы приватности.
  • В конце обсуждение вернулось к тому, что даже если бы такой скрипт был бы полезен, он бы все еще требовал бы полного доступа к системе и потенциально мог бы быть использован злоумышленниками.

Why Is SQLite Coded In C (sqlite.org) 💬 Длинная дискуссия

SQLite написан на C, а не на более современных языках, по нескольким ключевым причинам.

Производительность и контроль: C позволяет разработчикам писать код, который выполняется максимально близко к аппаратному уровню, что критично для низкоуровневых библиотек, таких как SQLite. Хотя некоторые языки могут заявлять о схожей производительности, C остается эталоном. Кроме того, его "портабельность" (работа практически на любой платформе) делает его универсальным.

Совместимость и стабильность: Библиотеки на C могут использоваться практически из любого другого языка программирования, что делает SQLite доступным для разработчиков на разных платформах и в разных экосистемах. C также является зрелым и стабильным языком, что минимизирует риски, связанные с изменчивостью более молодых языков.

Минимальные зависимости: В отличие от многих современных языков, которые требуют объемные среды выполнения, код на C имеет минимальные зависимости. Это делает развертывание легким и надежным, что критично для встраиваемых систем, где SQLite часто используется.

Хотя существуют аргументы в пользу использования объектно-ориентированных или "безопасных" языков (таких как Rust), эти варианты были либо недоступны, либо незрелы, когда начиналась разработка SQLite. Более того, переход на новый язык потребовал бы значительных усилий без гарантии улучшений, особенно учитывая, что SQLite уже хорошо отлажен и оптимизирован в своей текущей реализации на C.

by plainOldText • 14 октября 2025 г. в 20:32 • 247 points

ОригиналHN

#c#performance#portability#rust#sqlite

Комментарии (255)

  • Обсуждение вращается вокруг того, стоит ли переписывать SQLite на другие языки, но аргументы сводятся к тому, что существующий код уже безупречен, а переписывание может внести новые баги и даже замедлить работу.
  • Подчеркивается, что SQLite — это не только код, но и 100% покрытие тестами и 25 лет отладки, что делает язык менее важным, чем для других проектов.
  • Участники обсуждения отмечают, что языки вроде Rust всё ещё молоды и меняются, а также не предоставляют преимуществ в контексте уже готового кода.
  • Поднимается вопрос о том, что важнее — язык или разработчики, и подчеркивается, что последние могут писать на любом языке, если бы это действительно было нужно.

Modern messaging: Running your own XMPP server (codedge.de)

Запуск собственного XMPP-сервера на базе ejabberd позволяет избежать слежки за перепиской и утечек данных, которые характерны для коммерческих мессенджеров. Это особенно актуально на фоне планов ЕС по автоматическому мониторингу всех чатов и сообщений. XMPP поддерживает шифрование OMEMO, обмен файлами, групповые чаты и аудио-/видеозвонки, оставаясь ресурсоэффективным решением.

Для развёртывания сервера требуется настроить DNS-записи для оснвных и вспомогательных поддоменов, установить ejabberd через официальный репозиторий или GitHub, открыть необходимые порты (5222, 5269, 5280 и другие) и настроить конфигурацию в YAML. Ключевые настройки включают отказ от модулей, нарушающих приватность (mod_last, mod_bosh), использование SQLite вместо Mnesia и генерацию свежих DH-параметров. Все шаги автоматизированы с помощью Ansible-ролей в открытом репозитории.

by codedge • 06 октября 2025 г. в 12:02 • 195 points

ОригиналHN

#ansible#deltachat#docker#ejabberd#matrix#omemo#prosody#signal#sqlite#xmpp

Комментарии (114)

  • Участники обсуждают проблемы с клиентами XMPP, особенно на iOS: отсутствие реакций, ненадежные уведомления, неудовлетворительный пользовательский интерфейс и недостаток современных функций (гифки, звонки).
  • Многие отмечают простоту настройки и надежность серверов XMPP (Prosody, ejabberd), но подчеркивают, что основная сложность для широкого внедрения — это сетевой эффект и нежелание неподготовленных пользователей мириться с отсутствием привычного удобства.
  • В качестве альтернатив упоминаются Matrix (критикуется за сложность и нестабильность), Delta.Chat (на основе email) и Signal (отмечаются проблемы с приватностью из-за номера телефона и возможный уход из ЕС).
  • Поднимается вопрос цензуры и тотального мониторинга в ЕС, что может подтолкнуть пользователей к самохостингу и децентрализованным решениям.
  • Обсуждаются технические аспекты развертывания: проблемы с блокировкой портов на публичных сетях, необходимость reverse proxy, использование Docker для упрощения установки и управления.

Litestream v0.5.0 (fly.io) 🔥 Горячее 💬 Длинная дискуссия

Выпуск Litestream v0.5.0 знаменует переход от простого резервного копирования к эффективному восстановлению на определённый момент времени (PITR). Ключевое нововведение — формат LTX, позаимствованный из проекта LiteFS. Вместо потоковой передачи отдельных страниц базы данных Litestream теперь группирует изменения в рамках транзакций, что значительно ускоряет восстановление после сбоя.

Формат LTX решает проблему "горячих страниц" — например, при частых вставках в таблицу с автоинкрементным ключом, когда изменения концентрируются на ограниченном числе страниц. Раньше Litestream обрабатывал каждую страницу отдельно, что замедляло процесс. Теперь транзакции записываются целиком, сокращая количество операций ввода-вывода и ускоряя восстановление. Это делает SQLite ещё более надёжным решением для полноценных приложений.

by emschwartz • 02 октября 2025 г. в 19:02 • 386 points

ОригиналHN

#fly.io#litefs#litestream#ltx#mysql#pitr#postgresql#rsync#s3#sqlite

Комментарии (174)

  • Пользователи обсуждают сложности развертывания SQLite-приложений на Fly.io, включая проблемы с инициализацией и миграцией баз данных.
  • Litestream получает положительные отзывы за простоту использования, низкую стоимость репликации в S3 и надежность как инструмента для резервного копирования и репликации.
  • Обсуждаются технические детали Litestream: поддержка S3-совместимых хранилищ, условные записи для реализации временных lease и планы по реализации read-replicas через VFS.
  • Участники сравнивают Litestream с другими решениями (LiteFS, rsync, управляемые БД), отмечая его операционную простоту и отсутствие необходимости в отдельном сервере.
  • Поднимаются вопросы о практическом применении SQLite и Litestream: восстановление после сбоев, работа с нестабильным интернетом, целесообразность использования против PostgreSQL/MySQL для разных сценариев.

Why I chose Lua for this blog (andregarzia.com)

Автор перевел свой блог с Racket на Lua, чтобы снизить сложность и обеспечить долгосрочную стабильность. Основная причина — разочарование в быстро меняющихся экосистемах вроде JavaScript и Ruby, где постоянные обновления и ломающие изменения усложняют поддержку. Lua привлек медленным развитием: между версиями 5.1 (2006) и 5.4 (2020) различия минимальны, а язык требует лишь компилятора C89.

Блог работает по старинке — через CGI-скрипты, с SQLite в качестве базы и шаблонизацией Mustache. Несмотря на кажущуюся архаичность, автор ценит простоту, минимальное количество зависимостей (около десяти) и возможность писать собственные легковесные библиотеки. Ключевой вывод: блог — это пространство для экспериментов, где можно отказаться от модных инструментов в пользу того, что действительно работает и приносит удовольствие.

by nairadithya • 02 октября 2025 г. в 16:58 • 186 points

ОригиналHN

#cgi#hugo#javascript#lua#mustache#python#racket#ruby#sqlite

Комментарии (135)

  • Предложение возродить создание собственных движков для блогов как учебного проекта для инженеров из-за его низкого риска и возможностей для экспериментов.
  • Обсуждение выбора Lua как стабильного и минималистичного языка для веб-разработки, несмотря на его недостатки (1-based индексация, разрыв между версиями, мало стандартных библиотек).
  • Критика сложности современных стеков для блогов и аргументы в пользу простых решений: статические генераторы (Hugo), чистый HTML или минимальные скрипты (Python, Lua).
  • Упоминание альтернативных технологий и подходов: Redbean, Perl, Caddy, XSLT, Web Components, Fennel, OpenResty и другие.
  • Подчёркивание важности личного выбора, удовольствия от процесса и независимости от внешних сервисов при создании блога.

Behind the scenes of Bun Install (bun.com) 🔥 Горячее

Как устроен bun install

  • Один бинарник — весь менеджер зависимостей живёт внутри Bun, нет внешних вызовов к npm, yarn, node-gyp.
  • Сишный движок — парсинг package.json, yarn.lock, node_modules происходит на Zig, без JS-оверхеда.
  • HTTP-пул + кэш — 50–100 параллельных потоков, кэш на диске + SQLite-индекс, повторный install — <100 мс.
  • Symlink-ферма — модули не копируются, а hard-link’ются из глобального кэша; экономия 70 % диска.
  • Муравьиный алгоритм — сначала скачиваются «листья» дерева зависимостей, потом родители; сеть греется максимально.
  • Платформенные пакеты — если в lock-файле есть запись под Linux, macOS и Windows, скачиваются сразу три архива и раскладываются в node_modules/.cache, при запуске выбирается нужный.
  • postinstall без shell — скрипты запускаются встроенным JS-движком, нет overhead’а на spawn bash/cmd.
  • Проверка целостности — каждый tarball сверяется по SHA256 из lock-файла, кэш защищён от подмены.
  • Мониторинг прогресса — терминал обновляется раз в 16 мс, рисуется ASCII-полоса и счётчик «пакетов/сек».
  • Фоллбек к npm — если пакет не найден в официальном реестре, Bun автоматом лезет в npm и кладёт tarball в кэш, пользователь не замечает разницы.

by Bogdanp • 11 сентября 2025 г. в 12:39 • 403 points

ОригиналHN

#bun#http#node-modules#node.js#npm#package.json#sqlite#yarn#zig

Комментарии (134)

  • Пользователи обсуждают статью о внутреннем устройстве и производительности менеджера пакетов Bun.
  • Многие хвалят скорость и простоту Bun, но отмечают проблемы совместимости с Node.js и стабильностью.
  • Часть комментаторов сомневается в практической пользе высокой скорости установки пакетов и считает переход с Node.js рискованным.
  • Упоминаются альтернативы — Deno, pnpm, npm — и сравнение с ними по скорости и надёжности.
  • Некоторые считают, что Bun не предлагает «убийственных» фич, чтобы оправдать переход с зрелой экосистемы Node.js.

Immich – High performance self-hosted photo and video management (github.com) 🔥 Горячее 💬 Длинная дискуссия

Immich — быстрый и бесплатный аналог Google Фото, который ставится у себя на сервере.
Хранит фото/видео, делает резервные копии, группирует по лицам и геометкам, ищет по объектам и тексту.
Есть веб, мобильные приложения, автозагрузка, совместные альбомы и RAW.
Запускается в Docker за пару минут.

by rzk • 08 сентября 2025 г. в 07:58 • 481 points

ОригиналHN

#debian#docker#github#google-photos#nextcloud#pikapods#sqlite

Комментарии (163)

  • Пользователи хвалят Immich за быстрый рост, «почти идеальный» клиент и удобную замену Google Photos.
  • Ключевые претензии: нет стабильного релиза, агрессивные обновления зависимостей, отсутствие официального пакета в Debian.
  • Некоторые страдают от слабого поиска, отсутствия OCR, сжатия и SQLite-варианта.
  • Часть людей отказывается от самостоятельного хостинга из-за «bus-factor = 1», дорогого блок-хранилила и риска потерять фото.
  • Альтернативы: Ente.io (E2E-шифрование), PhotoPrism, Nextcloud Photos; кто-то просто докупает место у PikaPods.

Show HN: Base, an SQLite database editor for macOS (menial.co.uk) 🔥 Горячее 💬 Длинная дискуссия

Base — компактный и мощный редактор SQLite для macOS.

Скачать бесплатно | Купить

Возможности

  • Инспектор схем
    Быстро просматривайте структуру таблиц, типы столбцов и связи без SQL.

  • Визуальный редактор таблиц
    Создавайте и изменяйте таблицы мышью, без CREATE/ALTER.

  • Браузер данных
    Просматривайте, фильтруйте и правьте записи прямо в таблице.

  • SQL-редактор
    Пишите запросы с подсветкой синтаксиса, автодополнением и сохранением сниппетов.

  • Импорт/Экспорт
    Загружайте CSV и SQL-дампы; выгружайте в CSV, SQL, JSON и Excel.

Системные требования

macOS 15 Sequoia и выше.
Бесплатная версия ограничена; полная — единоразовая покупка.

Документация | Контакты

by __bb • 25 августа 2025 г. в 14:17 • 648 points

ОригиналHN

#csv#database#duckdb#excel#json#macos#sql#sqlite

Комментарии (166)

  • Пользователи удивлены, что Base существует уже 15 лет, но плохо заметен в поиске.
  • Хвалят «ремесленный» подход: маленькая команда, узкая задача, высокое качество.
  • Часто сравнивают с TablePlus, Postico и sqlitebrowser, отмечая превосходство в «родном» macOS-UX.
  • Просят добавить DuckDB, UUID, автозагрузку расширений, FK по умолчанию и диаграммы схемы.
  • Покупатели благодарны за возможность покупки вне Mac App Store и за льготную цену.