vak: (Daemon)
Serge Vakulenko ([personal profile] vak) wrote2025-12-22 12:31 pm

Пытаемся ускорить Cyrix 486

В ядре NetBSD есть хитрый параметр "options CYRIX_CACHE_WORKS". Если его поставить, ядро включит L1 кэш процессора Cyrix. И оно действительно помогло. Дуремарки заметно поднялись: 54 супротив прежних 31. Хотя до досовских 110 далеко.
DureMark 1.0 Results
=======================
Iterations      : 300
Execution Time  : 5.5 sec
List Workload   : 39.4%
Matrix Workload : 19.2%
State Workload  : 41.4%
-----------------------
Total Score     : 54.25 DureMark
Путь был непростым, однако. Чтобы изменить параметр, надо пересобрать ядро. Проделать это на самом компьютере не представляется возможным. Без кэша он настолько тормозной, что пересборка займёт месяц. Следовательно, надо ставить ровно такую же версию NetBSD на виртуальную машину.

До сих пор я возился с NetBSD версии 4.0.1, выпуска 2008 года. Более поздние не лезут в 16 мегабайт памяти. Но эта версия давно не поддерживается, и пакеты к ней я надыбал только на bitsavers.org. При отсутствии пакетов на официальном сайте установка полноценной системы, нужной для сборки ядра, превращается в головоломку с неизвестным исходом.

Нужна свежая версия NetBSD 10.1, а значит необходимо добавить памяти в компьютер. Четыре восьмибитных SIMM, если помните. В пятницу память пришла с Ебея, заодно пришла и 2-гигибайтная SD карточка industrial. Установка системы на неё заняла всю субботу.

Возиться с флопиками необязательно. Чтобы запустить установку, надо под ДОСом скачать два файла: dosboot.com и netbsd-INSTALL.gz. Второй файл распаковать под именем install и вызвать "dosboot install". Остальное будет подгружаться по сети, благо сетевая карточка NE2000 настроена и работает. Процесс установки подробно описан в главе №3 "Example installation" документа netbsd-en.pdf.

Установка шла медленно и печально, ведь кэш пока не работает. Параллельно я поставил эту же версию NetBSD на мак под симулятором UTM (обёртка над QEMU). Пришлось напрячься, изучить файл конфигурации ядра, чтобы убрать всё ненужное, но не зацепить чувствительное. Благо, можно начать с имеющейся конфигурации GENERIC_TINY. Вот такое получилось.
Я прямо как в молодость вернулся: те же самые ощущения, что 32 года назад, когда я возился с конфигурациями и исходниками ядра FreeBSD. 😀

Компилируем ядро под NetBSD 10.1 в виртуальной машине, после чего записываем на досовскую SD карточку, где в файлe AUTOEXEC.BAT командой dosboot оно и грузится. Дешёво и сердито.

Забавная вышла ситуёвина. Допотопный компьютер с 5-дюймовым флоповодом, отстойнейшим процессором Cyrix 486, и на нём распоследний юникс NetBSD.

juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2025-12-22 12:37 pm

а кто у народа "гениальные писатели"?

Я так вижу, среди моих собеседников на фесбуке в гениях числятся Булгаков да, похоже, Стругацкие.
Так понимаю, что ещё они читали Курочку Рябу, и больше всё. Ну, может быть, Ле Гуин, что ли.

С музыкой та ж фигня, мне кажется; в великие композиторы записаны Меркури и БГ. Ну, может быть, ещё Равель, у него Болеро годится как аккомпанемент к сексу.

Эх. Прохладнее бы надо ко всему этому.

pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-22 11:48 am

Че, прямо так и сказал?

в России было принято много инструментов поддержки индивидуального предпринимательства и малого бизнеса, однако в последнее время эти формы бизнеса стали использоваться для бесконтрольного завоза серого и черного импорта, что стало проблемой

