Учитель, который победил TikTok с помощью химии
Dec. 21st, 2025 12:49 pmМолодой учитель химии столкнулся с проблемой тотальной невнимательности учеников на уроках. Весь класс, казалось, жил в мире коротких видеороликов, и даже самые яркие химические опыты не могли конкурировать с экранами смартфонов. Однажды, когда очередной ученик был пойман за просмотром TikTok прямо во время контрольной, учитель не стал его ругать. Вместо этого он решил, что если не можешь победить врага, нужно его возглавить. Идея была контринтуитивной: использовать платформу, которая отвлекает от учебы, для самого процесса обучения.
Учитель завел собственный аккаунт в TikTok, где начал публиковать короткие, смешные и динамичные видеоролики на тему химии. Он переодевался в забавные костюмы, использовал популярные тренды и музыку, чтобы объяснить сложные химические реакции или рассказать о свойствах элементов. Эффект был ошеломляющим. Ученики, натыкаясь в своей ленте на знакомое лицо, сначала удивлялись, а потом начали "залипать" на образовательном контенте. "Меня научили химии против моей воли", – писали они в комментариях.

Учитель завел собственный аккаунт в TikTok, где начал публиковать короткие, смешные и динамичные видеоролики на тему химии. Он переодевался в забавные костюмы, использовал популярные тренды и музыку, чтобы объяснить сложные химические реакции или рассказать о свойствах элементов. Эффект был ошеломляющим. Ученики, натыкаясь в своей ленте на знакомое лицо, сначала удивлялись, а потом начали "залипать" на образовательном контенте. "Меня научили химии против моей воли", – писали они в комментариях.
Юникод из командной строки
Dec. 20th, 2025 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]
Меряем процессор Cyrix супротив Intel
Dec. 20th, 2025 04:31 pmПользуясь новым тулом, продуремарим процессор на старом 486-м компьютере. Напомню, что там запаян Intel 486sx и отдельно втыкается "ускоритель" Cyrix 486dx.

Запускаем MS-DOS на Cyrix 486dx2-66, и под ним DUREMARK.EXE.
Ну ничего, я заказал на Ебее родной интеловский 486dx2-66, сравним под NetBSD.

Запускаем 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.
Зимняя геометрия
Dec. 20th, 2025 03:19 pmНету снега в Калифорнии? Не беда! Давайте печатать снежинки на 3D принтере.
Генератор снежинок: github.com/drom/neghero
Онлайн можно поиграться здесь: observablehq.com/@drom/neghero


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

Юмор
Dec. 20th, 2025 05:57 pmЗаходит друг к художнику-абстракционисту, а тот в депрессии такой… Приятель спрашивает:
— А ты чё такой?
— Да ваще писец, я в полной жизненной катастрофе. Клиент, который заказал мне свой, грёбаный портрет, хочет, чтобы я изменил цвет его глаз.
— Ну, измени, чё тебе стоит?
— Так, блин, я не помню, в каком месте глаза нарисовал!
— Ha кулинapнoм жуpнaлe нaклeйкa 12+. Чтo тaм?! Oбнaжённaя куpицa?!
Пpoдaм квapтиpу в нoвoм гoвнocтpoe… пpocтитe, oшибcя, в гoтoвoм нoвocтpoe.
Этo пeccимиcт лыceeт, a oптимиcт cтaнoвитcя aэpoдинaмичнeй.
Hoвый пpoкуpop зacтупил нa дoлжнocть co cлoвaми: "Я вaм пoкaжу, кaк вopoвaть!"

