Яндекс.Стагнация

У меня нарастает ощущение, что «Яндекс» потихоньку стагнирует. Возможно я неверно чувствую тренд, но кажется он вполне вырисовывается — продукты становятся всё хуже и хуже в самых базовых вещах, падает качество обслуживания, техподдержка отдаёт роботизацией, а новые функции добавляются всё медленнее.

Можно по той же «Алисе» судить — про таймеры, которые постоянно отваливаются я уже писал, а теперь ещё «Сбер» выпустил свою колонку, которая уже на старте выглядит интереснее «Алисы», да ещё и стоит дешевле. Куда это годится?

Я по старой памяти недолюбливаю «Сбер», от которого мне до сих пор чудится какой-то душок «Сбербанка», но, похоже, надо к нему приглядеться — денег у них навалом, а теперь, похоже, и кадры хорошие появились, раз такие продукты выкатывают.

Возможно бывший «Сбербанк» становится новым «Яндексом»?

6 комментариев

Подарки в кредит

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

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

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

Возможно такое до сих пор принято, но я что-то очень давно о таком не слышал.

4 комментария

«Ухарь-купец»

Не знал, что в начале двадцатого века существовало такое явление, как раскрашенные вручную фильмы. Как и многие, я слышал, что в чёрно-белом фильме 1925 года «Броненосец Потёмкин» есть красное знамя, раскрашенное вручную, кадр за кадром, но думал, что это уникальное явление, из ряда вон.

А тут при изучении сайта «Утерянные медиа», наталкиваюсь на новость, что в прошлом году удалось разыскать считавшийся утерянным фильм «Ухарь-купец» — первый российский цветной фильм 1909 года. И он целиком раскрашен вручную!

Чёрно-белый кадр: мужчина в шляпе и пальце протягивает бутылку женщине в длинном платье и платке; на фоне деревянные избы, телега и сельская улица.
Кадр из цветного фильма «Ухарь-купец», 1909 год

Вот это постпродакшн! Длительность фильма — около восьми минут, что даёт нам, при скорости съёмки 15 кадров в секунду по стандарту того времени 7200 кадров (8×60×15).

Красили, правда, насколько я мог разобраться, не кисточкой, а методом вирирования, — это способ, который изобрёл Жорж Мельес, один из основоположников кинематографа. Метод заключался в вырезании трафаретов из напечатанных с плёнки дополнительных позитивов, при помощи которых покадрово наносились оттеночные химикаты.

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

Лубок «Ухарь-купец»: купец в красной рубахе среди толпы, сцены деревни, стихотворный текст внизу.
Типо-литография торгового дома Е. Коновалова и Ко, хромолитография, начало 20-го века

«Ухарь-купец» — экранизация известной русской песни по стихотворению И. С. Никитина «Ехал из ярмарки ухарь-купец».

Стихотворение рассказывает о совращении проезжим купцом деревенской девушки с согласия её отца. Оно, кстати, в своё время изменило значение слова «ухарь». Первоначальное значение «весёлый, энергичный человек» перешло в негативное.

Было отчего — кончается стихотворение довольно мрачно:

Молится богу старуха-жена,
Плакать бы надо — не плачет она.
Дочь их красавица поздно пришла,
Девичью совесть вином залила.
Что тут за диво! и замуж пойдет…
То-то, чай, деток на путь наведет!
Кем ты, люд бедный, на свет порожден?
Кем ты на гибель и срам осужден?

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

Оставить комментарий

CVE 2023-0567

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

Вот как это выглядит:

var_dump(password_verify("foo", '$2y$04$00000000$')); // true
var_dump(password_verify("bar", '$2y$04$00000000$')); // true

Удивляет, что один из разработчиков попытался защитить текущее поведение интерпретатора:

The documentation for password_verify() clearly states that the $hash has to be valid:

> hash
> A hash created by password_hash().

I fail to see how this is a bug if you feed it garbage; also the documentation to crypt states:

