Умер Никлаус Вирт

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

if (a = b) {}

И это выполнится! Так как здесь = рассматривается как оператор присвоения, и соответственно, возвращает-то он True, потому что присвоение произошло успешно! А на Паскале = это оператор сравнения внутри If, а присвоение делается как a := b

Ну, а на сях пришлось оператор сравнения делать == , что нередко приводило к ляпам. Про Джаваскрипт с его разнообразием =, ==, и аж === даже начинать не буду. В топку, сразу.

Но, наверное, главная заслуга Вирта это даже не язык Паскаль. А в том, что усилиями Вирта и Дейкстры был убит оператор GoTo. Ну, в языках высокого уровня. Так-то все эти if и while, и прочие for компилируются-то в ассемблеровский JMP всё равно.

Пусть он обретет покой.

Как обойти пейволл Нью-Йорк Таймз

Всё просто.

1. В любой браузер ставим uBlock Origin.
2. Идём на https://www.nytimes.com
3. Открываем настройки uBlock Origin и блокируем для этого сайта весь жабаскрипт:


4. ПРОФИТ!

Не благодарите.

Про подписки

Вот я встречаю уже не один раз мнение, что подписка на софт, например, на тот же Фотошоп — это зло и надувательство. Я раньше тоже так думал, но потом передумал. И вот почему.

Насколько мне известно, лицензию Фотошопа “вечную” купить более невозможно. Но хорошо известно, сколько она стоила, благодаря https://archive.org/:

Предположим, ты купил её один раз, и каждый год обновляешься ради новых фичей. За десять лет ты заплатишь: $699 + 9 * $199 = $2490

А КреативКлауд даёт подписку на Фотошоп (и ещё и Лайтрум даёт придачу) за десятку в месяц. И за 10 лет ты заплатишь: $10 * 12 * 10 = $1200

Ну и как, что выгоднее? По-моему, Адоби поступили крайне мудро, сделав цену подписки такой низкой. Нет никакого смысла пиратить какую-то херь, работающую через раз, и неспособную на установку обновлений, если можно получить всё то же самое за цену четырёх чашек кофе в месяц.

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

Игрушки под ДОС

Прикольно. Немного шароварных ДОСовских игрушек, идущих прямо в браузере:

https://dosdeck.com/

Я никогда раньше не играл в демо-версию Дума, прошёл всю, хотя, конечно, без секретов (ракетницу я так и не надыбал). Ну, и играть в трёхмерную игрушку клавишами — привет вам, “трактористы” 1990х. Кроме того, так как игра в браузере, кнопку Альт (которой в Думе “трактористы” стрейфились) они не дают, а стрейфиться кнопкой Z я так и не смог. Ничо, наши победили всё равно.

Старпёрческую ностальгическую слезу пролил, да.

“Когда я был маленький”, и у меня была какая-то звуковая карточка OPTI (жуткое говно, жуткое), совместимая с SB Pro; нормального MIDI в ней не было, так что думовская музыка звучала бурлом, через ЧМ-синтез. Нормальную музыку слышали только счастливые (по тем меркам) обладатели звуковых карточек Gravis Ultrasound, Roland Sound Canvas, или дочерней платы Creative WaveBlaster.

AdLib и прочее звучало фигнёй, да. Хотя теоретически General Midi, с подключённым внешним синтезатором мог бы звучать интересно.

К чему я — к тому, что MIDI музыку в Думе перевели в нормальный формат, и тут её слышно так, как более-менее намеревался автор, а не ЧМ-бурлом. И за это им спасибо.

Покупай, пока дают

На Adobe.com большая скидка на подписку “на все приложения”. Вместо 60 монет в месяц на целый год можно подписаться за 30. Мне, редактирующему фотографии постоянно и монтирующему видео периодически эта покупка видится крайне выгодной. Включен и Фотошоп, и Иллюстратор, и Премьер, и даже мой любимый звуковой редактор Одишен (Audition), который в девичестве был Syntrillium Cool Edit.

Про ентот ваш Линукс

Когда же, наконец-то, эту кривую поделку на десктопе доведут до ума? Невозможно же пользоваться.

Вот у меня есть лаптоп для скачивания торрентов всяких интернет-вещей, там браузер, ВПН, прочее. Воткнул я на него Убунту 22.04. Работало через жуткую задницу, жуткую. Скорость работы беспроводной сети аккуратно раз в день падала до 10 мегабит, периодически всё зависало и грохалось. Иногда лечилось отключением вайфая и включением его заново. Иногда приходилось принудительно перезагружать. На экране — постоянно какие-то подглюкивания.

А поставил винду-десятку — и всё сразу заработало с пол-пинка. Вот уже месяц ничего не перегружал, а скорость работы вайфая не падает ниже 300 мегабит. И всё железо работает прекрасно.

