Евгений Степанищев

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

Ё

Выдержка из брошюры «Предварительное сообщеніе Орѳографической Подкомиссіи», Санктпетербургъ, 1904

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

Принятые изменения назревали давно и базировались на ещё дореволюционных работах, в частности букву «ер» (ныне — «твёрдый знак») с конца слов пытались убрать ещё в 18 веке.

Большевики в своей реформе напрямую опирались на «Постановления Орфографической Подкомиссии» 1912 года — результат многолетней работы Академии Наук. В декреты попало не всё, так например было исключено предложение не писать мягкий знак на конце слова за буквами «ж», «ш», «щ» и «ч»: «ноч», «вещ», «даш», «рож».

Мне, стороннику буквы «ё», стало интересно где мы свернули на кривую дорожку, узаконившую потерю точек над этой буквой. Немало слов их уже потеряли — сходу вспоминаются Лёв Толстой, Конрад Рёнтген, Николай Рёрих, «берёста», из последних сил сопротивляются «свёкла» и «сёгун». Жаль, что первая советская реформа не остановила эту эрозию. Вопрос — почему? Это самостоятельное решение большевиков или оно скопировано из более ранних работ?

Выдержка из брошюры «В защиту нового русского правописания», Томск, 1919 год

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

13 февраля   история

Судьба патефона

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

Отреставрированный патефон Московского патефонного завода, слушаю пластинку в гостях у мастера

Неделю назад я отвёз аппарат на ремонт, а сегодня забрал совсем в другом виде. Мастер перебрал и смазал мотор, запаял прорванную мембрану и крепление «паучка», убрал ржавчину, приделал ножки и аккуратно покрасил корпус. Золотые руки у человека.

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

Заодно попросил оценить все пластинки, которые перешли к нам вместе с патефоном. Их оказалась 31 штука, почти все — 50-х годов выпуска, кроме «Песни нефтяника / Кавказской застольной», произведённой в 1948 году. Оказалось, все пластинки в превосходном состоянии.

Пластинка «Песня нефтяника / Кавказская застольная», Завод металлопластмасс, 1948 год

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

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

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

9 февраля   история

Сборка пакетов под POWER8

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

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

В последнем случае меня несколько раз выручил придуманный по ходу дела трюк.

Если пакет существует для другой архитектуры, то черновую спецификацию для него можно получить через утилитку rpmrebuild. Она предназначена для создания RPM из уже установленного пакета и умеет создавать спецификации автоматически.

Требуемый пакет нужно сначала установить на машину с той архитектурой, для которой он существует, а потом вытянуть из rpmrebuild сгенерированную спецификацию. Пример для пакета php-pecl-imagick:

echo|EDITOR=cat rpmrebuild -e php-pecl-imagick 2>&- > /tmp/php-pecl-imagick.spec

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

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

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

Автокондукция

Пациент, проходящий автокондукционное лечение. Иллюстрация из книги «Principles of electro-medicine electro-surgery and radiology», Dr. A. Matijaca, 1917

Дочитывал сегодня один детектив с действием в дореволюционной России, там ближе к концу упоминался «салон автокондуктивного массажа», которым владел один из антагонистов. Никогда не сталкивался с таким видом массажа, да и сам термин вижу впервые. Из любопытства погуглил.

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

Автокондукция, — насколько я понял, один из вариантов дарсонвализации, метода лечения высокочастотным током, придуманного французским физиологом и физиком Жаком Д’Арсонвалем в конце 19-го века.

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

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

Наверняка, автокондуктивный массаж — что-то из той же оперы, если не тот же самый метод с адаптированным названием.

3 февраля   история

Reduce

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

По Пайтону соскучился — он мне нравится, а я всерьёз не программировал на нём несколько лет. С удовольствием смотрю что наворотили в третьей версии, которую я почти не трогал. Бо́льшая часть языка легко и почти сразу вспоминается, но долгое отсутствие практики всё же сказывается.

Решали сегодня задачки из «Проекта Эйлер», в частности 67-ю задачу. Суть её такова, вкратце. Дан треугольник чисел, нужно найти в нём максимальную сумму, из всех, что получаются, если двигаться сверху по соседям ниже. Посмотрите задачу, там картинка есть, всё понятно.

from functools import reduce

def read():
    with open('p067_triangle.txt') as f:
        for line in f.readlines()[::-1]:
            yield tuple(int(x) for x in line.strip().split(' '))

reduce(lambda cur, prv: [max(cur[pos:pos+2])+v for pos, v in enumerate(prv)], read())

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