Да, серый импорт для России сейчас важнейшая проблема. Все-таки, похоже, они всерьез взялись за задачу, которую провалили в первые дни войны: организовать коллапс экономики. Причем ровно теми методами, которых ожидали в те же первые дни - административное удушение, повышение налогов и еще инфляцией сверху нахлобучить, типа контрольного выстрела.
vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2025-12-21 12:08 pm

Unix v4

Народ восстановил с древней ленточки юникс версии 4 для pdp11.


В частности, имеются исходники Снобола 1974 года.
$ cd /usr/sno
$ ls -l
total 1
-rw-r--r--  1 vak  staff   338 Jun 10  1974 sno.h
-rw-r--r--  1 vak  staff  6280 Jun 10  1974 sno1.c
-rw-r--r--  1 vak  staff  7723 Jun 10  1974 sno2.c
-rw-r--r--  1 vak  staff  3644 Jun 10  1974 sno3.c
-rw-r--r--  1 vak  staff  4176 Jun 10  1974 sno4.c
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-21 09:49 pm

Фраза. Просто фраза

Советские энтузиасты, а также любые идеалисты забыли, что процветание заканчивается гедонизмом.
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-21 02:45 pm

Я еще понимаю почему таксисты такое рассказывают

Есть время пообкатать версии рассказа на разных пациентах

В Питере появились бригады дворников из Индии, и один из них рассказал, что раньше работал программистом и занимался разработкой ИИ.
vak: (Житель планеты Узм)
Serge Vakulenko ([personal profile] vak) wrote2025-12-20 10:30 pm

Юникод из командной строки

Появилась забавная утилитка для возни с юникодными символами. Ставится командой:
go install zgo.at/uni/v2@latest
К примеру, найдём все символы с котиками.
$ uni search 'cat '
             Dec    UTF8        HTML       Name
'🐱' U+1F431 128049 f0 9f 90 b1 🐱  CAT FACE
'😸' U+1F638 128568 f0 9f 98 b8 😸  GRINNING CAT FACE WITH SMILING EYES
'😹' U+1F639 128569 f0 9f 98 b9 😹  CAT FACE WITH TEARS OF JOY
'😺' U+1F63A 128570 f0 9f 98 ba 😺  SMILING CAT FACE WITH OPEN MOUTH
'😻' U+1F63B 128571 f0 9f 98 bb 😻  SMILING CAT FACE WITH HEART-SHAPED EYES
'😼' U+1F63C 128572 f0 9f 98 bc 😼  CAT FACE WITH WRY SMILE
'😽' U+1F63D 128573 f0 9f 98 bd 😽  KISSING CAT FACE WITH CLOSED EYES
'😾' U+1F63E 128574 f0 9f 98 be 😾  POUTING CAT FACE
'😿' U+1F63F 128575 f0 9f 98 bf 😿  CRYING CAT FACE
'🙀' U+1F640 128576 f0 9f 99 80 🙀  WEARY CAT FACE
А теперь эмодзи.
$ uni emoji ' cat'
	Name                             CLDR
😺	grinning cat                    [animal, face, mouth, open, smile, smiling]
😸	grinning cat with smiling eyes  [animal, face, smile]
😻	smiling cat with heart-eyes     [animal, face, love, smile]
😽	kissing cat                     [animal, closed, eye, eyes, face]
🙀	weary cat                       [animal, face, oh, surprised]
😿	crying cat                      [animal, face, sad, tear]
😾	pouting cat                     [animal, face]
🐈‍⬛	black cat                       [animal, feline, halloween, meow, unlucky]

$ uni emoji 'cat '
	Name                             CLDR
😸	grinning cat with smiling eyes  [animal, face, smile]
😹	cat with tears of joy           [animal, face, laugh, laughing, lol]
😻	smiling cat with heart-eyes     [animal, face, love, smile]
😼	cat with wry smile              [animal, face, ironic]
🐱	cat face                        [animal, kitten, kitty, pet]
vak: (Daemon)
Serge Vakulenko ([personal profile] vak) wrote2025-12-20 04:31 pm