> Using characters outside of this range in the salt will cause crypt() to return a zero-length string. The two digit cost parameter is the base-2 logarithm of the iteration count for the underlying Blowfish-based hashing algorithm and must be in range 04-31, values outside this range will cause crypt() to fail.

PHP clearly behaves as described.

Что бы ни было написано в документации, возвращать true на любой пароль из функции проверки правильности пароля — очень плохая идея, как мне кажется, это должно быть довольно очевидно.

При анализе оказалось, что баг занесён ещё в 2008-м году (!), причём исследовавший эту историю разработчик хоть и осторожен в выражениях, всё же похоже считает, что уязвимость появилась неслучайно:

PHP’s implementation of crypt_blowfish differs from the upstream Openwall version by adding a «PHP Hack», which allows one to cut short the BCrypt salt by including a $ character within the characters that represent the salt.

Hashes that are affected by the «PHP Hack» may erroneously validate any password as valid when used with password_verify and when comparing the return value of crypt() against the input.

The PHP Hack exists since the first version of PHP’s own crypt_blowfish implementation that was added in 1e820ec.

No clear reason is given for the PHP Hack’s existence. This commit removes it, because BCrypt hashes containing a $ character in their salt are not valid BCrypt hashes.

Оставить комментарий

Пыль на головках

На сайте «Утерянные медиа», где отслеживаются истории поиска различных потерянных медиа — мультфильмов, фильмов, игр, телевизионных передач и прочего, есть замечательная история поиска видеоклипа «Пыль на головках». Клип успешно нашли, но оказалось, что в названии есть серьёзная ошибка.

На синем фоне белым пиксельным шрифтом написано «ПЫЛЬ НА ГОЛОВКАХІ» — сообщение об ошибке воспроизведения видеокассеты.
Заставка потерянного было видеоклипа «Пыль на головках!» (нет)

Цитирую:

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

Искомая же песня на самом деле называлась «Красные фантики», в 1989 году её выпустил Чернецов Геннадий Герасимович, более известный как Пророк Санбой.

2 комментария

Импортный, фирменный

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

Когда-то давно «импортный» и «фирменный» означало качество, но в потоке импортных вещей «импортное» уже давно не прибавляет вещи никаких значимых для меня качеств, а прилагательное «фирменный» вообще смотрится как анахронизм.

Женщина в жёлтом худи рассматривает пуховики на вешалках; жёлтый ценник: «Пуховик фирменный, демисезон 1900р. 4000р.
Фирменные пуховики — это что? А не фирменные — это какие?

Как мне кажется, слово «фирменный» в пике своего использования, ещё в 90-е несло себе оттенок какого-то маркетингового вранья, вроде современного слова «выгода», которое нормальные люди не употребляют. А сейчас используется исключительно как традиция, — поколения продавцов до того использовали, значит и нам надо.

9 комментариев

1,25

Привык пользоваться «Ютьюбом» на скорости 1,25 — я там нередко какие-то лекции смотрю, на 1,5 это тяжело, а на 1,25 нормально воспринимается и времени меньше тратишь. Но когда ставлю плейлисты с клипами, иногда забываю переключиться на обычную скорость.

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

Вот бы «Ютьюб» на старте ролика сделал какую-то индикацию того, что скорость воспроизведения нестандартная. Другую иконку у индикатора позиции, например.

11 комментариев

Лёгкость

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

Мне кажется качество текста у меня действительно выросло, — я начал больше работать над структурой предложений, начал разбивать их на более простые части, чаще использовать синонимы, пытался сознательно выстроить логику нарратива и научился кое-каким приёмам — например, зачитывать свой текст вслух, чтобы лучше видеть его огрехи.

Впрочем, я выучил и ещё один урок — после такого насилия над собой требуется длительный отдых.

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

Я называю то, чему мне хочется научиться на этот раз, «лёгкостью».

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

Если посмотреть на характер постов в Живом Журнале в начале 2000-х (не так давно я перетащил эти заметки сюда), то можно обратить внимание на несколько вещей — постов было много, они были разноплановые, сиюминутные и короткие.

Хочу так же. Хочу вернуть лёгкость.

