Non-Uniform Memory Access (NUMA) is reshaping microservice placement
Codemia
Подготовка к систем-дизайн-интервью через практику:
Начать | Блог | Системный дизайн
Юридика
Условия | Конфиденциальность | Контакт
Комментарии (24)
- Обсуждение подтверждает: для HPC, высоконагруженных и чувствительных к задержкам систем NUMA-распределение критично, и ручное pinning процессов/потоков к нужным узлам остаётся основным способом добиться стабильной производительности.
- В публичных облаках (AWS, GCP) NUMA-топология скрыта, VM часто выглядят как однонодовые UMA; полезны
lscpu
,lstopo
,cpu-latency
, но настроек управления NUMA почти нет. - Сообщество делится инструментами:
mpibind
,sched_ext
, DAMON, fake NUMA, идеями эмуляции NUMA даже на Raspberry Pi 5. - Kubernetes уже умеет NUMA-affinity, но вручную выбирать 64-ядерный инстанс вместо 96-ядерного (чтобы не пересекать сокеты) всё равно приходится самим.
- Крайняя альтернатива — односокетные серверы с NPS=1: «равномерно медленно», но без головной боли.
French firm Gouach is pitching an Infinite Battery with replaceable cells
Французский стартап Gouach предлагает «бесконечную» батарею для электровелосипедов, в которой любой владелец без сварки и специнструмента может заменить отдельные 18650-элементы отвёрткой.
- Конструкция: печатные платы с гибкими контактами вместо привычных пружин, чтобы выдерживать вибрации.
- Корпус: собственный, IP67 и UL 2271, после неудач с водозащитой в прокатных велосипедах.
- Функции: Bluetooth-контроль здоровья ячеек, совместимость с ≈ 90 % существующих моделей и «акустических» велосипедов.
Проект разрабатывался четыре года тремя человеками; цель — не выбрасывать всю батарею из-за пары вышедших из строя элементов.
Комментарии (121)
- Gouach показывает ремонтируемый аккумулятор для e-bike: 3+ года испытаний, выдержал воду, удары, реки.
- В США поставки возобновятся в сентябре: склад на восточном побережье минимизирует тарифы.
- Поддержка зашифрованных протоколов Bosch/Bafang через приложение; открытый протокол и open-source планируются.
- Споры о безопасности: сменные 18650 требуют балансировки, риск пожара; противники считают идею «для продвинутых».
- Возможность летать: снять элементы ≤100 Вт·ч и перевозить «мертвый» корпус, но на практике вызывает вопросы безопасности.
Mangle – a language for deductive database programming
Mangle — проект Google на GitHub.
Язык: Go.
Лицензия: Apache-2.0.
Описание
Mangle — это компилятор/интерпретатор логического языка, ориентированного на:
- анализ и трансформацию графов;
- декларативные запросы к данным;
- поддержку Datalog-подобного синтаксиса.
Ключевые особенности
- Компилирует логические правила в Go-код или исполняет напрямую.
- Поддерживает рекурсивные запросы и агрегации.
- Работает с in-memory и persistent-хранилищами.
Установка
go install github.com/google/mangle/cmd/mangle@latest
Быстрый старт
- Создай файл
example.mgl
:edge("a", "b"). edge("b", "c"). path(X, Y) :- edge(X, Y). path(X, Z) :- edge(X, Y), path(Y, Z).
- Запусти:
mangle example.mgl --query="path(\"a\", Z)"
Документация
Комментарии (14)
- Участники спорят, связан ли новый язык Google с «Deductive Database» из видео 3b1b: одни считают, что это очередной внутренний эксперимент, другие — просто «люди, которые веселятся под крылом Google».
- Поднимается вопрос, почему почти все инструменты расширяют «ванильный» Datalog: его ограничения делают расширения неизбежными.
- В треде упоминаются альтернативные языки запросов — PreQL/Trilogy, Malloy, PRQL, PathQuery — и обсуждается, как они соотносятся с SQL и реляционной алгеброй.
Clojure Async Flow Guide
Быстрый старт
Библиотека flow отделяет бизнес-логику от развёртывания: топологии, исполнения, обмена сообщениями, жизненного цикла, мониторинга и обработки ошибок.
step-fn и процессы
Логика описывается функциями step-fn, которые flow заворачивает в процессы, крутящиеся в цикле. step-fn не работают с каналами напрямую и не хранят состояние, поэтому легко тестируются и переиспользуются.
step-fn имеет четыре арности:
describe (step-fn) → descriptor
Возвращает статическое описание :params
, :ins
, :outs
— карты имя → документация. Имена входов и выходов не должны пересекаться.
{:params {:size "Максимальный размер"}
:ins {:in "Входной канал"}
:outs {:out "Выходной канал"}}
init (step-fn arg-map) → init-state
Один раз вызывается при старте процесса; превращает параметры из flow-def в начальное состояние.
transition (step-fn state transition) → state'
Вызывается при переходах жизненного цикла (::flow/start
, ::flow/stop
, ::flow/pause
, ::flow/resume
). Используется для управления внешними ресурсами.
transform (step-fn state input msg) → [state' {out-id [msgs]}]
Вызывается для каждого входящего сообщения. Возвращает новое состояние и карту выходных сообщений. Выход может быть пустым, но каждое сообщение — не nil
. Исключения логируются в :error-chan
.
Состояние процесса
Карта с любыми ключами. Дополнительно:
::flow/pid
— идентификатор процесса::flow/in-ports
,::flow/out-ports
— карты cid → внешний канал (создаётся вinit
)::flow/input-filter
— предикат cid для фильтрации входных каналов
Хелперы
lift*->step
— изf(x) → coll
делает step-fn с одним входом и выходомlift1->step
— то же, ноf(x) → single-value
map->step
— из карты с ключами:describe
,:init
,:transition
,:transform
строит step-fn
Запуск процесса
Функция process
принимает step-fn и опции:
::workload
—:mixed
,:io
,:compute
:compute-timeout-ms
— таймаут для:compute
(по умолчанию 5000 мс)
Комментарии (74)
- Участники обсуждают, жив ли Clojure: сообщество стабильно, но менее хайповое; NuBank расширяет core-команду и нанимает Developer Advocate.
- core.async.flow предлагает декларативный, фиксированный граф каналов для «структурированной конкурентности»; ошибки и паузы можно отслеживать, но изменять топологию на лету пока нельзя.
- Сравнивают с GenStage (Elixir), Manifold, Trio и missionary/electric; можно использовать как OS-, так и green-потоки.
- JVM-тулчейн вызывает у новичков страх, но Leiningen/deps.edn упрощают работу, а отладка всё же возможна.
- Clojure-окосистема активно развивается: Babashka, XTDB, Dyna3 и другие проекты; язык недавно получил мажорный релиз и готовится к виртуальным потокам JVM.
The Lives and Loves of James Baldwin
Джеймс Болдуин был одержим идеей: мы боимся любви, потому что она обнажает нас. Чтобы не смотреть внутрь, люди придумывают ярлыки — «чёрный», «белый», «гей», «гетеро» — и превращают чужих в «других». В Америке это выливается в «расовую проблему». Пока белые (или «те, кто считает себя белыми») не признают свою историю и не научатся любить, равенства не будет.
Он повторял это везде — в статьях, книгах, интервью, спорах. Политика его не интересовала: ни реформы, ни законы, ни программы. Он верил не в улучшение, а в полный разрыв.
Личная жизнь была хаотичной: бесконечные сигареты, виски, бессонные ночи, случайные связи, несколько тяжёлых романов и три попытки самоубийства. Единственный «настоящий» роман — с Люсьеном Хапперсбергером, фотография 1963 года запечатлела их вместе.
Болдуин магнитил людей: бывший проповедник, он знал, как держать зал. Мог быть обаятельным, но и «устраивать спектакль», как вспоминал Стайрон: «Мы собирали либералов, а Джимми стоял у камина и говорил: “Детка, мы сожжём ваши грёбаные дома”».
Старшее поколение считало его устаревшим, новое — возводит в святых. Оба варианта ошибочны: его слова всё ещё неудобны.
Комментарии (12)
- Участники обсуждают цитату Болдуина о любви к Америке и праве критиковать её.
- Ссылаются на дебаты Болдуина с Уильямом Бакли и на книгу «The Fire Next Time» как переворачивающую сознание.
- Подчёркивают, что писатель всегда несёт послание, но далеко не все его правильно принимают.
- Связывают свободу критики с Первой поправкой и называют её основой американской идентичности.
- Отмечают, что страх мешает принятию любви и истины, но встречаются редкие сообщества, где открытость вознаграждается.
The decline of high-tech manufacturing in the United States
- Ключевые секторы: компьютеры/электроника, фармацевтика, аэрокосмос, медицинские приборы.
- Динамика с 1987 г.: занятость снизилась почти везде; лидеры (Силиконовая долина, Сиэтл, Route-128) сохранились, но с меньшими числами.
- Числа: с 1990 г. потеряно ~1 млн рабочих мест:
- компьютеры/электроника –850 тыс,
- аэрокосмос –300 тыс,
- фармацевтика + медприборы +189 тыс.
- Доля в экономике: с 2,8 % до 1,3 % — падение на 50 %.
Комментарии (101)
- Уцелевшие заводы в США действительно высокоавтоматизированы и дают мало рабочих мест.
- «Вернуть всё» сталкивается с нехваткой квалифицированных кадров, дороговизной и общественным неприятием роста цен.
- Ключевой риск — утрата инженерных навыков, цепочек поставок и обороноспособности, а не количество рабочих мест.
- Современная война требует не толпы полуквалифицированных рабочих, а узких специалистов и надёжных автоматизированных производств.
- Политики всё равно обещают «простые решения», потому что это выигрывает выборы.
AI vs. Professional Authors Results
- Повторю: я ненавижу, что ИИ умеет писать; авторы работают в романах, а не в микро-историях, где ИИ сейчас силён.
- Зачем флеш? Проверяем «точку разлома»: если стекло бьётся от пинг-понга, это важнее, чем сравнение с анвилом.
Участники: Robin Hobb, Janny Wurts, Christian/Miles Cameron и я — суммарно 15 млн проданных книг.
Оценки: два года назад 6 из 8 текстов получили ≤ 3 звёзд; сейчас 5 из 8 ≥ 3. Короткие формы всё равно недолюбливают читатели романов.
Голосование: 964 человека начали, 474 дошли до конца.
- В среднем публика ошибалась в 3 случаях, угадывала 3, «не решалась» 2 — монета не хуже.
- ChatGPT тоже промахнулся, хотя сам сочинял тексты.
Оценки (1–5)
№ | Автор | Ср. балл |
---|---|---|
1 | ИИ | 4.3 |
2 | ИИ | 3.9 |
3 | Человек | 3.7 |
4 | Человек | 3.6 |
5 | ИИ | 3.5 |
6 | Человек | 3.4 |
7 | ИИ | 3.3 |
8 | Человек | 3.2 |
Итог: ИИ не только выдал самый высокий балл, но и в среднем обогнал людей. Один из авторов, попробовавший угадать, ошибся 4 раза из 5 и поставил два ИИ-рассказа на верхние места.
Вывод: тест не претендует на научность, но показывает, что за два года ИИ стал убедительнее в микро-формате, а читатели (и сами авторы) его не отличили.
Комментарии (54)
- Участники сравнивают AI-рассказы с человеческими: многие не отличают их, но «лучшие» тексты всё-таки кажутся формальными и шаблонными.
- Кто-то видит в LLM полезный инструмент для «идейных, но неумелых» авторов; другие считают, что без живого автора исчезает главное — связь с читателем.
- Поднимаются вопросы о будущем ремесла писателя, авторских правах и возможном массовом вытеснении профессионалов.
- Некоторые отмечают, что AI хорошо справляется с абсурдными или сюрреалистичными запросами, но плохо строит цельные миры и глубокий смысл.
Llama-Scan: Convert PDFs to Text W Local LLMs
llama-scan — локальный инструмент для транскрибирования PDF с помощью LLM.
Полностью работает на вашем ПК: данные не уходят в облако.
Поддерживает модели Llama 3.2 3B/1B, работает без GPU.
Возможности
- Конвертация PDF → Markdown
- Пакетная обработка папок
- Параллельные задачи
- Подсчёт токенов и стоимости
- Плагины для Obsidian и Zotero
Установка
pip install llamascan
Использование
CLI:
llamascan input.pdf --output out.md
Python:
from llamascan import transcribe
transcribe("file.pdf", model="llama3.2:3b")
Требования
- Python ≥ 3.9
- Ollama (для локальных моделей)
Лицензия
MIT
Комментарии (78)
- Участники сравнивают LLM-OCR с классическими решениями: первые могут «галлюцинировать» и терять структуру, вторые точнее, но не понимают макет.
- Практики делятся пайплайнами: извлечь текст, снять скрин страницы, отправить всё в LLM с чётким промптом и структурированным выводом.
- Авторы жалуются на провисание процесса, пропуск символов и невозможность редактировать промпт под свои задачи (например, выделять только рукописные таблицы).
- Рекомендуют альтернативы: nanonets-ocr-s, Docling, Marker, Nougat, ocrmypdf, pgpdf, а также советуют бенчмарк OmniDocBench для объективной оценки.
HN Search isn't ingesting new data since Friday
HN Search не получает новые данные
Issue #248
Суть
Сервис поиска Hacker News перестал индексировать свежие посты и комментарии.
Причина
Проблема на стороне Algolia: поток данных из официального Firebase HN API прервался.
Последствия
- Новые истории и комментарии не появляются в результатах.
- Старые записи доступны, но поиск по ним не обновляется.
Статус
Команда Algolia уже уведомлена, диагностика ведётся.
Что делать
Следить за обновлениями в issue; временно использовать альтернативные поисковики HN.
Комментарии (31)
- Поиск HN через Algolia лёг: пользователи заметили пропажу новых постов и комментариев, сломались также RSS и сторонние клиенты.
- Команда HN и Algolia подтвердили проблему, начали восстановление данных и пообещали отчёт о причинах.
- Пока сервис был недоступен, люди переключились на альтернативные интерфейсы (hcker.news, прямой Firebase) и «вручную» читали ленту.
- Некоторые нашли плюсы: наконец прочитали накопившиеся статьи и снизили зависимость от постоянного обновления ленты.
Show HN: Doxx – Terminal .docx viewer inspired by Glow
doxx — утилита для просмотра содержимого .docx
прямо в терминале.
Быстро, безопасно, без MS Office.
-
Установка
cargo install doxx
-
Использование
- Просмотр:
doxx file.docx
- Извлечение текста:
doxx --text file.docx > out.txt
- Показ метаданных:
doxx --meta file.docx
- Просмотр:
-
Особенности
- Чистый Rust, нет внешних зависимостей.
- Поддержка кириллицы, таблиц, списков.
- Режим «только чтение» — файлы не изменяются.
Комментарии (57)
- Пользователи высоко оценили скорость и полезность TUI-утилиты для просмотра docx, но почти все согласились: название «doxx» вызывает негативные ассоциации с doxxing и требует смены.
- Ключевое требование — любые «AI-фичи» должны быть полностью опциональными или вынесены в отдельный проект, иначе инструмент запретят в корпоративных и юридических средах.
- Популярные пожелания: Docker-образ, бинарники для Windows, поддержка Track Changes/метаданных, отображение картинок через kitty/sixel, а также возможность «cat+grep» без промежуточных конвертаций.
- Некоторые предложили использовать pandoc, LibreOffice или OOXML-Validator как дополнительные инструменты, а автор подтвердил, что скоро появятся релизы и улучшенная документация.