Починили random() в bc

Вышла версия утилиты bc, в которую я присылал патч для исправления проблемы с функцией для получения случайных значений. Исправление попало в версию 1.08.2.

Интересно, что в авторы исправления меня не записали, зато поблагодарили, записав имя и фамилию русскими буквами, хотя в конце письма я подписался латиницей:

Thu Apr 10 12:59:31 PDT 2025 Ken Pizzini <ken@gnu.org>
bc/execute.c: Call srandom(time(NULL)) to seed the random number generator with something other than a built-in constant. Thanks to Евгений Степанищев for the bug report.

Оставить комментарий

Архиватор HA и современные компьютеры

Узнал сегодня о существовании архиватора lzip — им сжат исходный код свежей версии утилиты bc. Какой-то современный архиватор из мира Линукса, я не сталкивался ни разу.

Пока ехал домой, мысли крутились вокруг архиваторов и как-то незаметно докрутились до воспоминаний об архиваторе ha эпохи ДОС. Он тогда сжимал лучше всех, но делал это очень медленно. Я как-то уже вспоминал, что над «Думом» он трудился несколько часов. Это были ранние 90-е.

Я подумал — было бы интересно скомпилировать этот архиватор под мой процессор M3 Max, который сейчас считается довольно мощным, и посмотреть за какое время на нём сожмётся «Дум».

Скриншот терминала: архиватор HA 0.999β (1995, Harri Hirvola) сжимает файлы doom.ha, включая doom.exe и doom.wad, показывая прогресс упаковки и время выполнения.

Ответ — «Дум» теперь сжимается за 4,3 секунды! Надо будет повторить эксперимент лет через 10.

Кстати, результаты по коэффициенту сжатия тоже довольно достойные — сжалось чуть лучше, чем утилитой gzip и чуть хуже, чем bzip2. Но lzip, что было для меня полной неожиданностью, оставил всех далеко позади:

-rw-r--r--   1 bolk  staff   3688370 May 29 21:37 doom.tar.lz
-rw-r--r--   1 bolk  staff   5226359 May 29 21:39 doom.tar.bz2
-rw-rw-r--   1 bolk  staff   5312857 May 29 21:35 doom.ha
-rw-r--r--   1 bolk  staff   5497638 May 29 21:39 doom.tar.gz

4 комментария