2016-11-13

Introduction to Functional Programming in OCaml

Закончил курс Introduction to Functional Programming in OCaml в Université Paris Diderot. По крайней мере хватило сил закончить в отличие от clojurecourse.by который я тупо дропнул на середине. Никакой бумажки не дали, как это было на Coursera. Сделал вывод, а скорее подтвердил то, что было на Машинном Обучении: отсутствие в непосредственной доступности ментора приводит к колоссальным затратам времени и усилий на решение элементарных проблем, для меня онлайн-обучение элементарно не работает. Когда, после после пары часов отчаяния и созерцания кода, находишь элементарную опечатку (в силу непривычного синтаксиса), необходимо обладать железобетонной мотивацией для продолжения.

По поводу самого OCaml. С этим можно жить, но я слабо представляю в задачах крупнее небольших утилит заточенных под конкретную задачу. По ощущениям развитие платформы остановилось где-то в 2000-х на уровне междусобойчика французов. Использовать OCaml в обозримой перспективе я не буду. Функциональные подходы абсолютно органично вошли задолго до этого курса, когда я впервые подключил guava. Строгая типизация (в понимании OCaml) чересчур строгая для моих задач. Объектная ориентированность прибита гвоздями видимо в дань моде.

Синтаксис не взрывает мозг как в clojure, хотя к отдельным вещам можно и придраться, но небольшой набор простых инструментов и набор из базовых типов списка и кортежа, на котором строятся всё богатство возможностей, – это они сделали правильно. Паттерн-матчинг и алгебраические типы данных – это реально очень круто, раньше не сталкивался, а вот тут прочувствовал как код становится очень выразительным. В groovy конструкция switch даже не смотря на то, что может матчить энумы, значения, типы просто рядом не стояла. При помощи наследования можно отдаленно сымитировать алгебраические типы и я примерно даже представляю как можно было бы сделать пародию на паттерн-матчинг через рефлекшен и лямбды, но все-равно не будет статических проверок и деструктуризация даже в груви примитивна на уровне раскидать плоский tuple по переменным.

Из плюсов, F# очень похож на OCaml, скорее всего код на haskell мне теперь будет понятен. Записал себе на будущее – пощупать scala. Итого польза от прохождения курса – 4 из 5. Мозги немного повернулись и познакомился с новыми для себя концепциями.

2016-10-02

Трилогия The Three Body Problem


Cixin Liu назвал свою трилогию Remembrance of Earth's Past. Топовая Hard Sci-Fi, держит в напряжении до самого конца, и при чтении создается очень странное ощущение: вроде бы всё пропало и конец света неизбежен, но впереди еще полторы тысячи страниц и ты замираешь в ожидании. Лю Сицин тебя не обманывает: проблема решается, но возникает очередная проблема такого масштаба, что предыдущая кажется детскими шалостями. Причем масштаб действия экспоненциально растет от цепочки странных событий до целой вселенной.

Вселенная – темный лес, где все затаились. Как только кто-то открывает свое местоположение, его уничтожают как потенциальную угрозу. Сюжет построен вокруг того, что Земляне раскрывают свое местоположение Альфа-Центаврийцам, цивилизации Трисоляриса, более развитым, но все еще не приблизившимся к скорости света. Четыре сотни лет отделяет Землю от прибытия флота, но всё осложняется тем, что на Землю прибыл многомерные искусственные интеллекты – Софоны, свернутый в трёх измерениях до размера атома. Задача Софонов вносить хаос в эксперименты с элементарными частицами на коллайдерах, чтобы заблокировать развитие науки до прибытия флота. Мир Трисоляриса нестабилен из-за неразрешимости проблемы трех тел – обитаемая планета либо сжигается дотла одним из светил либо замерзает в пучинах космоса, именно поэтому Трисолярис хочет захватить систему Солнца, а не уничтожить её.

Читается на одном дыхании. Если вам понравился Квантовый ПринцЗолотой Век или Сага о Возвышении – читать однозначно. Кстати сам Брин назвал цикл лучшей китайской фантастикой из переведенных на английский. И уже снимается фильм, хотя я сомневаюсь что можно уместить такой масштаб в полтора часа.

2016-09-09

Черногория 2016

Подготовка

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

Дальше будет дичайший лонгрид, который я писал 4 дня.

2016-09-07

Мастерство учителя

Решил подтянуть матчасть и обнаружил книгу Дуга Лемова. Книга мне не понравилась и не стоит потраченного на чтение времени, дальше расскажу почему.

Подозрение ко мне закралось еще в самом начале, когда на 50 страниц (из 400) рассказывалось про то какая это книга замечательная, как великолепные школы, которые организовал автор, творят чудеса. Второе разочарование меня постигло, когда стало понятно, что книга не про обучение вообще, а про обучение первоклашек чтению 100 страниц и всему остальному 250 страниц. Я ничуть не преуменьшаю важность этого процесса, но данная книга оказалась для меня абсолютно нерелевантной. Все это наложилось на не совсем адекватный перевод с примерами на английском языке. По сути, книга – конспект тренинга для учителей, который проводит автор в своих школах.

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

Вторая проблема, которая меня коробула на протяжении всей книги – это безапеляционные заявления об эмпирических выводах не подтвержденных ничем кроме заявлений автора. Да, автор утверждает, что отсмотрел тысячи часов выдеозаписей уроков у лучших учителей и раскрыл все секреты, но население острова Вануату тоже долго смотрело за карго-транспортом, но до сих пор почему-то не взлетело. Более того, я был не согласен с некоторыми утверждениями о процессе обучения.

Вместо этой книги, лучше почитайте Педагогическую Поэму она хотя бы интереснее.


2016-09-06

Голая статистика

В университете я статистику считал не интересной, но сейчас осознал потребность, пошел искать и сразу нашел эту превосходную книгу от Чарльза Уилана. По словам автора, осовремененная версия книги "Как лгать при помощи статистика" от Даррелла Хаффа. Книга не изобилует формулами (все математические разделы вынесены в отдельные подглавы) и простым языком доносит основные понятия статистики: отличие среднего и медианы, Гипотезы, Управляемый Эксперимент, Систематические Ошибки, Центральная Предельная Теорема и Линейная Регрессия.

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