Я как будто начал стесняться писать о бо́льшей части вещей, которые меня занимают. Стал внутренне примерять свои посты на аудиторию. Непонятно зачем. Я не собираюсь становиться популярным блогером, времена, когда у меня тут было сорок тысяч человек давно прошли и возвращать их не хочется — это был большой стресс. С популярностью пришёл и хейт, я сейчас такое не вывезу.

Кажется такое внутреннее освобождение уже даёт свои плоды, — во-первых, из меня попёр текст, во-вторых, я стал как-то больше прислушаться что во мне происходит и через это более по́лно жить. Может не стоит ударятся в излишний оптимизм, может это просто эйфория от новизны, ну, поживём — увидим.

Оставить комментарий

Запись голоса на фоноавтограф

В 1857 году парижский издатель, библиотекарь и книготорговец Эдуар-Леон Скотт де Мартенвиль изобрёл, как считается, первое в мире звукозаписывающее устройство — фоноавтограф.

Первый прототип у него был ещё раньше, но в этом году он получил патент.

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

Это был скорее аттракцион — проиграть такой звук в то время было невозможно, да изобретатель на это и не надеялся.

Иллюстрация фоноавтографа Эдуара-Леона Скотта де Мартенвиля 1860 года и его техническое описание с чертежами деталей на французском языке.
Внешний вид фоноавтографа и страница из описания его работы

В 2008-м году группой американских историков была обнаружена небольшая запись отрывка народной песни «Au Clair de la Lune» («При свете луны»). По словам исследователей, она сделана 9 апреля 1860 года на фоноавтографе.

Запись выглядит, как вполне различимые светлые закорючки на подкопчённой бумаге.

Текстура серой ткани с горизонтальными рядами мелких точек или швов, создающими ритмичный узор; видна вертикальная складка по центру.
Часть записанной песни «Au Clair de la Lune»

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

Голос на фоне фоновых шумов поёт часть первого куплета песенки:

Au clair de la Lune
Mon ami Pierrot
Prête-moi ta plume
Pour écrire un mot

Или в переводе на русский язык:

При свете луны,
Друг мой, Пьеро,
Скорее одолжи перо,
Чтобы написать записку

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

Позже были преобразованы в звук и остальные записи, самые ранние из них — 1853—54 годов. Ниже несколько образцов.

Большинство записей звучат совершенно неразборчиво, мы знаем что на них только благодаря тому, что они подписаны. Но всё равно услышать звук, которому около 170 лет, очень волнующе.

Оставить комментарий

Док ик ак ук (ftp-2-mail)

Примерно в 1997-м году, когда я ещё учился в вузе, по локальной сети недолгое время ходил файл, озаглавленный FTP2MAIL.TXT. В этом файле неизвестный доброход поместил описание сервисов, которые сейчас уже прочно забыты — они позволяли заказывать себе на почту файлы, расположенные на файловых серверах, доступных по протоколу FTP.

Это специальный протокол для хостинга файлов, сейчас он всё ещё используется, но распространён мало. Надо упомянуть, что FTP — текстовый протокол, команды надо было писать руками в командную строку, благо их довольно просто было выучить.

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

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

ftpmail@ftp.uni-stuttdart.de
ftpmail@doc.ic.ac.uk
ftpmail@suusite.unc.edu

Письмо могло выглядеть как-то так:

connect ftp.netscape.com anonymous user@example.org
cd pub/windows/netscape
binary
get netscape30.zip
quit

Если всё было правильно, обратно приходили пронумерованные письма с кусками бинарного файла в текстовом формате UUC. Их надо надо было собрать в правильном порядке в один файл и декодировать программой uudecode.

Откуда я брал имена FTP-серверов, честно говоря не помню, но помню кое-что другое.

Во-первых, протокол FTP пускает пользователей только после авторизации. Но многие из них пускали так называемых «анонимных пользователей» — для этого вместо имени пользователя надо было написать любой адрес электронной почты, а вместо пароля — любую строку.

