Одеть и надеть
Цитата из книги «Справочное мѣсто русскаго слова. Четыреста пятьдесятъ поправокъ, съ руководствомъ къ употреблению буквы Ѣ»:
ОДѢТЬ, НАДѢТЬ. Часто не обращаютъ вниманія на различіе между этими словами. Одѣть говорится о предметахъ одушевлённыхъ ; напр. : одѣть человѣка. Надѣть можно сказать только о неодушевлённомъ предметѣ; напр.: надѣть шапку, надѣть сапоги. Поэтому не должно говорть, наприм. : одѣл шубу ; правильно: надѣл шубу.
1843 года издания книга. 170 лет прошло, никак не научимся правильно говорить!
Там кстати, массу любопытного можно почерпнуть. Язык за 170 сильно изменил свою норму. Навскидку: правильно было «отверзтие», «официяльная», неграмотно было сказать «эта музыка мне так нравится», к слову «так» обязательно было дописать как: «эта музыка мне так нравится, что я невольно напеваю». И так далее.
Автор, кстати, неправ про «надеть», червяка на крючок
Цифирь
Цифирь (кириллическая система счисления) — система счисления, принятая в Древней Руси и использовавшаяся в России до начала 18 века. В качестве цифр используются буквы кириллицы или глаголицы со специальными значками. Единицы записываются буквами от «а» до «ѳ», десятки — «і» до «ч» (в числовом значении над «і» точка не ставится), сотни — от «р» до «ц».
Надо учесть, что алфавит, использовавшийся для этого был длинее, там были буквы, которых в современном варианте нет, например, 60 это «ѯ», а 800 — «ѿ», да и значения букв со временем менялись, например,
Чтобы отличать слова от чисел, использовался знак «титло», ставившийся над предпоследней или единственной буквой числа: «сл҃д» — число 234, для обозначения тысяч применялся специальный знак «҂», например, «҂асл҃д» — 1234. Таким образом можно было записывать не только тысячи, но и десятки и сотни тысяч. «҂ѱ҂а» — это 701 тысяча.
С более крупными числами была небольшая путаница. Их названиями были «тьма», «легион» или «неведий», «леодр», «вран» и «колода». Тут различали «малый счёт» и «большой счёт» — способ записи одними и теми же значками разных порядков чисел. Например, «легион» в малом счёте обозначал сотни тысяч, в большом — триллионы.
«Тьма» обозначала либо десятки тысяч, либо тысячи тысяч (миллионы) и обозначалась буквой, взятой в кружок, «титло» в этом случае не ставилось. Дальше шёл «невидий» или «легион», в малом счёте сотни тысяч, в большом — триллионы и обозначался как буква, взятая в кружок из точек: «҈а». Ещё крупнее был «леодр», в малом счёте — миллионы, в большом — септиллионы (10²⁴), буква в этом значении обводилась кругом чёрточек. Далее шёл «вран» («ворон»), обозначаемый как буква, окружённая запятыми: «҉а», в зависимости от счёта обозначал десятки миллионов или квиндециллион (10⁴⁸).
А самым большим числом была «колода», буква заключалась в квадратные скобки сверху и снизу, справа и слева ставились два ромбика. Обозначало в малом счёте сто миллионов, в большом — десятки квиндециллионов (10⁴⁹).
Таким образом, если бы у нас в 18 веке Сашка Брин Михайлов сын делал национальную поисковую систему, то она, возможно, называлась бы «калода».
Фотографии Левицкого
Жил в позапрошлом веке фотограф Сергей Львович Левицкий, в 1839 году приобрёл он дагеротипный аппарат и начал заниматься фотографией. А написал я про него, потому что он сделал фотографии некоторых интересных людей своего времени, которые почитаемы и по сей день.

Фотография 1865 года, групповой портрет русских писателей круга журнала «Современник»: Гончаров, Тургенев, Толстой, Григорович, Дружинин, Островский.

А это 1845 год, Гоголь в группе римских художников. Узнаёте? Вон он в центре, с тростью! Гоголь с фрагмента этой фотографии смотрел на нас в школе со стен класса литературы. Единственное фото с ним, судя по всему.

А это 1861, Менделеев. Химию любил, обожал, боготворил, но как Менделеев выглядел не помню. Высокий лоб, пышные волосы, хитрый прищур, слишком большой, не по размеру пиджак. Дмитрию Ивановичу тут должно быть 27 лет.
Обожаю старые фото!
451 градус по Фаренгейту