На Линуксе мы имеем заколдованный круг — в основном все эти проблемы сводятся к косоруким драйверам. Драйверы нормальные для “бесплатного” линукса никто не пишет, потому что нет спроса. А спроса нет — потому что нет нормальных драйверов. Я, например, на своём рабочем лаптопе с гибридной видеокартой Intel/NVidia Quadro линукс заставить функционировать вообще не смог. Драйвер ставится, но не фурыкает.

Линукс бесплатен только если твоё время ничего не стоит.

На серверах Линукс работает более-менее нормально (хотя если есть возможность, я всё же поставлю правоверный FreeBSD). Кроме того, Линукс замечательно летает в WSL, которым я постоянно пользуюсь. Но на десктопе — жуть с ружьём.

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

Пятиминутка ненависти к Линуксу и прочему Ведроиду окончена 🙂

ИИ-музыка

Генерация музыкального контента при помощи ИИ уже довольно долго используется композиторами в цифровых звуковых рабочих станциях (DAW). Но теперь есть инструмент, который позволяет любому человеку задать текстовый запрос и получить музыкальный ответ. Например “дум-метал с агрессивными сбивками” или “прогрессия аккордов для соло”.

Кто искал? Получите, распишитесь. Это анонс Stable Audio — музыкального генератора от тех же людей, что сделали Stable Diffusion.

ИИ в мирных целях

Сотрудник, чьи фотки в голом виде мне прислала по почте его бывшая жена с крепко протекающим чердаком, в очередной раз собрался идти в суд. Чего-то они там опять не поделили.

Сотрудник попросил мне написать ему характеристику с места работы. Писать всякую ерунду — дело нынче не царское. Обратился, конечно, в ЧатЖПТ. “А напиши-ка мне, батенька, на него характеристику, положительную, как в профессиональном, так и в личном качестве”. Написало, да так, что я в паре мест сам чуть не прослезился.

“Однако что действительно отличает Мартѝна Гарсию от других, так это его роль любящего отца. Его преданность благополучию и воспитанию дочери поистине вдохновляет. Я видел, как он делал все возможное, чтобы создать заботливую и поддерживающую среду для своего ребенка. Мартѝн Гарсия прививает им такие ценности, как уважение, сопереживание и трудолюбие, подавая пример во всех аспектах своей жизни. Его безусловная любовь и неизменное присутствие в жизни дочери сами служат свидетельством его характера и приоритетов.”

Гладко пишет, зараза!!!

PS: Да, сотрудник — действительно хиспаник, если чо.

Не прошло и нескольких часов…

…как очередную дырень в том же самом, уже набившем оскомину, спекулятивном выполнении кода, в очередной раз нашли уже в процессорах Интел серии Core, от 6-го до 11-го поколения. Окрестили Downfall.

Можете ознакомиться по ссылке. В этот раз крадут данные, используя спекулятивную пересылку данных в векторной инструкции Gather (часть расширения AVX2/AVX512, ЕМНИП).

Я же говорил — это музыка будет вечной, пока от спекулятивного исполнения не откажутся совсем. А не откажутся от него минимум пока скорость оперативной памяти не вырастет на несколько порядков. А это произойдёт… даже не знаю, когда. Может быть, и никогда.

Нет, я слабо верю в то, что дыры в SE когда-нибудь прикроют окончательно. С тех пор, пока нашли первые, постоянно находят всё новые и новые — уж такая технология.

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

А вот кому жарко? А жарко провайдерам, например, облачных ресурсов. Арендуешь ты, такой красивый, у них часть вычислительного узла. Какой ты на этой части узла будешь запускать код — одному Гефесту известно. У провайдера нет никакого контроля над твоим кодом. А если ты запустишь код, ворующий данные у соседа, с которым вы делите вычислительный узел, что тогда будет? AWS, Azure и прочие очень много денег и усилий тратят на обеспечение безопасности одного жильца, от другого жильца. И открытие вот таких вот дыр им здоровья… ох, не прибавляет.

Спекулятивное исполнение

Вот как вы думаете, современные процессоры, встретив в коде условный переход типа if () {} else {}, какую ветвь кода выполняют?

Правильный ответ: обе.

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

Только вот с выбрасыванием есть… эффекты. Которыми можно злоупотребить. Именно отсюда растут ноги туевой хучи эксплойтов типа Spectre, Meltdown, и прочих радостей. Теперь с эффектами засветились процессоры AMD.

Я плохо понимаю конкретику, но каким-то образом злоумышленники могут заставить центральный процессор считать, что команда XOR является рекурсивным вызовом. Далее, как водится, идёт переполнение буфера, и возврат стека на произвольный адрес, который любезно подсовывает ему хакер. Таким образом могут быть возвращены приватные данные из другого непривилегированного процесса.

https://www.bleepingcomputer.com/news/security/new-inception-attack-leaks-sensitive-data-from-all-amd-zen-cpus/

Когда же всё это починят? Да никогда. Убирание спекулятивного исполнения стоит огромного падения в производительности. Поэтому оно с нами будет как минимум до тех пор, пока память типа SRAM не будет стоить как обычная оперативка RAM.