Во-вторых, FTP позволял ходить по дереву папок удалённого сервера, как по файловой системе. Её содержимое можно было изучать, подавая специальные команды, но всё самое интересное как правильно лежали в папке pub (от слова public — публичное). Часто ещё была папка incoming, доступная на запись, — туда можно было положить что-нибудь, что нужно было передать владельцу сервера.

А в-третьих, сервисов с бесплатными ящиками не существовало, а студентам мой вуз адреса не давал, так откуда у меня было доступ к электронной почте?

Я его получил нечестным способом, — узнав пароль своего друга, аспиранта моей кафедры, Андрея Г. Аспиранты не студенты, им адреса почты положены были, и выдавались в виде Имя.Фамилия@ksu.ru.

Андрей как-то проговорился, что пароль у него очень сложный, никто не догадается — вставляется в розетку, девять букв. Так я моментально понял, что это «фумигатор». И пользовался его ящиком несколько месяцев, пока однажды неосторожно не исчерпал его квоту, получив ему на почту какой-то слишком объёмный файл.

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

6 комментариев

Бессонный хакатон: нажатие на кнопку

Продолжаю писать про свой бессонный хакатон.

В решении, которое я накидал за ту ночь, планировалось нажимать на кнопки эмулятора «ЭплСкриптом» — на «Маке» это логичнее всего, так как этот язык заточен как раз под такие задачи — автоматизацию работы со сторонними графическими приложениями.

Удивительно, но у меня это сделать не получилось — несмотря на то, что я слал кнопки как описано в документации, в эмуляторе ничего не происходило.

Так как время уходило, — сроку я себе выделил до утра, пришлось использовать другое решение — через утилиту cliclick, которая умеет эмулировать нажатие мышкой:

cliclick m:800,630 w:200 c:. w:200 m:+100,+100

Я просто закодировал координаты нужной кнопки в том месте, где у меня она была на экране. Одна проблема — кнопка после нажатия «залипала», но я решил тем, что через 200 миллисекунд отводил курсор в сторону — w:200 m:+100,+100 на птичьем языке утилиты.

Уже позже, во время рефакторинга, я обратил внимание, что когда я нажимаю кнопку на своём ноутбуке, то в эмуляторе иногда нажимаются не одна кнопка, а две. Если жать стрелки вниз или вверх, то в эмуляторе происходит нажатие на CS+6 и на CS+7 соответственно, причём оболочка электронного журнала правильно реагирует и на эту комбинацию, и на одиночные «6» и «7».

Для эксперимента попробовал слать вместе с основной клавишей ещё и клавишу-модификатор и меня ждал успех, правда пришлось перебрать их все. Получилась вот такая функция:

function press_key {
    local key
    if [[ "$1" =~ ^[0-9]{2,}$ ]]; then
        key="key code $1"
    else
        key="keystroke \"$1\""
    fi

    osascript <<PRESS
tell application "System Events" to $key using command down
delay .03
tell application "System Events" to $key
PRESS
}

Она определяет что ей передали — код символа или сам символ и «нажимает» запрошенную клавишу. Второй раз я «нажимаю» ту же клавишу уже без модификатора, иначе она почему-то опять же «залипает» на виртуальной клавиатуре.

Оставить комментарий

Конфликт поколений

У Бродского нашёл прекрасные строки про зуммеров:

Покуда призрак не ответит эхом
Последним воплям зуммера в ночи.

2 комментария

Бей, беги, замри

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

Ответ нашёлся в книге «Мальчик, которого растили как собаку» Брюса Перри и Майи Салавиц:

Для грудных детей и малышей, неспособных драться или убежать, обычна реакция отстранения в случае угрозы.
[…]
В процессе «отстранения» мозг подготавливает тело к возможной травме (ранению). Кровь отливает от конечностей и сердечный ритм замедляется, чтобы уменьшить возможную потерю крови. Нейроэндокринная система выбрасывает целый поток эндогенных опиоидов — вырабатываемых организмом веществ, по действию подобных героину, устраняющих боль, способствующих успокоению и ощущению психологической отстраненности от происходящего.