Вот я его и увидел в действии. Код HTTP №451, предложенный Тимом Бреем (сотрудником Гугла, автором спецификации XML).
Ранее этот нестандартный код использовался фирмой Микрософт в продукте «Эктив Синк» для перенаправления, теперь предлагается передать его для стандартного использования в качестве кода для ресурсов, заблокированных государством. Черновик стандарта уже отправлен в IEFT.
Код 451 отсылка к роману Рея Бредбери «451 градус по Фаренгейту», описывающему тоталитарное общество, литература там находится под запретом и пожарные сжигают обнаруженные книги вместе с жилищем, где их обнаружили, а бывших владельцев отправляют в сумасшедший дом.
Запомните и цитируйте: «человечество само в себе силу найдёт… даже и не веря в бессмертие души»
Цитата из «Комсомольской Правды».
А самая цитируемая фраза Достоевского: «Если Бога нет, все дозволено». И сегодня хочется повторить: если Бога нет, если нет высших ценностей, то и человека не будет.
Не говорил такого Достоевский. В «Братьях Карамазовых» он писал:
А слышал давеча его глупую теорию: «нет бессмертия души, так нет и добродетели, значит, все позволено».
(А братец-то Митенька кстати помнишь, как крикнул: «Запомню!»).Соблазнительная теория подлецам… Я ругаюсь, это глупо… не подлецам, а школьным фанфаронам с «неразрешимою глубиной мыслей».
Хвастунишка,
а суть-то вся: «С одной стороны нельзя не признаться, а с другой — нельзя не сознаться!» Вся его теория — подлость! Человечество само в себе силу найдет, чтобы жить для добродетели, даже и не веря в бессмертие души! В любви к свободе, к равенству, братству найдет…
JS-string decode by Bash
Столкнулся я тут с необходимостью раскодировать строку в том формате, который используется в JSON, т. е. когда символы, кроме латиницы и ещё некоторых знаков кодируются как \uXXXX.
Можно было, конечно, вызвать
Сделал на «Баше» и утилитах командной строки (кстати, легко переделать, при желании, и на «sh»):
:|sed -E '' 2>&- && SED='sed -E' || SED='sed -r'
uNNNNhelper() {
printf $(echo -n "$@") | iconv -f utf-16be
}
uNNNN() {
eval $(
echo -n "$@" |
$SED '
s/([^[:alnum:]])/\\\1/g
s/^/echo /
s/((\\\\[Uu]....)+)/$(uNNNNhelper \1)/g
s/\\\\[Uu](..)(..)/\\\\x\1\\\\x\2/g
'
)
}
uNNNN 'Hello, \U043C\U0438\U0440!' # выведет «Hello, мир!»Непонятный баг с AJAX в IE8
В процессе переезда одного из наших проектов на новый сервер, Интернет Эксплорер восьмой версии стал выдавать

В этом месте в коде не было ничего криминального, создание объекта для «аякса», асинхронная посылка запроса и проверка свойств того что пришло. Методом проб и ошибок удалось выяснить, что ошибка возникает при попытке обращения к свойствам «status» и «responseText» (а так же «responseXML», в коде он не использовался, но я просто попробовал).
Промучавшись с полчаса, я догадался переключить IE на работу с объектом ActiveX Microsoft.XMLHTTP, вместо XMLHttpRequest, у первого диагностика получше — ему
На этот раз я получил нумерную ошибку (скриншота не сохранилось), по номеру которой я нашёл сообщение на сайте Микрософт, что ошибка связана с неверной кодировкой, пришедшей со стороны сервера. В «Хроме» посмотрел кодировку — оказалось, что кодировка с сервера приходит как «cp1251»:

Интернет Эксплорер такую кодировку не понял, один из админов вписал её руками, поскольку при смене версии ПХП заменили сервер FastCGI на
Видимо, встретив странную кодировку, IE не смог понять как ему читать то, что пришло, он вообще не заполнил некоторые свойства, а объект, попытавшись получить к ним доступ, не понимал в чём дело и выдавал пустую ошибку, которая и символизировала это «я не понял что произошло».
Будущее наступило!