— А ты чё такой?
— Да ваще писец, я в полной жизненной катастрофе. Клиент, который заказал мне свой, грёбаный портрет, хочет, чтобы я изменил цвет его глаз.
— Ну, измени, чё тебе стоит?
— Так, блин, я не помню, в каком месте глаза нарисовал!
— Ha кулинapнoм жуpнaлe нaклeйкa 12+. Чтo тaм?! Oбнaжённaя куpицa?!
Пpoдaм квapтиpу в нoвoм гoвнocтpoe… пpocтитe, oшибcя, в гoтoвoм нoвocтpoe.
Этo пeccимиcт лыceeт, a oптимиcт cтaнoвитcя aэpoдинaмичнeй.
Hoвый пpoкуpop зacтупил нa дoлжнocть co cлoвaми: "Я вaм пoкaжу, кaк вopoвaть!"
Дуремарк
Dec. 20th, 2025 12:28 amЧтобы иметь возможность сравнивать производительность 8-битных и 16-битных процессоров с большими, я сварганил на скорую руку простой бенчмарк. Он качественнее чем Dhrystone: не просто вычисляет некие формулы, а работает со списками, множит матрицы, парсит грамматику. Идея подсмотрена у CoreMark, но упрощена до предела. Допускается размер int 16 бит, так что можно компилировать с помощью Turbo C. Скорость я калибровал по PC XT, так что один DureMark примерно равен классической XT-шке 4.77 МГц. Вот пример запуска на такой XT-шке:
Тестирование начинается с малого числа итераций, и оно экспоненциально растёт до достижения разумной длительности (несколько секунд). Вот запуск на iMac Intel Core i9 3.6 GHz.
Теперь предстоит перемерять всю мою коллекцию компьютеров.
Кроме общей производительности, показывается, какой вклад вносит каждый из трёх задействованных алгоритмов: работа со списками, работа с матрицами и машина состояний.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.
Исходники: github.com/sergev/duremark$ 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
Теперь предстоит перемерять всю мою коллекцию компьютеров.
Война с голубями при помощи кота-дипломата
Dec. 19th, 2025 07:50 pmВ одном из спальных районов города жители многоэтажки годами вели безуспешную войну с голубями. Птицы облюбовали чердак и технические этажи, создавая шум, грязь и антисанитарию. Все традиционные методы борьбы – от установки шипов на подоконники до использования ультразвуковых отпугивателей – провалились. Голуби быстро адаптировались к новым условиям и продолжали считать дом своей собственностью. Ситуация вызывала постоянные споры среди соседей: одни требовали радикальных мер, вплоть до отстрела, другие же, сердобольные, подкармливали птиц, усугубляя проблему.
Неожиданное решение пришло от пожилого жителя, который предложил "нанять на работу" своего кота, известного своим спокойным нравом и полным отсутствием охотничьих инстинктов. Идея показалась абсурдной: как ленивый и апатичный кот сможет справиться с целой стаей голубей? Однако мужчина настаивал, утверждая, что сила не всегда решает проблему. Кота начали регулярно выпускать на чердак. Он не гонялся за голубями, а просто лежал на старом матрасе, изредка лениво наблюдая за их суетой. Контринтуитивный подход сработал: постоянное, но неагрессивное присутствие хищника создавало для птиц зону психологического дискомфорта. Они перестали чувствовать себя в безопасности, и в течение нескольких недель вся стая покинула дом. Этот случай вызвал новую волну споров: одни считали старика гением, другие – чудаком, которому просто повезло.

Неожиданное решение пришло от пожилого жителя, который предложил "нанять на работу" своего кота, известного своим спокойным нравом и полным отсутствием охотничьих инстинктов. Идея показалась абсурдной: как ленивый и апатичный кот сможет справиться с целой стаей голубей? Однако мужчина настаивал, утверждая, что сила не всегда решает проблему. Кота начали регулярно выпускать на чердак. Он не гонялся за голубями, а просто лежал на старом матрасе, изредка лениво наблюдая за их суетой. Контринтуитивный подход сработал: постоянное, но неагрессивное присутствие хищника создавало для птиц зону психологического дискомфорта. Они перестали чувствовать себя в безопасности, и в течение нескольких недель вся стая покинула дом. Этот случай вызвал новую волну споров: одни считали старика гением, другие – чудаком, которому просто повезло.
Подключаем XT-шку к интернету
Dec. 19th, 2025 12:29 amПро первую неудачную попытку я рассказывал: в тот раз сетевая карточка NE2000 не ожила. На этот раз я добыл ещё более древнюю Ethernet карточку, а именно WD8003EB. Классическая схема на трёх чипах DP8390 + DP8391 + DP8392.