Резюмируя, — эта стратегия помогает дождаться помощи в случае ранения. Видимо достаточно часто это помогало выжить.

10 комментариев

Скриншоты из «ZX-Ревю»

Продолжаю писать про свой «бессонный хакатон».

В комментариях к первой заметке читатель Евгений Суреев посоветовал использовать внутренние средства оболочки электронного журнала, чтобы получать скриншоты. Этот способ существует, но мне он показался чересчур сложным и медленным. Но для очистки совести я сего всё же попробовал.

Скриншот меню программы для ZX Spectrum: пункты «Полоса прокрутки», «Изменить цвет текста», подсказки F6–F12, заголовок «21 ПРИ ПРОСМОТРЕ ВНЕШНЕГО РАЗДЕЛА...
Получившийся, в результате проделанных ниже шагов, скриншот

Получились следующие шаги:

  1. в эмулятор, кроме виртуального «диска» с журналом подключаем второй пустой диск;
  2. листаем на нужный экран внутри эмулятора;
  3. нажимаем в эмуляторе кнопки SS+S;
  4. переводим в появившемся окне курсор в поле выбора дисковода, пишем там B;
  5. в этом же окне переводим курсор в поле «Имя файла», пишем туда номер текущей страницы;
  6. повторяем шаги 2—5 до конца раздела;
Скриншот интерфейса с диалоговым окном «Запись экрана на диск», где указан дисковод B и имя файла Screen02; на фоне — меню с настройками и инструкциями по клавишам.
Меню сохранения скриншота в файл внутри эмулятора, нужно выбрать дисковод и имя файла
  1. скидываем куда-то на диск компьютера образ со скриншотами;
  2. при помощи утилиты mctrd достаём из образа скриншоты;
  3. при помощи утилиты zx-image преобразовываем скриншоты в PNG;
  4. преобразовываем полученное в JPG, склеиваем с большой файл, закидываем в оболочку;

Весь этот интерактив с браузером (вызвать меню, ввести диск, ввести имя) — довольно долгий, всё-таки эмулятор работает примерно со скоростью «Спектрума», а он был не особо шустрым. Перевод курсора в координаты это пока тоже проблема — мышки нет, надо выяснить где курсор сейчас и поставить его в нужное поле. Есть и проблема с сохранением дампа — надо как-то из браузера найти нужную папку.

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

6 комментариев

Софт по подписке

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

На этом фоне гибридные схемы (отключаешь подписку, остаёшься со старой версией софта) меня более-менее устраивают, хотя схема «платишь раз, получаешь апдейты до следующего крупного обновления» мне нравилась больше.

Сейчас время второго пришествия нейросетей и многие крупные корпорации кинулись прикручивать нейросети в свои продукты — «Микрософт» встраивает сети «текст-в-текст» в свой поисковый продукт и офисный пакет, графические гиганты — «текст-в-картинку», причём речь идёт о крупных нейросетях, которые ещё несколько лет на типичном ноутбуке или смартфоне считаться не будут. То есть работает это всё в облаке.

Мне всё кажется, что «это „ж-ж-ж“ — неспроста» — с таким функционалом усилится давление по переходу на подписочные продукты. В самом деле, не буду же я сидеть, как дурак на своём «Маке» с лицензионным «МС Офисом» 2016-го года, когда кругом у всех будет «Офис 720», забитый по брови нейросетями, сочиняющими большую часть текста за человека?

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

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

Оставить комментарий

Откуда берутся слухи

В комментариях к моему каналу в «Телеграме» прислали ссылку на интервью на тему слухов с антропологом и фольклористом Александрой Архиповой.

В статье рассматриваются не все виды слухов, а так называемые «городские легенды» — слухи о каких-то раздутых опасностях, которые иногда веками кочуют из поколения в поколения под видом чего-то реального.

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

Занимательно, что месяц назад в чате нашего жилищного комплекса обсуждали следующий слух (дословная цитата):

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

А сегодня в вышеприведённой статье я встретил следующее (2016-й год!):

