UTF-8 history (2003)
Роб Пайк рассказывает, как Кен Томпсон изобрёл UTF-8 за один вечер, и как они вместе внедрили его в систему менее чем за неделю.
В 1992 году, во время ужина в Нью-Джерси, Томпсон придумал битовую упаковку UTF-8. Изначально в Plan 9 использовалась кодировка UTF от ISO 10646, но она была неудобной. После звонка от представителей IBM и X/Open, которые просили оценить их проект FSS/UTF, Пайк и Томпсон предложили создать улучшенный стандарт.
За ночь Томпсон написал код для упаковки и распаковки, а Пайк адаптировал библиотеки. К пятнице Plan 9 уже полностью работал на UTF-8. X/Open принял их предложение, отказавшись от собственного FSS/UTF из-за недостатка синхронизации в потоке байтов.
Пайк опровергает миф о том, что UTF-8 разработала IBM, а Plan 9 лишь реализовала его, ссылаясь на архив переписки, подтверждающий их авторство.
Комментарии (35)
- Обсуждаются исторические и социально-экономические причины доминирования США в ранней компьютерной индустрии, включая военные разработки и инфраструктуру.
- Выдвигается гипотеза о преимуществе англоязычного мира из-за простого алфавита без диакритиков по сравнению с такими языками, как китайский или хинди.
- Подробно разбирается история создания UTF-8 и критикуется решение Microsoft использовать в Windows NT кодировку UCS-2 вместо UTF-8, названное "ошибкой на миллиард долларов".
- Участники отмечают, что ранние компьютерные кодировки (6-битные, ASCII) наследовали принципы докомпьютерных эпох (телетайпы, перфокарты).
- Обсуждается влияние разных алфавитов на технологическое развитие, проводятся параллели с историей книгопечатания в Европе и Китае.
- Упоминается, что стандартизация Unicode и UTF-8 была сложным процессом с участием нескольких конкурирующих организаций.
- Отмечаются практические проблемы, вызванные использованием в Windows кодировок CP-125X вместо UTF-8, и наследие этого решения в виде API-функций с суффиксами "A"/"W".
- Приводится ссылка на RFC 3629, который ограничил UTF-8 4 байтами на символ, отказавшись от первоначальной поддержки 5- и 6-байтных последовательностей.
Java 25's new CPU-Time Profiler
Java 25: новый CPU-Profiler (1)
В JDK 25 появился экспериментальный CPU-Profiler — метод-сэмплер, который показывает, сколько процессорного времени тратит каждый метод, а не просто «время выполнения». Это важно: метод, ждущий I/O, занимает процессор лишь доли миллисекунды, и старый sampler не видит разницы между ним и вычислительно тяжёлым кодом.
Старый JFR-сэмплер каждые 10–20 мс выбирает 5 Java-потоков и 1 native, просто пробегая по списку. На 32-ядерной машине это превращает заявленный интервал 10 мс в фактические 53 мс, а при смеси Java и native потоков приоритет всегда получают Java. Результат — искажённая картина.
Новый профилировщик измеряет именно CPU-time, позволяя найти узкие места, которые реально жгут ядра, и повысить throughput без догадок.
Комментарии (98)
- JVM за последние годы стал двигателем инноваций: виртуальные потоки, Loom и быстрый цикл релизов делают Java снова «весёлой».
- Большинство участников рады избавлению от реактивного async-кода: «пусть всё будет синхронно и просто».
- Скептики напоминают: виртуальные потоки всё-таки тратят CPU на GC и не решают проблемы доступа к ограниченным ресурсам.
- Кто-то жалуется на качество современных Java-разработчиков, другие отвечают: плохие devы есть везде, язык тут не при чём.
- Автор серии постов анонсировал три продолжения про новый CPU-Tracing в Java 25.
Social media promised connection, but it has delivered exhaustion 🔥 Горячее 💬 Длинная дискуссия
Соцсети умирают: вместо людей — поток ИИ-шлама.
Лента превратилась в конвейер одинаковых постов, клонов и крипто-рекламы; настоящее вытеснено генеративным спамом, оптимизированным под клики. Facebook, Instagram, TikTok заливает «Shrimp Jesus» и прочий автоматический контент, который платформы не спешат фильтровать. Пользователи всё реже видят друзей и всё чаще — ботов. Это конец романтики «аутентичности» и начало эры цифрового потребления ради потребления.
Комментарии (180)
- Участники сходятся: «соцсети» перестали быть социальными – это медиа-конвейер «производитель → потребитель».
- Алгоритмическая лента превратила пользователей в пассивных зрителей, выжимая внимание и нагнетая полярность.
- Люди устают от «семантического шлама» и ботов, но массового исхода не происходит – платформы всё ещё удерживают триллионы минут.
- Единственное, что работает – полное отсутствие алгоритма (Mastodon, форумы) и маленькие «архитектуры намерения» вроде расширений-задержек.
- Рецепт: убрать лайки/пуши, вернуть хронологию, гарантировать подлинность аккаунтов и заставлять искать друг друга вручную – иначе это уже не «социальное», а телевизор 2.0.
SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V 🔥 Горячее
skiftOS
Включите JavaScript для работы приложения.
Комментарии (88)
- За 6 лет автор SkiftOS написал микроядро, загрузчик, графическую оболочку, UI-фреймворк и даже движок браузера.
- Код на современном C++ (модули, async, co_await) и выглядит очень чисто; вдохновение Rust заметно.
- Система CPU-рендеринг, GPU — в планах; сеть пока только HTTP, без HTTPS.
- Безопасность: приложения не видят всю память и железо, драйверы в userspace, доступ по capability.
- Собрать можно под Linux/macOS (
./skift.sh run --release <app>), но полный билд сейчас сломан. - Автор признаёт: почти не было личной жизни, помощь была лишь с движком браузера.
Raspberry Pi Synthesizers – How the Pi is transforming synths
Raspberry Pi в синтезаторах
Недорогая «малинка» вытесняет дорогие DSP-платы.
Цифровой синт — это компьютер под клавиатурой. Раньше для DSP разрабатывали собственные чипы: дорого и долго. Теперь Korg, Erica и другие ставят готовый Raspberry Pi Compute Module: дёшево, мощно, сердито.
Korg
Wavestate, Modwave, Opsix (и их модульные версии) работают на Pi. Внутри — стандартный CM3, Linux и софт-синт Korg. Обновления прошиваются флешкой: распаковал архив — новый синт готов.
Erica Synths
Полностью открытая платформа Perkons HD и модуль Syntrx II тоже на Pi. Пользователи легко меняют прошивки: от классического аналога до драм-машины.
Zynthian
Open-source «коробочка» превращает любую Pi в мультитимбровый синт с экраном и MIDI. Скачал образ — получил Nord, DX7, Serum и ещё 200 энджинов.
Плюсы
- Цена: $40 вместо $400 за DSP.
- Скорость: готовая железка, нет NRE-затрат.
- Гибкость: обновления, новые движки, DIY.
Минусы
- Зависимость от поставок Pi.
- Нужно охлаждение и стабильное питание.
- Производители прячут Pi: гарантия теряется, если вскроешь.
Вывод
Pi уже внутри половины новых цифровых синтов. Следующий ваш клавиш может быть просто клавиатурой к малинке.
Комментарии (77)
- Raspberry Pi (особенно 3/4/5) уже способны заменить дорогие DSP-чипы: синтез, фильтры и эффекты укладываются в кэш, NEON/FMA даёт по 5-10 операций на сэмпл.
- Готовые экосистемы: Zynthian и Monome — «швейцарские ножи» с экранами, кнопками и качественными DAC; RNBO (Max/MSP) и Cardinal (VCV) позволяют разрабатывать на ПК и одним кликом деплоить на Pi.
- Альтернативы Pi: Daisy Seed/Teensy 4.1 для bare-metal, RP2040 в евро-рамках, M8-tracker на Teensy — всё помещается в карман и звучит.
- iOS/iPad + Bluetooth-MIDI = «гаражная студия» за десятки евро: 1:1 эмуляции железных синтов, универсальные покупки Mac/iPhone, минимум проводов.
- Почему не VST: железный корпус с кнопками/энкодерами даёт живое «трогать-тащить» и работает без ноута на репетиции или концерте; надёжность и быстрый старт важнее «чистого ПО».
OCI Registry Explorer
Registry Explorer — интерактивный просмотрщик образов и репозиториев.
Введите публичный образ (ubuntu:latest) или реп (ubuntu), листайте слои и файлы без скачивания.
Примеры
cgr.dev/chainguard/static:latest-glibcgcr.io/distroless/staticghcr.io/homebrew/core/craneregistry.k8s.ioи др.
Как работает
Сервис на Cloud Run, движок — google/go-containerregistry.
Первый запрос к слою качает и индексирует его; дальше читаем по Range-запросам.
Трафик регистри уменьшается: скачивайте один раз и шлите ссылку.
Docker Hub предоставляет безлимитный доступ.
Случайный доступ к gzip
Храним ~1 % распакованных данных; по ним строим «точки входа» в поток и читаем без распаковки всего слоя.
Код: github.com/jonjohnsonjr/dagdotdev
Комментарии (7)
- @jonjonsonjr: это его pet-проект для отладки образов; часть фич спрятана как пасхалки.
- @mshekow: инструмент oci.dag.dev — лучший браузер регистри, можно развернуть самому (Go-CLI).
- @gucci-on-fleek: поддерживает zstd, cosign-подписи, показывает размер каждого файла и ссылки на Sigstore.
- @glitchcrab: использует регулярно, быстрее чем crane.
- @lclc: сервер не выдержал наплыва посетителей с HN — «Rate exceeded».
Legal win 💬 Длинная дискуссия
Суд отклонил ключевые иски WP Engine и Silver Lake: антимонопольные и вымогательские претензии сняты. Дело существенно сузилось — победа для всех, кто поддерживает open-source. Остальные обвинения рассмотрим, уверены в законности своих действий.
Комментарии (195)
- Matt рад «победе» в суде, но юристы и HN-утверждают: большинство исков WP Engine просто отклонены «с возможностью доработки», а не разбиты.
- Сообщество не делит радость: массово уходят с WP.com, ставят ClassicPress/Statamic, смотрят на децентрализованный форк fair.pm под Linux Foundation.
- Репутационный ущерб оценивают выше юридического: «выиграл дело, но потерял доверие», «WordPress больше не рекомендую клиентам».
California lawmakers pass SB 79, housing bill that brings dense housing
Коротко:
Калифорния приняла закон SB 79 — теперь у транспортных узлов можно строить высотные жилые дома без согласования с городами. Цель: снизить дефицит жилья и вытеснить машины.
Комментарии (70)
- Калифорния приняла закон SB 79, обязывающий города разрешать плотную застройку вблизи транзитных хабов — шаг к борьбе с дефицитом жилья.
- Поддержка идёт от YIMBY-активистов и сенатора Скотта Винера, но критики опасаются «игр» с остановками транспорта и усиления сопротивления новой инфраструктуре.
- Некоторые считают, что закон охватит лишь дорогие участки и принесёт выгоду девелоперам, а не семьям, поскольку выгоднее строить 1-2-комнатные квартиры.
- Сомнения вызывает и инфраструктура: без новых дорог, школ и коммуникаций рост плотности может усугубить пробки и дефицит парковок.
- Оптимисты отмечают каскадный эффект: появление хоть какого-то плотного жилья разблокирует крупные дома для семей и постепенно снизит арендные цены.
Life, work, death and the peasant: Rent and extraction 🔥 Горячее
Сбор: Жизнь, труд, смерть и крестьянин, ч. IVc: рента и изъятие
Крестьяне древности жили на маленьких наделах: 7–20 акров у зажиточных, 2–5 у бедняков. Даже «богатые» греко-македонские воины-поселенцы получали лишь 17–20 акров, а кавалеры — до 68.
Земля = деньги, но денег нет. Покупка 10 акров стоила 5–15 годовых доходов, поэтому 90 % полей переходили по наследству или даром. Аренда — норма: 30–50 % урожая уходило земельному владельцу, плюс налоги, церковная десятина, проценты за зерно «до следующего урожая».
Рента формировалась не рыночно, а через власть: кто контролировал деревню, тот устанавливал поборы. Помещик, монастырь или государство могли взять «сверху» до 60 % чистого продукта, оставляя крестьянину минимум на воспроизводство семьи.
Итог: даже при хорошем урожае крестьянин оставался на грани, а два голодных года подряд превращали «средняка» в батрака или беглеца.
Комментарии (144)
- Система феодализма и ранних государств сознательно «запирала» избыток рабочих рук, превращая безземелье в инструмент извлечения ренты элитами.
- Чёрная смерть резко сократила население, повысив цену труда и позволив крестьянам уходить с поместий и торговать условиями найма.
- Параллели проводят с современной «техно-» или «лизхолд-феодальной» экономикой: аренда жилья, долги, отсутствие земли снова делают большинство зависимыми от «владельцев».
- Участники подчёркивают, что иерархии не случайны: они эволюционируют, но те, кто задаёт правила, продолжают перераспределять избыток вверх.
- Серия постов ACOUP хвалится за системный взгляд и увлекательные детали (логистика, металлургия, хлеб), хотя автор — адъюнкт, а не штатный профессор.
Meow: Yet another modal editing on Emacs
Meow — модальный режим для Emacs, вдохновлённый Kakoune и Vim.
Минималистичен, расширяем, ориентирован на объекты и выделение.
Позволяет быстро комбинировать команды, не требует магических клавиш.
Комментарии (21)
- Meow хвалят за чистую реализацию kakoune-модели и лёгкость, но у всех свои «но»: сломанный repeat, нет визуального режима, теряешь vim-биндинги для пакетов вроде magit.
- Кто пришёл из vim, часто возвращается к chords или god-mode: меньше мыслительного оверхеда, не надо «играть на пианино», чтобы просто вставить строку.
- god-mode — минимальный модальный помощник: удерживаешь пробел, жмёшь обычные буквы, отпускаешь; удобно для чтения и скролла, не требует переучиваться.
- Большинство сходится во мнении: если Control легко доступен (ладонью, перестановкой CapsLock), модальность не нужна; если приходится выворачивать руку — Meow/evil/god экономят суставы.
- Итог: пробуйте, но не верьте обещаниям «всё сразу»; чужая модальность может оказаться вашим адом, а чужие chords — раем.