Chrome (but not Safari) CSS hack
Обратил внимание, что половина интернета сбилась с ног в попытках найти стильевой хак для «Хрома», который не срабатывал бы в «Сафари». Неясно почему его ещё никто не придумал, у меня на это ушла пара минут:
@supports (top: 0__qem) {
.chrome-only {
border: 1px solid #000; /* стиль только для Chrome (не Safari) */
}
}Работает начиная
Эта стандартная конструкция предназначена для проверки — поддерживает ли браузер указанное свойство. Недостаточно подставить туда свойство с префиксом webkit — сейчас многие браузеры читают такие свойства как свои,
Чтобы отсечь лишнее, я использую нестандартную единицу измерения Вебкита — «__qem», я о ней писал несколько лет назад. Вместе получается, что стиль в «Сафари» не срабатывает, потому что тот не поддерживает «@supports», а в остальных браузерах — потому что они не поддерживают «__qem».
Естественно, обёртки над Вебкитом (новая «Опера», браузер «Яндекса» и прочее) стиль увидят — но на то они и обёртки.
Велосипедная сигнализация
Вопреки всем предупреждениям читателей в моей заметке про велосипед, который я купил почти месяц назад, цепью или велозамко́м я пока не обзавёлся. Велосипед у меня не украли, зато украли седло вместе со штырём и креплением.
На ночь велик я оставлял во внутреннем дворе дома (чужих нет, куда великов, пять камер, бабулька на входе). Чем понравилось седло именно моего велика, не знаю, запись с камер я пытался смотреть, но на стоянку я поставил на редкость в неудачном месте — видно, что люди ходят, но лиц не разглядеть, я даже не стал дожидаться самой кражи, не стоит и время тратить.
Седло я купил, заменив эксцентрик обычным болтиком, но задумался о дальнейшей сохранности своего «железного коня». Решил посмотреть — нет ли
Набрал в «Гугле» и сразу нашёл замки с сигнализацией фирмы «Зена». Почитал подробнее, всё, в принципе, устроило — вешается на тормозной диск (с замком не уедешь), срабатывает на наклоны и вибрацию, воет громко (120 дБ, я послушал для интереса — это очень громко), сделан из стали, к штырю фиг подлезешь, чтобы перекусить. Взял себе довольно простую модель —

На фото выше я положил рядом визитку, чтобы были понятны размеры. Штука довольно увесистая, кстати, — полкило. В случае чего — ещё и оружие, снимаем футболку, кидаем туда сигналку и кистень готов.
Запирается сигналка нажатием на цилиндр замка, снимается при помощи ключа. При постановке на сигнализацию, пищит, сразу слышно — встала или батарейка села. Батарейки, как утверждают, хватает на год (т. е. на сезон должно хватить). Если будете брать себе, обратите внимание — на сайтах магазинов есть шаблон, который надо распечатать и приложить к тормозному диску, чтобы понять, подойдёт сигналка по размеру или нет.

Вообще, противоугонных аксессуаров хватает, на тросиках и замках свет клином не сошёлся — бывают «секретки» вместо эксцентриков, есть фонарь с модулем ДжиПиС, который сообщает хозяину свои координаты или такой же модуль, скрытый внутри рамы, в общем, чего только нет.
Своей сигнализацией пользуюсь уже неделю (устанавливаю, когда приезжаю на работу), а на ночь теперь велосипед
Цу-е-фа
Через открытое окно, выходящее во внутренний двор, услышал как дети
Либо меня подводит память, либо меня она в детстве
Но вот именно
Причём же тут китайская фраза? Оказывается, игра
Существует так же вариант, где добавляется ещё и «колодец» (либо он заменяет «камень»), предположительно это французская модификация, её я тоже помню — играл в детстве.
Язык программирования ГАРФ
Из случайно оборонённого комментария к одной из статей в интернете, узнал о существовавшем
Информации о языке очень мало, наиболее полное упоминание в рунете я нашёл в статье, которая так и называется — «Илья Шмаин»:
Это больше, чем язык программирования, это некоторый способ, стиль программирования вместе с математической теорией этого стиля. Это программирование на основе рекурсивных функций, опирающееся на классические работы Клини и одно их обобщение, сделанное
Есениным-Вольпиным. ГАРФ — это язык функционального программирования. Но он намного более абстрактен и универсален, чем первые языки такого типа. На нем можно было определять произвольные типы объектов и произвольные (но вычислимые) функции и функционалы на этих объектах.
- Точное описания синтаксиса и семантики. При этом синтаксис языка не фиксировался жестко. Описывалась «глубинная структура» и ее отображения в разные «поверхностные структуры», т. е. программист в принципе мог выбирать удобный для него синтаксис программы. Описывалась
теоретико-модельная семантика языка и вычисления, соответствующие этой семантике.
- Упомянутые выше
«индуктивно-определяемые области» содержали, в частности, идею того, что позже стало называтьсяобъектно-ориентированным програмированием (или абстрактными типами данных). Т. е. язык содержал средства для задания любых типов объектов с заданными на них функциями и отношениями, а потом уже на такого рода областях задавалась сама программа.
- То, что в ГАРФе «и функции, и области понимаются в самом широком смысле», означало, что можно было задавать любые функционалы, причем их определение могло содержать параметры (тем самым тип функций и объектов не фиксировался жестко).
В общем, ничего конкретного в статье нет, а жаль — упомянутое интересно, любопытно было бы взглянуть!
Дыбонины
Всегда хотел иметь в дереве
Однодворцы — не крестьяне, поэтому им были положены фамилии. Но при Петре Первом положение однодворцев стало ухудшаться — сначала их обложили налогом, как крестьян, а потом и вовсе сравняли с ними. Сословие однодворцев перестало существовать, а с ним и исчезли их фамилии — крестьянам они были не положены.
Тем временем, отсутствие фамилий у крестьян порождало путаницу — с налогообложением и службой в армии. Пойди разберись во всех этих бесконечных Фёдорах Николаевичах, да Михайлах Степановичах, поэтому в 1888 году Сенат постановляет, что «именоваться определенной фамилией составляет не только право, но и обязанность всякого полноправного лица, и означение фамилии на некоторых документах требуется самим законом».
Так крестьяне начинают получать фамилии. Этот процесс растянулся почти на полвека — в некоторых деревнях крестьяне жили без фамилий аж
Некоторые потомки однодворцев, помня свои потерянные фамилии, брали именно их — моя фамилия, Степанищев — однодворческая, по историческим источникам хорошо видно как она перестаёт употребляться, а потом появляется вновь.
А вот Дыбонины свою фамилию то ли забыли, то ли взять не смогли и стали Шапкиными. Во время процесса получения крестьянством фамилий, Пелагея Прохоровна из семьи Шапкиных (правнучка Ивана Фёдоровича Дыбонина), была замужем за моим прапрадедом — Павлом Степановичем. И он то ли не разобрался в идее фамилий, то ли виной тому была
На тот момент у него уже было несколько детей и по крайней мере один из них — Василий Павлович, 1884 г.р. так и записан с этой фамилией.
Вот такая непростая история.
Чипотл и Дейотл спешат на помощь