История про газовщиков — это отголосок истории про «фей Винкс», которая очень активно прошла в 2016 году (рассылка сообщений, где детям предлагалось стать феей Винкс — для этого надо было открыть в квартире газ, и тогда ты полетишь).

1 комментарий

Версия про «шамот»

У меня появилась версия, почему вероятно дореволюционный кирпич «ШАМОТ» написан без «ера» (твёрдого знака в конце).

Таблица с данными о перевозках товаров: наименования (включая «глина гончарная, огнеупорная, шамот»), отправка и прибытие в Москву и Подмосковье, выделено слово «шамот».
Из книги «Краткій обзоръ коммерческой деятельности Московско-Виндаво-Рыбинской желѣзной дороги за 1905 год», С.-П., типография Брокгаузъ-Ефронъ, 1906

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

Если я прав, то на кирпиче, — сокращение от «шамотный», а в конце сокращений «ер» ставится не мог.

Хотя многие неспециалисты рассматривают его как обязательную заглушку после гласной, на самом деле он полноценная часть слова, когда-то даже читался. То есть, отрезая часть слова, мы отрезаем его вместо с «ером».

8 комментариев

Слухи

Сегодня в шесть утра сотрудники МВД кувалдой вскрывали соседнюю квартиру — соседу устраивали маски-шоу за какие-то заслуги, а я поразился как легко могут рождаться слухи.

В общедомовом чате одна женщина сразу написала, что сотрудники сначала позвонили в дверь каждому из соседей, но никто не открыл. Я возразил, — как же никто, если я открыл. Потом она же пишет, что квартира 100% съёмная. Я опять возражаю — встречал хозяина несколько раз, он сам там живёт.

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

4 комментария

А теперь неспеша всё отрефакторим

Несколько дней назад я рассказывал о своём бессоном хакатоне, — ухаживая за дочкой во время её болезни, я особо не спал, а чтобы не умереть от безделья, придумал себе задачу — за ночь изобрести и реализовать способ вытащить из эмулятора спектрумовский электронный журнал «ZX-Ревю».

Способ я придумал, реализовал и выложил на «Гитхаб». Но мозгу задача понравилось, не могу остановиться и перестать думать о том как всё переделать. Уже начал накидывать новый прототип. Выкладывать целиком пока не буду, там не готово, но кое-какие куски покажу в нескольких постах — там много интересных проблем.

Первое, что мне хотелось бы сделать — избавиться от привязки к браузеру. В прошлой реализации я просто активизировал «Сафари», после чего считал, что в активном окне открыт нужный мне эмулятор. Я подумал, что хорошо бы посмотреть какие у нас запущены браузеры и проверить открыто ли в каком-то из них то, что мне нужно.

Так как я делаю всё под «Мак», программировать решил на «ЭплСкрипте» — так проще всего.

on is_running(appName)
    tell application "System Events" to (name of processes) contains appName
end is_running

set browsers to {"Safari", "Chrome", "Opera", "Firefox", "Edge", "Yandex"}

repeat with browser in browsers
    if is_running(browser) then
        tell application browser
            if exists window "ZX Spectrum online emulator" then
                log browser
                activate
                exit repeat
            end if
        end tell
    end if
end repeat

Что тут происходит? Я перебираю все известные мне браузеры по имени, ищу какие из них запущены, в них смотрю — называется ли активное окно «ZX Spectrum online emulator», если да, остаюсь в нём, сообщая наружу какой из браузеров найден.

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

Так как основная оболочка у меня на «Баше», осталось как-то из «ЭплСкрипта» забрать имя найденного браузера. Я делаю это так:

BROWSER=$(osascript <<BROWSERS 2>&1
# … тут программа на «ЭплСкрипте»
BROWSERS
)

В итоге, в переменной $BROWSER будет лежать имя браузера или пусто, если подходящий не найден.

Перенаправление потока 2>&1 необходимо, так как команда log «ЭплСкрипта» выведет имя браузера в поток для ошибок, а конструкция $( … ) ждёт его в стандартном выводе.

Оставить комментарий