Меряем процессор Cyrix супротив Intel

Пользуясь новым тулом, продуремарим процессор на старом 486-м компьютере. Напомню, что там запаян Intel 486sx и отдельно втыкается "ускоритель" Cyrix 486dx.



Запускаем MS-DOS на Cyrix 486dx2-66, и под ним DUREMARK.EXE.
DureMark 1.0 Results
=======================
Iterations      : 1000
Execution Time  : 9.1 sec
List Workload   : 44.0%
Matrix Workload : 30.1%
State Workload  : 25.9%
-----------------------
Total Score     : 109.64 DureMark
Меняем процессор на Intel 486sx-25.
DureMark 1.0 Results
=======================
Iterations      : 300
Execution Time  : 5.2 sec
List Workload   : 31.9%
Matrix Workload : 39.4%
State Workload  : 28.7%
-----------------------
Total Score     : 58.09 DureMark
Разница почти в два раза. Хорошо, вернём Cyrix на место и запустим на нём NetBSD.
DureMark 1.0 Results
=======================
Iterations      : 100
Execution Time  : 3.2 sec
List Workload   : 40.1%
Matrix Workload : 17.6%
State Workload  : 42.3%
-----------------------
Total Score     : 31.35 DureMark
Удивительное дело: скорость процессора упала в три раза. Подтверждается моя догадка, что NetBSD отключает кэш Сайрикса. Вероятно, во избежание каких-то глюков.

Ну ничего, я заказал на Ебее родной интеловский 486dx2-66, сравним под NetBSD.
vak: (Бах)
Serge Vakulenko ([personal profile] vak) wrote2025-12-20 03:19 pm

Зимняя геометрия

Нету снега в Калифорнии? Не беда! Давайте печатать снежинки на 3D принтере.

Генератор снежинок: github.com/drom/neghero

Онлайн можно поиграться здесь: observablehq.com/@drom/neghero




vak: (Знайка)
Serge Vakulenko ([personal profile] vak) wrote2025-12-20 12:28 am
Entry tags:

Дуремарк

Чтобы иметь возможность сравнивать производительность 8-битных и 16-битных процессоров с большими, я сварганил на скорую руку простой бенчмарк. Он качественнее чем Dhrystone: не просто вычисляет некие формулы, а работает со списками, множит матрицы, парсит грамматику. Идея подсмотрена у CoreMark, но упрощена до предела. Допускается размер int 16 бит, так что можно компилировать с помощью Turbo C. Скорость я калибровал по PC XT, так что один DureMark примерно равен классической XT-шке 4.77 МГц. Вот пример запуска на такой XT-шке:
DureMark 1.0 Results
=======================
Iterations      : 10
Execution Time  : 9.3 sec
List Workload   : 37.1%
Matrix Workload : 34.1%
State Workload  : 28.8%
-----------------------
Total Score     : 1.07 DureMark
Кроме общей производительности, показывается, какой вклад вносит каждый из трёх задействованных алгоритмов: работа со списками, работа с матрицами и машина состояний.

Тестирование начинается с малого числа итераций, и оно экспоненциально растёт до достижения разумной длительности (несколько секунд). Вот запуск на iMac Intel Core i9 3.6 GHz.
$ duremark
Try 3 iterations...
Try 10 iterations...
Try 30 iterations...
Try 100 iterations...
Try 300 iterations...
Try 1000 iterations...
Try 3000 iterations...
Try 10000 iterations...
Try 30000 iterations...
Try 100000 iterations...
Try 300000 iterations...
Try 1000000 iterations...

DureMark 1.0 Results
=======================
Iterations      : 1000000
Execution Time  : 6.7 sec
List Workload   : 45.8%
Matrix Workload : 11.7%
State Workload  : 42.5%
-----------------------
Total Score     : 149349.25 DureMark
Исходники: github.com/sergev/duremark

