vak: (Житель планеты Узм)
[personal profile] vak
Появилась забавная утилитка для возни с юникодными символами. Ставится командой:
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]

Date: 2025-12-21 11:16 (UTC)
madef: (Default)
From: [personal profile] madef
Раз уж зашла речь про командную строку, то спрошу тебя как коллегу-палеолингвиста. Допустим, есть программа для командной строки под Windows. Для простоты, чтобы с окнами не возиться, обычный текстовый режим. Как можно из этой программы общаться с периферией через последовательный порт, если IN и OUT в защищённом режиме являются привилегированными командами, а прерывания DOS не существуют? Через WinAPI? Или через DOS-эмулятор?

Date: 2025-12-21 16:19 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
А какое отношение командная строка в Win имеет к DOS? Общаться с периферией что консольная, что GUI (с окошками) программа может через соответствующий драйвер и API. 32x разрядные версии винды (NT) имели похожий на консоль (и собственно в ней же и работающий) эмулятор DOS (NTVDM), там подобные обращения к портам виртуализировались (более или менее успешно), в Win64 этот механизм пропал (V86 не работает в 64битном режиме, а именно этот режим использовался под 32битной виндой на x86). Есть порт NTVDMx64, больше похожий на хак NTVDM из утекших исходников NT4 для не x86 машин (с чисто софтовым эмулятором реального режима x86), но он конфликтует с кучей софта, поиграться можно, но потом придется глубоко чинить винду, или всякие другие эмуляторы компа, вроде Hyper-V или VirtualBox, VMvare, QUEMU etc в них можно поставить например XP32, а в ней - NTVDM, и уже там шарашить в порты, в надежде, что это все через все эти уровни виртуализации пройдет (я бы особо не рассчитывал). Ну или сразу DOS машину эмулировать, без винды. Но правильнее, конечно, драйвер и API, и виндовое приложение, консольное или GUI - что надо.

Date: 2025-12-21 16:59 (UTC)
madef: (Default)
From: [personal profile] madef
Эмулировать DOS в виртуальной машине - это идея. Спасибо!

Date: 2025-12-21 19:29 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
Можно, конечно, но все же лучше использовать winapi и делать нативные win приложения, эмуляция - это очень громоздко и очень расточительно. Тем более, что сегодня значительную часть работы по созданию такого приложения могут вполне приемлемо сделать LLM.

Date: 2025-12-21 21:17 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
В самом простейшем виде через запись/чтение файла `COM1:`

Date: 2025-12-25 13:10 (UTC)
netch80: (Default)
From: [personal profile] netch80
Я просто грепаю UnicodeData.txt, это заменяет как минимум первый сценарий.
А вот второй -- откуда и как она берёт данные?