Результат мозговых усилий выше. Код сократился до одной строки (функция над ней — просто чтение данных).

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

На закуску вот вам фолдинг на «Баше», взятый из комментария со «Стека Оверфлоу»:

foldl() {
    echo $(($(</dev/stdin)$2))
} < <(tr '\n' "$1" <$3)

# Sum 20 random ints from 0-999
foldl + 0 <(while ((n=RANDOM%999,x++<20)); do echo $n; done)

Тут суммируются двадцать псевдослучайных чисел из диапазона 0—999.

«Ну, погоди!»

Все ребята родом из СССР хорошо помнят многосерийный мультфильм «Ну, погоди!». Я очень хорошо отношусь к советской мультипликации, но не являюсь горячим поклонником героев этого мультфильма, хотя, разумеется, в детстве, как и все советские дети, смотрел все классические серии. И не по одному разу.

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

Но мало кто из этой армии знает, что у «Ну, погоди!» был ряд спин-оффов . Например, в 70-е годы было снято четыре серии для тележурнала «Фитиль»:

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

28 января  

Иннопо́лис или Инно́полис

Сегодня был в Иннополисе (это такой молодой город недалеко от Казани со своим университетом, где преподавание идёт на английском языке) и в беседе со студентами обратил внимание, что они по-разному ставят ударение в названии города: некоторые говорят «Иннопо́лис», другие — «Инно́полис». Причём не поправляют друг друга.

Мы немного обсудили эту тему и оказалось, что одной точки зрения у них на этот вопрос нет. Меня это заинтересовало. Написал одному из отцов-основателей города. Получил такой ответ:

— Я тут со студентами Иннополиса и у нас спор. Как правильно «Иннопо́лис» или «Инно́полис»?) Решил обратиться к авторитету)
— В русском языке «Иннопо́лис». В английском — «Инно́полис».

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

23 января  

Киотный крест

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

Найденный в заброшенном доме крест (размер ≈ 110×65 мм); был варварски прибит двумя гвоздями и залит краской

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

Кажется мне в руки попал так называемый «киотный» крест небольшого размера — такие изготавливались для шкафчиков с иконами («киотов»). Правда на обратной стороне отчётливо выступает петля, куда наверное продевалась верёвочка или цепочка, но с трудом верится, что крест такого размера (11 на 6,5 см) могли носить на шее. Может он за петлю должен был куда-то крепиться?

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

На кресте очень много надписей, проще всего было прочитать оборотную сторону, там длинный текст и по тому, что удалось разобрать, сразу гуглится следующий экзапостиларий:

Крест — хранитель всей вселенной, Крест — красота Церкви, Крест — царей могущество, Крест — верных утверждение; Крест — Ангелов слава и демонов поражение.

Самое длинное, что удалось разобрать на лицевой стороне — надпись вверху главной перекладины: «Распятие Господа нашего Иисуса Христа», вторую надпись я не понял вовсе. Ещё видны слова «царь» и «славы», остальное аббревиатуры: IНЦИ — Иисус Назарянин Царь Иудейский, IС ХС — Иисус Христос, МЛРБ — Место Лобное Рай Бысть, ГА — Глава Адамля.

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

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

17 января   история   сокровища

Беспилотник

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

Подобные примеры можно придумывать пачками. Некоторые весьма неожиданны. Например, попробуйте вспомнить что за трубку и куда вы бросаете, когда прерываете в раздражении телефонный разговор.

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

Речь о «беспилотнике».

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

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

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

14 января  

Патефон

Жена на днях привезла от родителей патефон советских времён и около тридцати пластинок к нему, когда-то это всё принадлежало её уже покойному дедушке, Юрию Алексеевичу. И вот я наконец сообразил, что за странные тяжёлые пластинки «на 78 оборотов» когда-то попадались у бабушек среди остальных. Оказывается это патефонный формат.

Патефон Московского патефонного завода, вероятно 1940-50-х годов выпуска

Патефон — полностью механический проигрыватель, никакой электроники или даже электричества, дорожки на пластинке широкие и очень извилистые — от более тонких механика не зазвучит. Соответственно падает плотность записи и становится нужна более высокая скорость вращения — 78 оборотов в минуту (против более современных 33¹⁄₃). Всё это сказывается на длительности звучания — на одной стороне помещается всего 2—3 минуты аналогового аудио.

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

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

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

Благодаря тому, что раньше заботились о ремонтопригодности, у патефона сразу видно как его разбирать и примерно — как чинить.

Разобранная патефонная «голова»

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

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

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

7 января   история
Ранее Ctrl + ↓