Hacker News Digest

Тег: #openbsd

Постов: 6

OpenBSD 7.8 (cdn.openbsd.org)

by paulnpace • 22 октября 2025 г. в 02:02 • 218 points

ОригиналHN

#openbsd#raspberrypi#thinkpad#firewall#router#bluetooth#wifi

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

  • OpenBSD 7.8 вышел, и участники обсуждают его достоинства: минимализм, безопасность и отсутствие лишнего кода.
  • Пользователи делятся опытом: кто-то использует OpenBSD как основную систему, кто-то как фаервол, кто-то как маршрутизатор.
  • Обсуждается поддержка различного оборудования, включая Raspberry Pi 5 и ThinkPad.
  • Участники обсуждают, что OpenBSD не поддерживает некоторые современные технологии, такие как Bluetooth и Wi-Fi 6.
  • Некоторые пользователи отмечают, что OpenBSD не поддерживает некоторые современные технологии, такие как Bluetooth и Wi-Fi 6.

Zig builds are getting faster (mitchellh.com) 🔥 Горячее 💬 Длинная дискуссия

Компиляция Zig становится значительно быстрее благодаря многолетней работе над оптимизацией компилятора. Например, сборка скрипта build.zig в версии 0.15 заняла всего 1,7 секунды против 7,2 секунд в версии 0.14. Полная сборка проекта Ghostty без кеша сократилась с 41 до 32 секунд, даже с использованием LLVM.

Особенно впечатляет скорость инкрементных сборок: пересборка библиотеки libghostty-vt после изменения одной строки теперь занимает менее секунды (975 мс против 2,9 секунд ранее). Это уже ощутимо ускоряет рабочий процесс, а в будущем, с отказом от LLVM и внедрением инкрементной компиляции, результаты станут ещё лучше — ожидаются миллисекундные задержки.

by emschwartz • 03 октября 2025 г. в 22:45 • 402 points

ОригиналHN

#zig#llvm#cranelift#tcc#go#vlang#julia#bazel#openbsd#kqueue

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

  • LLVM рассматривается как ловушка из-за сложности тонкой настройки финальных оптимизаций и линковки, несмотря на преимущества в скорости начальной разработки и поддержке платформ. Cranelift и другие бэкенды могут стать альтернативой.
  • Zig фокусируется на скорости компиляции для разработки, используя собственный бэкенд для debug-сборок (x86_64) и LLVM для релизов. Есть баги, но инструментарий ценится за простую кросс-компиляцию и статическую линковку.
  • Быстрая компиляция (TCC, Go, Vlang) важна для итеративной разработки, но trade-off с оптимизацией кода неизбежен. Интерпретаторы или JIT-компиляция (Julia) предлагают альтернативы для интерактивности.
  • Интеграция Zig с системами сборки (Bazel) возможна через правила, но Turing-полные скрипты сборки могут усложнить кеширование. Библиотеки часто обходятся без кастомных скриптов.
  • Поддержка платформ (OpenBSD) требует доработки низкоуровневого IO (kqueue). Статическая линковка зависимостей в Zig упрощает деплой, но динамические библиотеки (libc, GUI) остаются.

DuckDuckGo Donates $25,000 to The Perl and Raku Foundation v2025 (perl.com)

Поисковая система DuckDuckGo второй год подряд пожертвовала 25 тысяч долларов Фонду Perl и Raku для поддержки развития языка программирования. Эти средства направляются в Фонд поддержки ядра Perl, который финансирует ключевые улучшения языка.

Среди недавних достижений — модуль builtin, система классов, лексические методы и стабилизация экспериментальных функций вроде сигнатур и try/catch. Разработчик Пол Эванс, получающий финансирование от фонда, внёс значительный вклад в эти нововведения. Многолетняя поддержка спонсоров позволяет фонду увереннее планировать будущее и продолжать работу над развитием Perl.

by oalders • 01 октября 2025 г. в 16:42 • 130 points

ОригиналHN

#perl#raku#duckduckgo#open-source#programming-languages#craigslist#ebay#openbsd

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

  • DuckDuckGo пожертвовала $25k проекту Perl в рамках благотворительных взносов на общую сумму $1.1M
  • В сообществе ведутся дебаты о современной релевантности Perl, где одни отмечают его упадок после неудачи с Perl 6, а другие защищают его как мощный и полезный язык
  • Участники делятся личным опытом работы с Perl, отмечая его влияние на их карьеру и сложности, такие как проблемы с версиями библиотек
  • Perl продолжает использоваться в крупных компаниях (Craigslist, eBay) и проектах с открытым исходным кодом (OpenBSD)
  • Обсуждается необходимость и способы поддержки open-source проектов через публичные пожертвования от брендов

