Темы седьмого выпуска: Erlang R17, GHC 7.8.1, MongoDB 2.6, все о модели акторов, транзакционной памяти и девушках в белорусском геймдеве, зачем Валера заставил себя пощупать Scala с Rx и почему он осуждает Akka, как учить Java в третьем тысячелетии, битва не на жизнь, а на смерть между Akka и Erlang, и не только. Предыдущие выпуски: шестой, пятый, четвертый, третий.

В 99% случаев если вам требуется компилятор Haskell, то Haskell Platform решит все ваши проблемы. В платформу входит не только непосредственно стабильная версия компилятора GHC, но и такие утилиты, как cabal и haddock, а также некоторые часто используемые библиотеки. При этом с помощью cabal можно обновить, пожалуй, всю платформу, не считая разве что самого GHC. Но иногда хочется поиграться с версией GHC посвежее. Вот тому, как это сделать, и посвящена сия заметка.

Темы шестого выпуска: Эльбрусы, VLIW, FPGA и многие другие страшные слова, скандальная правда о том, как ведется разработка компиляторов в России, о том, что на самом деле любой рубист может запросто переквалифицироваться в разработчика ядра OpenBSD, а также ужасы написания серверных приложений на Haskell. Предыдущие выпуски: пятый, четвертый, третий, второй.

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

Большинство из вас этого, конечно, не помнит, но года три-четыре назад в этом блоге приводилась реализация генетического алгоритма на Perl. На меня тут нахлынула ностальгия и я решил переписать этот алгоритм на Haskell, и заодно распараллелить его, используя пакет parallel. Что из всего этого получилось — смотрите под катом.

Темы пятого выпуска: скандальная правда о том, что и как устроено внутри Echo, почему нельзя так просто взять и протащить Haskell в продакшн, спасет ли Spanner программистов от импотенции, почему лучше дать денег Амазону, чем делать свое облако, а также немного о continuous delivery и нагрузочных тестах. Предыдущие выпуски: четвертый, третий, второй, первый.

Дело было вечером, делать было нечего, и я пошел гулять по интернетам в поисках существующих встраиваемых (embedded) баз данных для Erlang. Вот, скажем, есть у нас приложенька, которая работает с небольшими (десяток-другой гигабайт) объемами не саммых ценных в системе данных. Ну не поднимать же Riak кластер только ради этой приложеньки и не таскать же за ней повсюду PostgreSQL? В общем, посмотрел я на существующие решения (DETS, Mnesia, Bitcask, LevelDB, SQLite, Innostore, HanoiDB) и пошел классно писать очередной ненужный KV-велосипед.

Примем за рабочую теорию, что мы здесь все взрослые и осознаем важность использования менеджера пакетов. Есть много способов упаковать приложение, написанное на Erlang, в deb, rpm или еще какого формата пакет. Здесь я опишу один из множества таких способов, основанный на использовании утилиты FPM.

Темы четвертого выпуска: история того, как, и главное — почему, Сергей перешел с Java на Erlang, что делать в случае, если ведущие EaxCast не хотят объяснять Paxos, саморазвитие в программировании, а также о том, что не все конференции одинаково полезны. Предыдущие выпуски: третий, второй, первый.

Предыстория. Некоторое время назад в комментариях к заметке Работа с нитями/потоками в Haskell Роман совершенно справедливо заметил, что задачу перебора хэшей было бы куда правильнее решать, используя, например, пакет parallel. Перебор хэшей был выбран мной, как универсальная задача, с помощью которой можно продемонстрировать работу и с MVars, и с транзакционной памятью, и с монадами Par/Eval. Чтобы не приходилось придумывать новую задачу для каждого нового поста.