У карточки два разъема: тонкий коаксиальный Ethernet и так называемый AUI для подключения произвольного внешнего трансивера.

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




Софт для конфигурации карточки WD8003 имеется по ссылке: WD_SuperDisk_v17.zip. Там две утилиты: SETUP.EXE и DIAGNOSE.EXE. Setup даёт менять конфигурацию карточки (базовые адреса и прерывание) и записывает её в постоянную память NVRAM. Diagnose гоняет тесты и проверяет, всё ли в порядке. Конфигурацию она тоже может менять, но не сохраняет.

( +4 )
Таким образом XT-шка из ржавой рухляди превращается в осмысленную сетевую машину. 😀


У карточки два разъема: тонкий коаксиальный Ethernet и так называемый AUI для подключения произвольного внешнего трансивера.

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




Софт для конфигурации карточки WD8003 имеется по ссылке: WD_SuperDisk_v17.zip. Там две утилиты: SETUP.EXE и DIAGNOSE.EXE. Setup даёт менять конфигурацию карточки (базовые адреса и прерывание) и записывает её в постоянную память NVRAM. Diagnose гоняет тесты и проверяет, всё ли в порядке. Конфигурацию она тоже может менять, но не сохраняет.

( +4 )
Таким образом XT-шка из ржавой рухляди превращается в осмысленную сетевую машину. 😀
а, не, уже 7 лет назад было понятно
Dec. 18th, 2025 04:09 pmСамым главным врагом российского народа является сам российский народ. И российский народ был бы не прочь этого врага народа расстрелять. Всех. Кроме каждого отдельного себя - "а меня-то за что" - но всех остальных обязательно. Ну или сначала объединиться и всей гурьбой убить всех других (их проще), а потом уже друг друга перебить, а то чо они.
По-моему, это все рецидивы каннибализма. Ту же Снегурочку пожарили, сожрали и сказали, мол, эх, хорошая была девушка, жаль, всю съели.
src
Но раньше их было чота жалко. Сейчас нет.
По-моему, это все рецидивы каннибализма. Ту же Снегурочку пожарили, сожрали и сказали, мол, эх, хорошая была девушка, жаль, всю съели.
src
Но раньше их было чота жалко. Сейчас нет.
Аутентичный процессор 8086 на Верилоге
Dec. 18th, 2025 12:07 pmЯ как-то упоминал родной микрокод от 8086, а вот нынче народ сварганил честную реализацию процессора на Верилоге, где работает тот микрокод.
"z8086: Rebuilding the 8086 from Original Microcode"
Если кому хочется выяснить всякие недокументированные фичи, можно гонять этот z8086 на FPGA или на Icarus Verilog и смотреть. Внутри у негонеонка хитрый процессор с 21-битными инструкциями и программа из 512 микрокоманд.
Исходники: github.com/nand2mario/z8086
Фактически народ повторил то, что я сделал когда-то для микро-БЭСМ: восстановил микроархитектуру по имеющемуся микрокоду. С таким прогрессом недолго и всю PC XT на FPGA повторить. Софта-то к ней вагон.
"z8086: Rebuilding the 8086 from Original Microcode"
Если кому хочется выяснить всякие недокументированные фичи, можно гонять этот z8086 на FPGA или на Icarus Verilog и смотреть. Внутри у него
Исходники: github.com/nand2mario/z8086
Фактически народ повторил то, что я сделал когда-то для микро-БЭСМ: восстановил микроархитектуру по имеющемуся микрокоду. С таким прогрессом недолго и всю PC XT на FPGA повторить. Софта-то к ней вагон.
Магазин, где всё бесплатно, но нельзя брать
Dec. 18th, 2025 10:44 amВ Барселоне существует магазин, где всё можно взять бесплатно — но только если вы не планировали этого заранее. То есть зайдя в магазин с мыслью «хочу что-то забрать», вы уйдёте с пустыми руками. А если просто зашли посмотреть — и вдруг увидели что-то, что «взяло за душу», — можете взять.
Правило звучит абсурдно, но работает. Люди рассказывают, что начали замечать красоту в мелочах: старую чашку, игрушку, книгу без обложки. Критики говорят: «Это манипуляция сознанием!», но посетители утверждают: «Я впервые за долгое время взял что-то не потому, что нужно, а потому, что это вызвало чувство». Магазин существует в подвале старого дома и не имеет вывески.