Теперь предстоит перемерять всю мою коллекцию компьютеров.
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-20 01:57 pm

Новости одной строкой

Изучал хадисы и занимался криптотрейдингом
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-20 12:15 pm

Ой

https://nplus1.ru/news/2025/12/19/rats-play-doom-in-vr

Угу. А потом ее посадят в дрон и пошлют стрелять повстанцев.
Помнится пытались делать систему самонаведения для ракет по такому принципу, только вместо крысы голубя сажали.
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-20 11:59 am

Новости одной строкой

В фотоархиве Эпштейна нашли фотографии людей в российской военной форме
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-20 11:53 am

Глубоко зализнули

Итоги года с Путиным работают на повышение социального доверия
crapulous: (Default)
crapulous ([personal profile] crapulous) wrote2025-12-20 07:17 am

Рецепт дома Луиса де Моура для зубов

Еще один «именной» рецепт из «Кулинарной книги инфанты доньи Марии». Только в отличие от предыдущих он не кулинарный, а медицинский.

Вино сваренное со множеством разнообразных ингредиентов, было не только «праздничным» напитком вроде глинтвейна. В первую очередь оно было лекарственным средством: многие препараты оказывали более сильное действие будучи растворенными в вине, нежели просто в обычной воде. Ну, и хранилось оно несколько дольше.

Дистилляция для повышения эффективности подобных винных конкоктов привела к появлению первых «крепких» алкогольных напитков, которые также изначально использовались в медицинских целях; напиток, известный нам сейчас как джин, пожалуй, самый из них древний и примечательный.

Более того, некоторые, всем хорошо известные безалкогольные напитки, вроде Кока-Колы и Доктора Пеппера, также изначально представляли собою смесь вина с различными добавками.

Впрочем, то, что получается в результате сегодняшнего рецепта не предназначено для питья - это средство от зубных болезней для ингаляции и полоскания. Кроме того, здесь также описан процесс изготовления из подручных средств ингалятора, ужасно примитивного, но вполне рабочего.

Рецепт этот, также как и предыдущий, имеет в названии имя, и его владелец определяется исследователями совершенно однозначно. Луис де Моура был главным конюшим отца доньи Марии де Гимарайнш, собственно владелицы этой рукописи.

Сам дом Луис был человеком мало примечательным, а вот его сын, Кристован де Моура - «зловещий могильщик национальной независимости» - личность в Португальской истории довольно отрицательная.


Когда молодой и неженатый португальский король Себастьян трагически погиб во время очередного сражения с турками в Марокко, он оставил лежать на холмах Танжера тысячи своих солдат, а также трон без наследника, но зато с огромным количеством желающих его занять.

Чтобы исправить это недоразумение, жители Иберийского полуострова решили устроить ролевую игру по мотивам книжки про «Песни льда и пламени», в которой Кристован де Моура отыгрывал роль Петира Бейлиша, приведя в страну Испанского короля Фелипе II с войском; тем более, что в отличие в от других претендентов, им было недалеко.

Короткое и безуспешное сопротивление захватчикам оказало не столько португальская армия (которой стараниями короля Себастьяна больше не было), сколько кучка рыцарей госпитальеров во главе с приором Антонио и несколько тысяч чернокожих невольников, которым приор пообещал в случае победы свободу.



Сам Антонио, будучи правнуком португальского короля по папе и евреем по маме, тоже считал себя претендентом. Он даже провозгласил себя королем и правил аж целым островом на Азорах около двух лет, пока его оттуда не выгнали испанцы. Шаткость положения совершенно не помешала королю Антонио попытаться (также безуспешно) продать французам Бразилию, бывшую тогда португальской колонией.

Кристован же, за такое свое коварство был всячески обласкан королем Фелипе II, сделал большую политическую карьеру в Испании, дважды - уже стараниями сына своего благодетеля, Фелипе III - назначался вице-королем зависимой от Мадрида Португалии, и умер в богатстве и почете глубоким стариком. Такова цена предательства. Ну, если действия Кристована де Моуры, конечно, считать предательством.

