Reduce
Мы с коллегами сейчас проходим курс по машинному обучению, организованный для нас университетом Иннополиса. Курс рассчитан на два месяца, к настоящему моменту мы бегло пробежались по высшей математике и начали изучать Пайтон — один из языков, популярных в машинном обучении.
По Пайтону соскучился — он мне нравится, а я всерьёз не программировал на нём несколько лет. С удовольствием смотрю что наворотили в третьей версии, которую я почти не трогал. Бо́льшая часть языка легко и почти сразу вспоминается, но долгое отсутствие практики всё же сказывается.
Решали сегодня задачки из «Проекта Эйлер», в частности
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.
Автокондукция
Дочитывал сегодня один детектив с действием в дореволюционной России, там ближе к концу упоминался «салон автокондуктивного массажа», которым владел один из антагонистов. Никогда не сталкивался с таким видом массажа, да и сам термин вижу впервые. Из любопытства погуглил.
На русском нагуглились только две книги начала
Автокондукция, — насколько я понял, один из вариантов дарсонвализации, метода лечения высокочастотным током, придуманного французским физиологом и физиком Жаком Д’Арсонвалем в конце
В процессе автокондукции пациент помещается в гигантскую цилиндрическую катушку на несколько десятков минут, в которой электричеством создаётся магнитное поле, частота которого, а так же сила и напряжение тока, подбирается под болезнь лечащим врачом.
Утверждалось, что таким образом ускоряется уровень метаболизма, нормализируется деятельности желёз, температура тела,
Наверняка, автокондуктивный массаж —
Сборка пакетов под POWER8
По случаю получил доступ к оборудованию на процессорах POWER8 и, в качестве домашнего проекта, попробовал развернуть там один из наших продуктов. Оказалось, для этого требуется немалое количество стороннего софта, до этого момента я даже не представлял себе насколько немалое. В стандартных репозиториях
Хорошо, что для бо́льшей части существуют SRPM, но несколько десятков пакетов всё же пришлось собрать полностью вручную — разбираться что они должны содержать, компилировать необходимое, писать спецификацию.
В последнем случае меня несколько раз выручил придуманный по ходу дела трюк.
Если пакет существует для другой архитектуры, то черновую спецификацию для него можно получить через утилитку rpmrebuild. Она предназначена для создания RPM из уже установленного пакета и умеет создавать спецификации автоматически.
Требуемый пакет нужно сначала установить на машину с той архитектурой, для которой он существует, а потом вытянуть из rpmrebuild сгенерированную спецификацию. Пример для пакета
echo|EDITOR=cat rpmrebuild -e php-pecl-imagick 2>&- > /tmp/php-pecl-imagick.specДля того, чтобы достать спецификацию, приходится вызвать её на редактирование с заменой редактора на команду cat. Более простого способа я не обнаружил.
Потом остаётся только скомпилировать нужный софт на POWER8, поменять внутри спецификации платформу, выкинуть мусор и подсунуть её утилите rpmbuild; по сообщениям об ошибках можно понять куда и что из скомпилированного требуется положить.
При желании это можно было бы даже автоматизировать, но я на это силы тратить не стал, не терпелось увидеть результат. В итоге, функциональное тестирование показало, что всё работает без ошибок.
Судьба патефона ★
В январе жена привезла от родителей патефон и пластинки к нему — всё это принадлежало её дедушке. Я заставил патефон звучать, но хотелось провести более профессиональный ремонт. К счастью, один из друзей, увидев историю в моём «Инстаграмме», посоветовал мастера по ремонту.
Неделю назад я отвёз аппарат на ремонт, а сегодня забрал совсем в другом виде. Мастер перебрал и смазал мотор, запаял прорванную мембрану и крепление «паучка», убрал ржавчину, приделал ножки и аккуратно покрасил корпус. Золотые руки у человека.
Прежде на патефон жалко было смотреть, а сейчас вид вполне музейный, небо и земля. И звучать стал очень хорошо — мастер оценил на «4+», я на столько даже и не рассчитывал.
Заодно попросил оценить все пластинки, которые перешли к нам вместе с патефоном. Их оказалась 31 штука, почти все —
Ранее в интернете я натыкался на упоминание «вечных» игл, пользуясь случаем, проконсультировался. Увы, «вечных» (корундовых и сапфировых) игл для таких аппаратов не существует, не позволяют конструктивные особенности, поэтому придётся использовать обычные, стальные.
А это неудобно. Про их недостаток я уже писал — одной иглой можно проигрывать только одну сторону одной пластинки, так как игла стачивается под форму дорожки. Потом надо брать следующую. У меня 45 игл, закончатся и снова придётся отдавать их мастеру на правку. Но раз выбора нет, то нечего и горевать, будем играть по правилам семидесятилетней давности.
Очень надеюсь, что когда дочка подрастёт, ей будет интересно узнать какие песни любили слушать её прадедушка и прабабушка.
Ё
Как многие знают, после революции новая власть выпустила пачку декретов — правовых актов, касавшихся многих сфер жизни. Два декрета 1917—1918 годов содержали в себе реформу русского языка — из письменности убрали дублирующиеся буквы, отчасти привели написание к норме произношения и так далее.
Принятые изменения назревали давно и базировались на ещё дореволюционных работах, в частности букву «ер» (ныне — «твёрдый знак») с конца слов пытались убрать ещё в 18 веке.
Большевики в своей реформе напрямую опирались на «Постановления Орфографической Подкомиссии» 1912 года — результат многолетней работы Академии Наук. В декреты попало не всё, так например было исключено предложение не писать мягкий знак на конце слова за буквами «ж», «ш», «щ» и «ч»: «ноч», «вещ», «даш», «рож».
Мне, стороннику буквы «ё», стало интересно где мы свернули на кривую дорожку, узаконившую потерю точек над этой буквой. Немало слов их уже потеряли — сходу вспоминаются Лёв Толстой, Конрад Рёнтген, Николай Рёрих, «берёста», из последних сил сопротивляются «свёкла» и «сёгун». Жаль, что первая советская реформа не остановила эту эрозию. Вопрос — почему? Это самостоятельное решение большевиков или оно скопировано из более ранних работ?
Ответ на этот вопрос вы несомненно уже знаете, если зацепили взглядом фотоцитату, которую я прикрепил к этой статье — уже в 1904 году Орфографическая Подкомиссия признала употребление буквы «ё» желательным, а не обязательным. Это решение осталось без изменений в «Постановлении Орфографической Подкомиссии», а оттуда попало в декрет.
Вино с привкусом ног ★
В кадре из фильма «Укрощение строптивого» 1980 года, который я приложил к этой заметке, Адриано Челентано давит ногами виноград. В фильме это позитивная сцена — он соревнуется с машиной в искусстве выжимать сок для вина и все рады, что человеческий навык главного героя победил бездушный механизм.
Что в детстве, когда я впервые посмотрел это кино, что сейчас эта сцена мне кажется донельзя противной. Сейчас даже больше, так как я вооружён статистикой (у каждого третьего — грибок стопы, с человека осыпаются десятки тысяч чешуек кожи, см. книгу Йаэль Адлер «Что скрывает кожа…»), остаётся только надеяться, что мне не довелось контактировать с вином, полученным таким способом.
Фильм до сих пор довольно известен, в основном — в виде маскулинных цитат слов главного героя, встречающихся в пабликах и каналах, что подогревает воспоминания о фильме и не даёт образу ног в винограде померкнуть в моей памяти.
Способ явно не маргинальный — фильм далеко не единственное его упоминание и практиковался, вероятно, многие сотни лет. И мне интересно — это я такой брезгливый, а остальным нормально или может это
Как вы относитесь к такому способу получения сырья для вина? Если вы живёте в Италии, то как относятся там?
Двухрежимные лампочки
Годы назад, волею судеб мы с женой купили в магазине две лампочки фирмы «Осрам» с двумя режимами. При первом включении в них загораются два неярких светодиода, при повторном — разгорается энергосберегающая лампа в 21 Вт (светит как девяностоваттная лампа накаливания).
Очень удобно ночью — не режет глаза.
К сожалению, спустя несколько лет одна из них лопнула у меня в руках при неаккуратном вкручивании в патрон, а вторая перегорела
Никакого аналога в магазинах найти не удалось, возможно я просто не знаю какие ключевые слова гуглить. Пока в качестве замены поставил неисправную люминесцентную лампу — у неё в одном месте почернение на трубке и она достаточно медленно разгорается до полной светимости, глаза ночью успевают адаптироваться.
Пишу этот пост в надежде, что
Сразу скажу — я не ищу «умные» лампы, с приложением для смартфона или пультом управления, в моём случае это непрактично — ночью, в полусне эти все вещи только раздражают и заставляют проснуться. Хотелось бы замену именно осрамовской гениальной двухрежимной лампочки.