Raspberry Pi 5 support (OpenBSD) (marc.info)

  • Модуль: src

  • Изменил: mglocker@cvs.openbsd.org, 01.09.2025

  • Файлы:
    distrib/arm64/iso/Makefile
    distrib/arm64/ramdisk/Makefile install.md list

  • Суть: добавлена поддержка Raspberry Pi 5 Model B в RAMDISK.

  • Проблемы:

    • Не грузится с PCIe-накопителей (нет U-Boot).
    • Wi-Fi на платах «d0» не работает.
    • Кулер не крутится — отсутствуют драйверы PWM/clock.

Утверждено: kettenis@, deraadt@

by brynet • 01 сентября 2025 г. в 21:03 • 214 points

ОригиналHN

#raspberry-pi#openbsd#arm64#pwm#uefi#wireguard#httpd#spamd#pci

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

  • На Raspberry Pi 5 и CM5 в OpenBSD пока не работает Wi-Fi (на «d0»-ревизии плат) и не крутится активный кулер — не хватает драйверов PWM/clock.
  • Поддержка всё ещё неполная: аппаратный старт происходит через GPU, документации мало, поэтому U-Boot и драйверы догоняют медленно.
  • На Pi 4 OpenBSD уже запускается стабильно, но нужны свежие прошивка и UEFI, а также сторонний firmware для использования >3 ГБ ОЗУ.
  • Плюсы OpenBSD на ARM: чистая и последовательная система, «всё в базе» (httpd, spamd, WireGuard через ifconfig), можно носить «сервер в кармане».
  • Минусы: нет power-saving на ARM64, после неожиданного отключения могут поломаться системные файлы, а список поддерживаемого «железа» ограничен.

D4D4 (nmichaels.org) 🔥 Горячее

Коллега нашёл в ARM-дизассемблере кучу «лишних» инструкций d4d4 (bmi #-0x58), которые никогда не выполняются.

Минимальный пример:

00020100 <one>:
   20100: 4770  bx lr
   20102: d4d4  bmi …

bx lr возвращает из функции, так что d4d4 недостижима.
Мысль: выравнивание? Thumb-команды 16-битные, но компилятор не выравнивает функции на 32 бита.

Добавляем вторую функцию — d4d4 исчезает.
Третья — d4d4 снова появляется, но только после последней функции.

Смотрим объектный файл: компилятор d4d4 не вставляет. Значит, линковщик lld добивает секцию до 32-битной границы именно этой командой.
Меняем порядок файлов — «лишняя» инструкция перемещается в начало следующего модуля, подтверждая гипотезу.

GNU ld вместо d4d4 ставит нули.

by csense • 17 августа 2025 г. в 15:42 • 437 points

ОригиналHN

#arm#thumb#assembly#compiler#linker#security#exploit#rop#openbsd

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

  • Коммит 2017 года в OpenBSD закладывал «trapsleds» — заполнение «дырок» в исполняемых секциях инструкциями-ловушками (trap), чтобы сорвать NOP-sled-эксплойты.
  • На ARM32/Thumb ожидалось 0xD4 (BRK) или 0xBE (BKPT), но в режиме Thumb та же последовательность байтов декодируется как условный переход назад, превращая «ловушку» в потенциальный ROP-гаджет.
  • Это делает защиту нерабочей на Cortex-M (только Thumb), что участники признают ошибкой/«сломанной» митигацией.
  • Некоторые считают, что описание механизма в коммит-сообщении достаточно, другие требуют комментариев в коде, чтобы избежать подобных недоразумений.

OpenBSD is so fast, I had to modify the program slightly to measure itself (flak.tedunangst.com) 💬 Длинная дискуссия

OpenBSD быстрее Linux в 10 раз?
Тест Jann Horn: создаём поток, оба потока открывают по 256 сокетов.

Linux

elapsed: 0.017–0.026 s

OpenBSD

ulimit -n 1024
elapsed: 0.002–0.006 s

Машины примерно равны. Подсказка в коде (не в сетевом стеке).
Обычно OpenBSD проигрывает в странных тестах, а тут — наоборот.

by Bogdanp • 15 августа 2025 г. в 18:25 • 208 points

ОригиналHN

#openbsd#linux#benchmarking#performance#sockets#file-descriptors#security#rdtsc

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

  • Обсуждение выросло из «патологического» теста, который на Linux показывает замедление из-за роста таблицы файловых дескрипторов и блокировок, а на OpenBSD — нет.
  • Участники спорят, что считать «быстрым»: OpenBSD жертвует скоростью ради безопасности, тогда как Linux активно оптимизирует критические пути.
  • Для микробенчмарков советуют использовать __rdtsc(), но предупреждают о проблемах синхронизации TSC между ядрами и на ARM.
  • Несколько человек отвлеклись на «пасхалку» в статье — плавающие «пушки», стреляющие курсором.
  • Общий вывод: измеряйте свою нагрузку на одинаковом железе; универсального «быстрее» не существует.