Ах, да, рецепт. Вот он, собственно.

Рецепт дома Луиса де Моура для зубов.
Налейте две санады (4 л) красного вина в новый горшок. Положите туда немного зеленого мирта, немного розмарина, горсть полыни, несколько сушеных роз, горсть толченных сосновых шишек, несколько гранатовых корок. горсть соли сколько потребуется, серебрянная ложка толченого перцу, бокал (púcaro de beber) полный меду [и немного дрожжей - дописано немного позднее].

Это должно кипеть, пока не уварится в горшке на высоту трех пальцев.

Затем, перед тем как будете ложиться ночью в кровать, накройте голову сложенным полотенцем и каким-нибудь пледом, чтобы они не пропускали пар и дышите этим паром, наклонив голову над горшком. Оставайтесь так пока пар исходит от сосуда.

Затем возьмите немного (жидкости) из этого горшка, чтобы в конце (процедуры) прополоскать рот и согреть его таким образом, подержав некоторое время (жидкость) во рту.

На край горшка нужно положить полотенце скатанное валиком, чтобы слишком горячий пар не обжигал лицо, а попадал прямо в рот. После чего, накройтесь очень хорошо, чтобы не выпускать пар.


Не совсем очевидно, какая именно роза тут упоминается. Возможно, имеются в виду или французский шиповник, или собачья роза, которые в более поздних медицинских источниках используются как средства от стоматита.
pargentum: (Default)
pargentum ([personal profile] pargentum) wrote2025-12-19 09:31 pm

Фраза. Просто фраза

Речь идёт о том, чтобы создать продуманную систему, в которой все действительно важные потребности будут учтены
glav: (Default)
glav ([personal profile] glav) wrote2025-12-19 11:09 pm
Entry tags:

Беларуский язык

Беларуский язык я слышал всего два раза в жизни: первый раз несколько месяцав назад в каком-то интервью, которое подкинули алкоритмы ютюба, и второй раз сейчас, на прессконференции по поводу освобождения беларуских активистов, где один из трёх выступавших говорил на беларуском языке. И внезапно осознал, что я понимаю абсолютно всё, что они говорят - не практически, а абсолютно всё. Конечно, два диалога - это не корпус литературы, но тоже интересно.

Что напомнил мне беларуский язык - это наш родной суржик. Раньше так говорили в центральной Украине (характерный пример - асфальтоукладчица Катя). Теперь - не знаю, но, судя по рилзам в фейсбуке и инстаграме, половина Украины (кого тошнит от русского; вторая половина говорит на литературном украинском).

Что, в свою очередь, напомнило о том, что украинский и беларуский язык не имеют никакого отношения к современному русскому, и развились из одного древнерусского корня, а русский язык, согласно Зализняку, есть смесь из дневнерусского, новгородского и церковнославянского.
chaource: (Default)
chaource ([personal profile] chaource) wrote2025-12-19 10:59 am

The godawful AI has not failed

In my previous post, I formulated a property of free monad transformers and noticed that the FP jargon sounded political if you squinted hard enough.

I asked the godawful Grok to rewrite it as a political proclamation and got a passable output. (I feel that I would have done a better job though.)

It's interesting that Grok decided to use "nationalist/populist" rhetoric, although there was nothing specific in the prompt. Perhaps, even saying the word "foreign" nowadays means you are a nationalist?

To find out, I also tried Gemini with the same prompt. The result was a clearly leftist take, mentioning "revolutionary cells". References to "interleaving with the foreign monad" were interpreted in the sense of subversive infiltration of a foreign country. Grok took a conservative and nationalist view, where "foreign" refers to undesirable meddling of foreign powers with our own "base" and "interleaving" means infiltrating and subverting the foreign organization within our country.

Judge for yourself. Here is the session:
Read more... )