В этом выпуске: есть ли достойная альтернатива Total Commander для Linux, где можно скачать тонны видеоматериалов по Erlang, что быстрее — передать пакет из Европы в Америку, или нарисовать писель на экране, а также другие занятные вопросы и ответы на них. Предыдущие выпуски: февраль 2014, январь 2014, декабрь 2013, ноябрь 2013.

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

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

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

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

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

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

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

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

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