dna

Подарок на международный мужской день

Сегодня забрал у дилера свое первое транспортное средство, вот такой Suzuki V-Strom 650, модель предыдуего года:



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

Прокатнулся 25 км по городу, первые два из них были очень нервическими. У нас сейчас +9 и время от времени моросит дождь, но я вспотел под экипой как чорт. Несмотря на такие тропические погоды, до сих пор мотоциклистов на улице мало.

Fun factor обалденный. Мотоцикл достаточно (для меня) мощный, но гораздо более предсказуемый, чем модели BMW, на которых я ездил в автошколе.
dna

Рабочее

Все из вас, конечно, каждый день работают с data frames из питоновского пакета pandas. И все знают, что фильтрация по значениям какой-либо колонки, тем более, комбинирование такой фильтрации может быть pain in the back. Поэтому я сегодня написал (не без влияния picture language из SICP) примерно следующее:

# creates a family of filters on values x in column c,
# parameterized by dataframe df
filtr = lambda c: lambda x: lambda df: df[c] == x

# creates a filter f = fs[0] & fs[1] & fs[2] & ... & fs[n]
def fand(*fs):
  if 0 == len(fs):
    return lambda df: pd.Series([True]*df.shape[0])
  else:
    return lambda df: fs[0](df) & fand(*fs[1:])(df)

# creates filter p = ~f
def fnot(f):
  return lambda df: ~f(df)


# apply filter filtr to dataframe df, returning filtered df
def filtrDF(df, filtr):
  return df[filtr(df)]


Применять примерно так:
variant  = filtr('variant')
country  = filtr('country')
gender   = filtr('gender')

# create some filters
onlyA   = variant('A')
GB      = country('GB')
nonGB   = fnot(GB)
malesGB = fand(GB, gender('male'))
# и т.д. ...

x = filtrDF(df, onlyA)
y = filtrDF(df, fand(onlyA, GB))
p = filtrDF(df, fand(variant('B'), gender('female')))
# и т.д.

dna

Прорешиваю SICP

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

(no subject)

За последние пару месяцев два раза пересмотрел три сезона амазоновского сериала «Mozart in the Jungle» — про закулису НЙского симфонического оркестра. Отличная смесь музыки, юмора, отношений и великолепных персонажей (и полного неумения актеров играть игру на инструментах и дирижировать ;)

Сериал снят по мотивам одноименной книги. Книга повествует о профессиональной карьере одной гобоистки и включает в себя рассуждения о развитии классической музыки в США в послевоенное время. К концу 90ых годов главной героине слегка за тридцать и у нее до сих пор не получилось занять постоянное место оркестре, несмотря на опыт частых замещений и вообще активную исполнительскую деятельность. В результате она решает принять хорошо оплачиваемую, но унизительную для классического музыканта работу в одном из бродвейских шоу.

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

про слух

Вчера пришел к преподавателю фоно, он меня посадил за инстрУмент, сам на кухне готовит чай. Я начинаю играть хорал в соль-мажоре (в этой тональности одна черная клавиша — фа-диез). Дохожу до очередного места, где встречается этот фа-диез и в аккорде из четырех нот играю вместо фа-диез просто фа, причем эта фа не самая высокая или самая низкая нота в аккорде.

Моментально из кухни «фа-диез, фа-диез!». Преподаватель не знал, что я играю, не видел до этого нот, но смог на слух, между делом, услышать среди четырех нот неправильную и, кроме того, определить, в какой тональности вещь.
dna

Лытдыбр

1) Новая работа

Прошли первые две недели на новой работе. Весь первый месяц — onboarding. Компания сейчас нанимает порядка 200—250 человек в месяц, в два захода — к началу месяца и к середине, у нас очень четкая программа образования новичков. Первые 10 дней были доклады про организацию компании и процессы. Потом все, кто не it и не pool hire ушли в свои отделы, а нам (it и pool hire) раздали по игрушечным проектам и дали две недели на знакомство и выбор команды.

В моем игрушечном проекте есть бекенд на Хаскеле, написанный с использованием Servant'а. Для меня это первое знакомство с type-level программированием.

Инфраструктура деплоймента в компании сейчас для меня — кромешный ад. Я ни черта не знаю ни про AWS, ни про докер.

2) SICP

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

3) Музыка

Одним из моих новогодних resolution было играть с листа по 10 минут в день. Я для этого выбрал сборник четырехголосых хоралов Баха — они а) состоят из «вертикальной музыки», т.е. многозвучий, с относительно простой ритмической структурой и гармонически очень понятны. Я все еще играют в мегачерепашьем темпе, но некоторые аккорды получается прочитать и сыграть не задумываясь.
dna

(no subject)

Начал читать Эшер, Гедель, Бах. Впечатления - от нравится до очень нравится.

Из запомнившегося:

1. Вы купили идеальный патефон, который может вопроизвести абсолютно точно любую пластинку с любой записью. Сможет ли он воспроизвести пластинку с записью звуков такой интенсивности, которая механически разрушит патефон?

2. Вам явился джинн и у вас есть одно желание. Вы не лыком шиты и говорите "хочу исполнения бесконечного количества желаний". Джинн такой - "я только по желаниям специалист, мета-желаниями (желаниям о желаниях) занимается мой шеф, мета-джин, сейчас позвоню". Он звонит мета-джину и просит того разрешить ему испольнить одно мета-желание. Мета-джин такой "эээ, дорогой, ты просишь меня разрешить тебе исполнить мета-желание, это уже мета^2-желание, я тут не копенгаген, надо звонить шеуфу". Звонит мета^2-джину... И т.д. и т.п.
dna

За полицию можно иногда гордиться

Один чувак в метро толкнул ногой в спину женщину — просто так. Она пролетела несколько ступенек и сломала руку.



По этому видео его идентифицировали как Светослава С. из Болгарии. Вначале нашли его брата, который вроде как тоже был на видео, брата допросили и отпустили (!!!). Сам Светослав сперва вроде как уехал обратно на родину, но сегодня его приняли прямо в междугородном автобусе, прибывшим на берлинский автовокзал.