Спросил у продавщицы в «Сабвее» почему у них соус называется «Чипотл Саусвест»,
Как вы думаете, эта ахинея правда красивее звучит? В чём же красота?
Простой Цой
На 36 году жизни узнал, что строка из Цоя «а я сажаю алюминиевые огурцы на брезентовом поле» — про застёгивание брезентовой куртки на алюминиевые кнопки.
Улетаем в Испанию
Через четыре дня мы с женой улетаем в Испанию на две недели. Это мой первый полноценный отпуск за три последних года. Посоветуйте — что с собой брать, куда ехать, как развлекаться. Мы думаем погулять по Барселоне (что стоит посмотреть), съедить в Андорру (как добраться?), вероятно — слетать в Париж (какие авиакомпании посоветуете, где смотреть билеты?).

Фото взято с сайта отеля в котором мы будем отдыхать.
Use SVG
Поскольку «Макбук» у меня с «ретиной», я давно озаботился тем, чтобы продукт, разработкой которого я управляю, хорошо смотрелся и на «ретине» тоже. Я считаю за такими экранами будущее и не грех позаботиться об этом будущем уже в настоящем. Если уж и не внедрить везде, так хоть научиться верстать.
Одним из главных помощников в такой вёрстке является, без сомнения, формаг СВГ — формат векторной графики, который на данный момент поддерживают все распространённые браузеры (включая ИЕ, с девятой версии). Особенно приятно, что его можно включать прямо внутрь ХТМЛя, это очень удобно — если СВГ используется для кучи мелких значков на странице, то не будет лишних соединений с сервером — ведь всё грузится вместе с основным кодом.
Но встаёт другая проблема — проблема повторного использования. Если одни и те же значки присутствуют на странице в изобилии, страница будет распухать, что печально.
К счастью, есть выход. СВГ — гибкая штука, в этом формате есть возможность использования частей изображения повторно. Первым шагом нужно определить
<svg style="display:none">
<symbol id="folder" viewBox="0 0 49.833 67.167">
<!-- код не рабочий, только для примера -->
<path d="M15.938,67.…"/>
<path d="M3.59,30.531c…"/>
</symbol>
<symbol id="file" viewBox="0 0 49.833 67.167">
<path d="M12.233c0.…"/>
<path d="M3.28C2.76…"/>
</symbol>
</svg>Тут у нас два изображения — folder и file, на которые мы можем сослаться следующим образом:
<svg width="28" height="37">
<use xlink:href="#folder"/>
</svg>
<svg width="28" height="37">
<use xlink:href="#file"/>
</svg>Таких вставок может быть сколько угодно и все они будут использовать одни и те же изображения, описанные
svg.green {
fill: green;
}
svg.red {
fill: red;
}Классы можно повесить на ссылающиеся теги СВГ, жаль только этот способ полон ограничений. Кроме как в ФФ более избирательные селекторы использовать не удаётся — всё, что ниже тега use для таблицы стилей как будто не существует. Если и есть
«Четверо под одной обложкой»

Пару месяцев назад я взялся переводить в электронный вид книгу Арканова, Горина, Успенского и Камова «Четверо под одной обложкой». Меня она заинтересовала тем, что из одного рассказа, содержащегося в ней, растут ноги известнейшей фразы «рояль в кустах». К сожалению, в интернете книги не оказалось. Я, с большим трудом разыскав одного из немногочисленных её владельцев, получил от него сканы и приступил к переводу в электронный вид.
Несмотря на очень хорошее качество сканированного материала, некоторые страницы пришлось перепечатывать полностью — столько в них было ошибок, я использовал для распознавания бесплатную программу, видимо поплатился качеством. Правда продвигался быстро — за пару дней прошёл две трети книги, а потом всё застопорилось — совсем не стало времени в связи с работой. И вот недавно, поторапливаемый нетерпеливым читателем, я работу возобновил, и в очень медленном темпе, буквально сегодня утром, перед отпуском всё закончил.
Это был интересный для меня опыт, теперь я не понаслышке знаю как тяжёл труд тех, кто распознаёт редкие книги, хотя в моём случае чашу сполна я не испил — книга относительно небольшого размера.
Хочу так же сказать огромное спасибо Денису Олеговичу Стребкову за предоставленные сканы!