Правило звучит абсурдно, но работает. Люди рассказывают, что начали замечать красоту в мелочах: старую чашку, игрушку, книгу без обложки. Критики говорят: «Это манипуляция сознанием!», но посетители утверждают: «Я впервые за долгое время взял что-то не потому, что нужно, а потому, что это вызвало чувство». Магазин существует в подвале старого дома и не имеет вывески.
GateMate RISC-V
Dec. 17th, 2025 05:58 pmСмотрите какая симпатичная штука: компьютер с процессором RISC-V и видеопортом VGA на немецком чипе FPGA. Плата GateMateA1-EVB от фирмы Olimex. Подробности спрашивайте у
ymz5 .
Меряем скорость Cyrix 486dx2-66 с помощью Dhrystone
Dec. 17th, 2025 02:16 amЯ поставил Си компилятор под NetBSD на древнем компьютере PC 486 и скомпилил старый добрый Dhrystone.
Это в 1700 раз медленнее, чем Raspberry Pi 4, или в 800 раз медленнее Raspberry Pi 3B.$ ./dhrystone
Dhrystone Benchmark, Version 2.1 (Language: C)
...
Nanoseconds for one run through Dhrystone: 123707.4
Million Dhrystones per Second: 0.008
DMIPS: 4.6
Утрата возможности работать
Dec. 17th, 2025 11:40 amИ все же самым большим разочарованием для большинства из нас была бы полная утрата возможности работать в будущем. Лишиться права работать значит прекратить участие в жизни той части общества, к которой мы принадлежим.
Работать значит участвовать в деятельности нашего общества. Лишиться своей доли в деятельности общества значит быть им отвергнутым.
Великие революции происходят из массовой неспособности работать. Толпа бунтует не потому, что возмущена привилегиями, как она всегда провозглашает, но потому, что она сошла с ума, не имея работы. Правда, что революция не может произойти, когда все люди работают. И не имеет значения, насколько напряженно они работают. Революции происходят, когда людям слишком часто запрещают работать. Они поднимаются, потеряв головы, и государство нередко превращается в руины. Ни одна революция никогда ничего не выиграла. Жизнь эволюционизирует к лучшему состоянию в результате упорной работы, но не под угрозами.
Рон Хаббард "Проблемы работы"

Работать значит участвовать в деятельности нашего общества. Лишиться своей доли в деятельности общества значит быть им отвергнутым.
Великие революции происходят из массовой неспособности работать. Толпа бунтует не потому, что возмущена привилегиями, как она всегда провозглашает, но потому, что она сошла с ума, не имея работы. Правда, что революция не может произойти, когда все люди работают. И не имеет значения, насколько напряженно они работают. Революции происходят, когда людям слишком часто запрещают работать. Они поднимаются, потеряв головы, и государство нередко превращается в руины. Ни одна революция никогда ничего не выиграла. Жизнь эволюционизирует к лучшему состоянию в результате упорной работы, но не под угрозами.
Рон Хаббард "Проблемы работы"