Вы знаете, мы давно привыкли к новым прошивкам для телефонов и смартфонов, не удивляют наручные часы, требующие новую прошивку, у меня будильник скачивает новую прошивку, стиральная машина или холодильник, скачивающие прошивку, наверное, не удивили бы.
Но новая прошивка для электронных сигарет?
ROT13 и ROT47 в Bash
Неожиданно сообразил, что функции ROT13 и ROT47 очень просто делаются в командной строке:
# Это ROT13, «крыша» превращается в «отливы»:
$ echo roof | tr n-za-mN-ZA-M a-zA-Z
ebbs
# А это ROT47, «привет» превращается в чёрт знает что:
$ echo Hello | tr '!-~' 'P-~!-O'
w6==@
Всякая мелочь одним постом-11
В связи с недавней войной «Литреса» с приложениями для чтения электронных книг, высказался Леонид Каганов. Леонид предлагает новую, для меня, точку зрения на ссылки:
Сетевая общественность встала горой на защиту (…) и кричит, что за ссылку нельзя никого наказывать, потому что это всего лишь ссылка. А ссылка — это самое святое, самое безобидное и самое невинное, что только может быть. (…)
При этом особенно смешно, что в этой истории никто и не стал бороться с «нарушителем» — у китайского разработчика
по-прежнему есть сайт, где приложениепо-прежнему можно скачать, а Гугль просто убрал ссылку в базе приложений своего магазина. Ту самую ссылку, которая «ничего не значит», «ни на что не влияет», и вообще «пустяк» — как нас только что уверяли те же самые люди. (…)Именно ссылка на информацию или ее разрозненные куски — этот то, что обеспечивает работу Торрентов, бегающих сайтов, зеркал и прочего неуловимого контента. И хотим мы того или нет (я — очень не хочу), но эта новая революция произойдет рано или поздно, и мир в своей борьбе с незаконной информацией наконец прекратит бегать за файлом, а начнет охотиться за ссылкой.
В ЖЖ статья «Опять двойка» рассказывает об ошибках, которые допустила Студия Лебедева, оформляя косметическую марку «
Kiba — Солнце На самом деле это, в зависимости от иероглифов, «склад пиломатериалов», «верховая езда» или «клык».
Seykazu — Ощущение жизни Нет такого слова. Возможно, имелось в виду «seikatsu» (生活 сэйкацу), но это не «ощущение жизни», а «быт» — почувствуйте разницу.
Xateu — Волна Чёрт знает что такое, телепатия в этом месте сломалась. В японском не то что слов — слогов таких нет, а «волна» будет «nami» (波 нами).
На сайте
Чудеснейшая статья «Движение против ГМО: взгляды, заблуждения» о том как надо отвечать на вопросы людей, которые
«ГМО по определению не могут быть безопасны потому, что любое вмешательство приводит к появлению организмов с неизвестными свойствами»
В каждом виде живых существ из поколения в поколения происходят новые мутации. Например, у человека происходит около 50 новых точечных мутаций за поколение. Кроме новых мутаций, при половом размножении происходит рекомбинация (обмен участками ДНК на гомологичных хромосомах), а также образуются новые комбинации существующих аллелей генов за счет того, что потомок наследует половину диплоидного набора хромосом от отца и половину от матери. В этом смысле любой акт полового размножения приводит к «появлению организмов с неизвестными свойствами» и те опасения, которые Ермакова предъявляет в адрес ГМО можно с тем же успехом предъявить практически к любому организму.
И напоследок статья Стелазина «Цирк дрессированных демонов имени Корбиниана Бродмана — Ксенофобия»:
Отчего это мы такие злобненькие? Упомянутый Gat отвечает на это в том духе, — «отчего кот яйца лижет? — оттого, что может». В дикой природе взрослое животное не может нанести серьезного вреда другому животному даже при желании. Голыми руками вы вряд ли способны убить человека, во всяком случае сильно умаетесь, это невозможно проделывать регулярно и помногу. Поэтому межгрупповые конфликты людей ничем принципиально не отличается от межгрупповых конфликтов шимпанзе, просто у человека появились новые возможности.
A new hop
У Дмитрия Радищева (DiBR) в ЖЖ увидел. Попробуйте набрать в консоли
traceroute -m 100 216.81.59.173Подождите, пока сигнал выйдет за пределы вашей сети и наслаждайтесь! Для Виндоуз команда будет выглядеть так: «
Если хочется прочитать без лишнего мусора, то я вот такой вариант сделал (это под Виндоуз уже работать не будет):
traceroute -m100 -q1 216.81.59.173 2>&- | awk '/pisode/{_=1}{if(_)print$2}' | tr . ' '/dev/random
В комментариях мне вопрос задали — откуда в компьютере взяться случайным числам. Казалось бы — там же всё детерминированно. С одной стороны — да, с другой стороны…
Помню, в «Спектруме» (это компьютер, на котором я работал больше всего в детстве), в Бейсике, был оператор RANDOMIZE — инициализация генератора случайных чисел. Если вызвать его
bolk@Bolk /$ php -r 'mt_srand(1); echo mt_rand();'
1244335972
bolk@Bolk /$ php -r 'mt_srand(1); echo mt_rand();'
1244335972Если же вызывать RANDOMIZE без параметров, то его значение инициализируется текущим временем. Это уже лучше, потому что в данном случае элемент случайности вносит сам пользователь — как просчитать когда он запустит программу? Какое будет время на часах? На «Спектруме» отследить запуск программы не получится, а без этого нельзя ответить на вопрос какое значение выдаст генератор случайных чисел.
Но на компьютерах посложнее, например, на том, с которого вы сейчас это читаете, отследить запуск проще простого, посмотреть в этот момент на часы — ещё проще. Что делать? Значит надо собирать больше «шумов» окружающего мира.
Какие «шумы» может собирать компьютер вокруг себя?
Как уже было сказано, сильную сумятицу в стройность машинной логики вносит пользователь, грех не пользоваться: нажатия клавиш, движения мышкой, запуск программ, управление ими. Ещё можно, например, снимать значения с загрузки процессора, со списка процессов, занимаемой процессами память и расходуемого время (при условии, что на машине работает сейчас пользователь), вполне источник случайных данных. Ведь эти значения зависят от действий пользователя.
Что делать, когда пользователь пошёл налить себе кофе? Вполне можно использовать шумы внешнего мира. Шумы в прямом смысле, с микрофона послушать что там снаружи происходит — окружающие звуки или просто шумы аудиотракта в отсутствие микрофона. Можно глянуть, что там бегает по сети — широковещательную активность других пользователей. Что ещё? Мало ли у компьютера датчиков? Например, можно смотреть что у нас там на с температурой на процессоре, которая зависит и от температуры в комнате, и от собственных шумов схемотехники датчиков.
Вот как выглядят показания температурных датчиков на моём ноуте, снимаемые каждую секунду:

Если присмотреться внимательно, можно увидеть колебания в градус, не очень много, но температурных датчиков у меня 13 штук.
Если время от времени снимать этот цифровой хаос, скапливать
Под занавес, наверное нужно прояснить — для чего нужны такие «суперслучайные» числа. Ну, казалось бы, инициализируем временем и все дела, для чего использовать
Ведь сертификаты для защиты генерируются вполне определённым образом на основании случайных чисел. Стоит ввести в тот же алгоритм те же числа и получим тот же сертификат.
Интернетизация Татарстана
Слушаю прямой эфир c Коллегии Мининформсвязи РТ по итогам 2012г. и задачам на 2013г. Интересную цифру услышал: 2,6 миллиона человек в нашей республике имеют доступ к интернету. При этом население у нас 3,8 миллиона. Это неплохой показатель, мне кажется.
Антипаттерн: useless cat
Есть такой антипаттерн программирования в командной строке как useless cat. Переводится не «бесполезная кошка» (хотя для смеха можно переводить и так), а как «бесполезная [команда] cat».
Несмотря на то, что многие команды — awk, sed, cut и прочие умеют самостоятельно читать из файла, программисты
# неправильно:
cat /etc/passwd | cut -d: -f1
# правильно:
cut -d: -f1 /etc/passwdЕсли команда не умеет принимать имя файла в качестве параметра, то и в этом случае cat не нужен, достаточно воспользоваться перенаправлением. Тут могут быть детали, так как синтаксис перенаправления гораздо богаче, чем используемое в 90% случаев простое перенаправление из файла и в файл и размер этого богатства разный в разных шеллах, я приведу пример для bash:
# плохо (пример для bash):
cat /etc/passwd | read firstline && echo $firstline
# можно так (такой синтаксис bash поддерживает не в полном объёме):
</etc/passwd read firstline && echo $firstline
# лучше так:
read firstline </etc/passwd && echo $firstlineВообще, стоит изучить внимательно синтаксис перенаправлений, потому что он позволяет делать такие вот вещи без лишних команд (опять bash):
# читаем файл /etc/passwd в массив, разделители элементов в файле — двоеточие
IFS=: passwd=($(</etc/passwd))
# читаем первые десять байт из последних десяти строк файла /etc/passwd
dd bs=1 count=10 if=<(tail -10 /etc/passwd) 2>&-Полезная «кошка»
Про антипаттерн «Useless cat» я рассказал, отдельной заметкой хочу описать чем может быть полезна команда cat, кроме вывода файла на экран. Немногие знают, что у этой команды есть ключи командной строки. В некоторых случаях очень полезно их знать, правда, в разных операционках они могут различаться.
Я приведу те, которые одинаковы у меня в «Маке» и на Линуксе, в моём смартбуке:
# вывести и пронумеровать все непустые строки
cat -b /etc/passwd
# вывести, включая непечатаемые символы (в нотации «^» и «М-»), в конце строки вывести «$»
# (зачем нужен в конце доллар я не знаю, видимо какой-то очень специальный случай)
cat -e /etc/passwd
# вывести, нумеруя все строки
cat -n /etc/passwd
# вывести, заменяя идущие подряд пустые строки на одну
cat -s /etc/passwd
# вывести с непечатаемыми символами, преобразуя табуляцию в «<i>^I</i>»
cat -t /etc/passwd
# вывести, включая непечатаемые символы (в нотации «^» и «М-»)
cat -v /etc/passwdКлючи, конечно же, можно комбинировать. Кстати, первый ключ я использовал в последнем варианте «ругающегося однострочника», очень удобно там было пронумеровать им строки, только я там не учёл, что строки нумеруются с единицы, а не с нуля.
Две Wi-Fi-карты
У вас не было такого, вы сидите в аэропорту, ещё три часа до вылета, делать нечего, доступно несколько открытый сетей вайфай, а скорость на той, к которой вы подключены всё время скачет? Приходится время от времени проверять как дела у «соседей», не лучше ли скорость на них?
Вот я очень хочу, чтобы в моём ноуте было две карты вайфай. Одна — для текущих соединений и чтобы вторая сканировала сети в поисках лучшей жизни. Если вторая карта такую сеть находит, то теперь она становится основной, роли меняются.
Наверное был бы интересен и другой сценарий. Например, доступно две
Жаль, что производители ноутов до этого не додумались.
О̷п̷е̷р̷а̷
«Опера» устала бороться, похоже:
Все наши новые продукты будут использовать движок WebKit для рендеринга и V8 для обработки JavaScript. Они будут основаны на опенсорсном браузере Chromium и его компонентах. Конечно же, браузер — это гораздо больше, чем просто движок, поэтому все эти перемены для обычных пользователей произойдут
где-то далеко под капотом. Такие пользователи заметят только улучшившуюся совместимость с сайтами, особенно мобильными, большинство из которых были как следует протестированы только в браузерах на WebKit.
Я бывший фанат «Оперы», собственно, я испытал к этому продукту всю гамму чувств: от ненависти до фанатизма. И хотя сейчас я придерживаюсь очень спокойного к нему отношения, мне всегда нравилась эта норвежская компания, которая несмотря на трудности,
Но бо́льшую часть времени я был яростным фанатом их браузера и сохранил к нему доброе отношение. Очень жаль, что «Опера» покидает нас как самостоятельный браузер, но, надеюсь, что с использованием чужого движка, она не растеряет свою энергию и креативность.
В новости есть упоминание, что «Опера» будет теперь участвовать в разработке движка «Вебкит», хочу пожелать им удачи!
Протокол «jar» в FireFox
К сожалению, не удаётся сейчас найти эту статью, но я
Я тогда ещё подумал, что ведь уже есть один браузер, который уже это умеет — это «Файерфокс». У него есть протокол «jar», который ровно это и делает: позволяет адресоваться внутрь
Я уже четыре года назад пробовал воспользоваться этим протоколом,
Итак, адрес с протоколом jar выглядит следующим образом:
jar:/files/jartest.jar!/foto.jpg
Первая часть урла представляет любой адрес, по которому можно скачать архив (тут могут быть использованы протоколы http, https, file, ftp,

Как видите, я поместил внутрь архива часть ЦСС и две картинки, одну из которых поставил задним фоном. Причём, как и в случае обычного урла, протокол по которому загружается ресурс можно опустить (часть «http», в данном случае), будет использован текущий протокол.
Но есть и бочка дёгтя. С пустым кешем или после обновления страницы архив грузится один раз, но если сделать полную перезагрузку страницы (⇧+⌘+R или шифт+контрол+R в Виндоуз), то загружается он столько раз, сколько раз ресурсов грузится на странице. Видимо,

Казань ✈ Москва ✈ Волгоград → Казань
Сегодня вылетаю в Волгоград, обратно завтра вечером.
Эффект Даннинга-Крюгера
Цитата из «Википедии»:
Была выдвинута гипотеза, что для людей с низкой квалификацией в любом виде деятельности характерно следующее:
Они склонны переоценивать собственные умения; Они не способны адекватно оценивать действительно высокий уровень умений у других; Они не способны осознавать всю глубину своей некомпетентности; После обучения у них появляется способность осознать уровень своей прежней некомпетентности, даже если их истинная компетентность после обучения практически не меняется.
Результаты экспериментов, подтвердивших выдвинутую гипотезу, были опубликованы в англ. Journal of Personality and Social Psychology в декабре 1999 года
Это многое объясняет.
Современный BIOS

Давненько я БИОСов не видел. Вот как, оказывается, они сейчас могут выглядеть. Без мыши там по меньшей мере неудобно, насколько я понял.
Церковь «Гамма-Сервиса» в Волгограде
Я тут на выходных в Волгограде был по делам, а пока ехал на вокзал, проехал мимо нескольких интересных мест города. Конечно,
Случайно проезжая мимо на такси, сфотографировал домовую церковь ЗАО
Находится на улице
Церковь действительно построена между домами, как пристрой к зданию, которое справа.
Сленг маздай
Удивительно, программист — очень молодая профессия, а уже есть сленг, который «вышел из моды». Никто уже не говорит «хомяк», «сакс» (вариант: «суксь»), «маздай» и «рулез» почти не слышно. Меня, кстати, эти слова сейчас заставляют морщиться, как будто я слышу
Из совсем незнакомых новым поколениям слов, я помню: «приайсованный» (сжатый архиватором ICE), «аржёванный» (сжатый архиватором ARJ), «дисплюй» (дисплей), «карга» (монитор CGA), «яга» (монитор EGA), «ХаТэ» (IBM PC XT), «долбило»
Тёплое с мягким
Часто сталкиваюсь с тем, что Марка Цукерберга (Закерберга) называют гениальным программистом, а Анатолия Вассермана — умным человеком.
Я бы скорее назвал Марка предприимчивым, а Вассермана — эрудированным. Может я просто
Пацакку
Далёкие дни, Университет, вирус «Пацакку». С большим трудом припоминаю, что это был простой, написанный на Ассемблере вирус для ДОСа, который в день моего рождения выдвигал шторку сидирома (если он есть) и печатал на принтере (кажется; или в корень клал файл, или то и другое, не помню) фразу «в обществе где нет цветовой дифференциации штанов, нет и цели», цитату из любимого моего фильма «
Кстати, в Университетe самодельных вирусов хватало. Особенно мне запомнился вирус «TV» (был так назван моим тогдашним другом А.Г.
Тогда же я придумал свой первый антивирус, который назвал просто «Вакцина» (файл запуска — «vac.com» или «vac.exe», не помню точно размер), «вакциной» он назывался вполне заслуженно, так как именно вакцинировал компьютеры. Это была одна из двух утилит, которые сильно упрощали мою тогда лаборантскую жизнь. Принцип действия был следующий.
Большинство вирусов того времени ставили
Вирус, запущенный на таком компьютере, думал, что он тут уже есть и не заражал машину. Кроме того, моя вакцина предупреждала о попытке заражения вируса при вызове этих самых функций. У вакцины был ещё встроенный монитор перехвата вектора 13h, который использовали более серьёзные функции, принцип был подсказан тем же А.Г. — если обработчик 13h, при запуске моей программы, был не в БИОСе (а адреса его были известны), так же поднималась тревога.
Если честно, я смутно помню, что принцип был чуть хитрее, но в чём была тонкость, не помню. Если вспомню, расскажу.
Позднее я придумал и начал писать конфигуратор на Турбо Паскале, но так и не дописал, терпение кончилось на интерфейсе.
У моего антивируса было несколько достоинств: он ловил все тогдашние студенческие поделки, ходившие в нашем Университете, включая мои собственные, ну и просто популярные вирусы того времени, он был бесплатен и быстро обновлялся, был крошечным, не жрал ресурсы компьютера (что было особенно актуально в нашем компьютерном классе на IBM XT, там процессоры были 8086 и даже «Нортон» работал медленно) и предотвращал заражение, а не просто поднимал тревогу, когда вирус уже внедрился, т. е. лечить такой компьютер было не нужно, что было очень актуально в случае печально известного вируса «Чернобыль», эпидемию которого в своих классах я быстро пресёк на корню.
И раз уж у меня сегодня рубрика «воспоминания в утренней пробке», расскажу как лечили порчу вирусом «Чернобылем» БИОСа. Лечил всё тот же А.Г. Поражённый компьютер вскрывался, в него ставился такой же чип БИОСа с другого компьютера (напоминаю, дело в компьютерных классах было, когда я лаборантом работал в Университете, там было много однотипных машин), компьютер загружался, обычной программой для прошивки БИОСа с чипа списывалось его содержимое (или оно, как вариант, бралось из интернета), потом наживую чип доставался и вставлялся испорченный, после чего пациент перепрошивался правильной прошивкой.
Кстати, мне «повезло» учиться и лаборантить в классах где стоял весь зоопарк: 8086, 80286, 80386 и даже бездисковые станции, которые грузились по сети, настоящие (тормозные) тонкие клиенты с утилитами Новелла.
Вычисление без единой инструкции процессора
Это очень круто, цитирую почти полностью:
Авторы продемонстрировали, что механизм трансляции адресов на архитектуре x86 обладает полнотой Тьюринга, т. е. с его помощью можно реализовать любой алгоритм. С помощью хитрой настройки различных контрольных таблиц, которыми пользуется процессор, они вводят процессор в состояние, в котором он не может выполнить ни одной инструкции, т. к. непрерывно происходят исключения, но разные исключения в зависимости от приготовленных данных — и таким образом процессор вычисляет!
Известно, что одной инструкции условного перехода по вычитанию (вычисли
a=a-b, и если это меньше или равно нуля, перейди в c) достаточнодля Тьюринг-полноты. В этом хаке такая инструкция симулируется с помощью последовательности page faults (от невозможности загрузить данные), которая заканчивается double fault (когда указатель на стек уменьшается ниже нуля).Любопытно, что ни один существующий эмулятор x86 не мог правильно запустить этот хак, потому что он опирается на слишком извращенную конфигурацию контрольных таблиц, и на тонкие нюансы поведения процессора в этой извращенной конфигурации.
У всего этого даже есть практические применения, правда, в области, которая ничего хорошего и полезного миру не приносит — обнаружение того, что программа бежит под отладчиком или в виртуальной машине.
Таким образом вычисление происходит без единой инструкции процессора! Речь идёт о проекте trapcc, на Ютьюбе есть видео, где запущена известная игра «Жизнь», запрограммированная таким способом (код специально адаптирован под эмулятор Bochs).
Всякая мелочь одним постом-12
В ЖЖ появился перевод статьи автора ЭксКейСиДи «Что произошло бы с Землей, если бы в нее врезался алмазный метеорит
Алмаз пронзит атмосферу не заметив и нырнет в земную кору. Облако плазмы и проникающей радиации начнет разрастаться вокруг входного отверстия когда энергия начнет рваться наружу из внутренностей планеты. Сорок миллисекунд спустя вся дальняя часть планеты разлетится в стороны в виде ослепительного облака.
Алмазный метеорит и каскад частиц, созданный им при столкновении с корой распространятся по всему телу планеты. Сверхперегретая Земля будет светиться ярче чем Солнце.
Импульса бы хватило, чтобы столкнуть Землю с орбиты, но Земли больше нет. Выделившаяся энергия в десять тысяч раз больше гравитационной энергии связи, так что планета разлетится в виде облака плазмы, с особенно мощным потоком, исходящим из зоны, противоположной точке импакта.
Солнце пульсирует и вспыхивает, поглощая волны мусора. Поверхность Марса и Венеры выжжена потоками невероятно высокоэнергичной плазмы.
«Компьютеры в СССР» — фотографии советской вычислительной техники.
Статья «Личный опыт. Мой „Человек дождя“» — рассказ матери
А когда ему было года 4—4,5, выйдя со мной из трамвая, он вдруг произнес с пафосом: «Граждане! Контроль общественности — необходимое условие успешной эксплуатации вагона трамвая без кондуктора». Я так и обомлела: «Откуда ты это взял?» — «Прочел в трамвае на стенке». — «Так ты читать умеешь?!» — «Умею». А я помнила, с каким трудом учила читать своего старшего племянника, мальчика неглупого и, как потом выяснилось, талантливого. А этот?! Сам! Гений!
«История изобретений: Анестезия» о первой операции (в европейской цивилизации), проведённой с анестезией:
Первая операции с обезболиванием, проведенная 16 октября 1846 г., принадлежит к числу наиболее культовых событий в истории медицины.
Веха, обозначенная великим событием, произошедшим в «Небесном своде», была менее ощутимой, но гораздо более значимой: произошел огромный культурный сдвиг в понимании боли. Оперирование под анестезией могло преобразить медицину и существенно увеличить возможности врачей. Но сначала должны были произойти определенные изменения, и изменения не в области технологии — технология уже давно существовала, а в готовности медицины к ее использованию.
«
— А чего у тебя руки помятые? ——спрашивает меня
5-летняя дочка подруги, будучи у нас в гостях. Подруга давится чаем. Мы давно и крепко дружим, но мои необычные руки никогда не обсуждались. Ей, кажется, неловко за свою дочь, которая вопросом может меня ранить.— А я их постирала, и погладить не успела. Зато сделала маникюр, смотри, какой красивый лак! Такого же цвета, как камушек в колечке, — я улыбаюсь ребёнку и смотрю на свои руки.
Да, выглядят они не очень. У меня — ихтиоз. Моя кожа сухая и тёмная, в трещинах. Похоже на змею, и на мятую ткань тоже, пожалуй.
И под занавес — прекрасные фотографии Чебаркульского метеорита, взорвавшего в небе над Челябинском.
Опять попал на «Баш»

Снова на «Баше»,
Суровые русские
В связи с падением метеорита и новой волной шуток про суровый Челябинск, которые «ставят метеорит на девять утра, чтобы не проспать», я подумал, что «бренд» суровости неплохо бы распространить на всю Россию и «продать» на Запад.
Т. е. осозанно создавать о русских ощущение суровых людей, которым непочём морозы, метеориты и другие жуткие условия, в которых им приходится жить. Причём, не выживать, а жить, едва замечая эти суровые условия — в силу природной суровости. Причём именно природной, а не приобретённой распитием водки.
Пусть будет Россия — холодная, хмурая страна, где 11 месяцев в году лежит снег, а летом, в августе, он тает и у нас стоит жара, по русским меркам — +2 градуса. Только не нужно медведей, балалаек и сельских домиков, пусть это будет технически продвинутая суровая страна, с хорошей военной техникой, наукой и суровыми неулыбчивыми людьми, которым -20 — лёгкий морозец, а 20 километров пешком по этому морозу — небольшая прогулка.
Мне кажется, такая внутренняя легенда куда интереснее и почётнее, чем текущая российская мечта о вечнопьяном вседозволенном «never sleep», который
Тем более, сейчас и время подходящее — метеорит упал, все интересуются насколько у нас тут это обыденное явление. Пфффф, да у нас это постоянно, чего все так
Противный утёнок
Я знаю
кое-что об Андерсене, он был странным паренем… И очевидно, что «Гадкий утёнок» — аллегория гея, он был геем. Никто не знает, что в оригинальной концовке утёнок уходит в музыкальный театр. Но это и так очевидная притча о гее.
Мира Сийал в передаче «КюАй» со Стивеном Фраем (третья серия первого сезона).
Дьяк и дьякон
Никогда не различал слова «дьяк» и «дьякон», думал, что оба имеют отношение к церкви. Оказалось, нет.
Дьяк — пришло из греческого («диаконос», διακονος — служитель), это секретарь приказа (органа госуправления в Москве), т. е. это чиновник.
Дьякон (правильнее — диакон), происходит ровно из того же слова, но означает лицо, проходящее церковное служение, это священослужитель нижней ступени.
Макулатура

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