Я тут на досуге игрался с DigitalOcean и провел небольшой эксперимент, результатами которого мне хотелось бы поделиться. Были взяты разные регионы, в каждом из них создавался дроплет и мерился пинг до этого дроплета. Сами результаты, а также попытки сделать из них какие-то выводы, смотрите далее.

Разгребал сегодня RSS-читалку и наткнулся на объявление о проведении очередного конкурса по ФП от Романа Душкина. Задачка на этот раз оказалась довольно простой. Вот я и подумал, а почему бы мне не воспользоваться случаем и не попрактиковаться лишний раз в программировании на Scala?

Темы четырнадцатого выпуска: как убедить джавников и .NET-чиков перейти на функциональные языки, история создания веб-фреймворка N2O, проекты Erlang on Xen и Voxoz.com, а также Functional programming Meetup, который состоится в Москве 16-го августа 2014. Предыдущие выпуски: тринадцатый, двенадцатый, одиннадцатый, десятый.

В этом выпуске: видео о ScalaDays 2014, большая подборка видео-туториалов по OpenGL, единственный нормальный сервис для проведения онлайн-опросов, и не только. Предыдущие выпуски: июнь 2014, май 2014, апрель 2014, март 2014.

Темы тринадцатого выпуска: что не так с электронной почтой, использование Haskell в продакшене и новый фреймворк rest, какая связь между моноидами и Summingbird, что такое Lambda Architecture, и причем тут Samza, Storm или Kafka, тонкости работы с ZooKeeper, как правильно решается проблема service discovery и из какого места должна бить радуга, если очень быстро едешь на велосипеде. Предыдущие выпуски: двенадцатый, одиннадцатый, десятый, девятый.

Если hslogger — это такая навороченная штуковина с уровнями логирования, какими-то деревьями, форматерами, хендлерами и syslog’ом, то пакет fast-logger предназначен для очень простого, но эффективного логирования в файлики. Эффективного, потому что fast-logger скейлится на многоядерных системах за счет создания отдельных буферов на каждое ядро процессора. Лог-записи попадают в различные буферы в зависимости от id нитки, делающей запись. При заполнении буфер сбрасывается на диск. Принцип такой же, как при шардинге — данные разделяются, нитки меньше мешают друг другу.

Темы двенадцатого выпуска: все, что вы хотели знать о Clojure и ClojureScript, но боялись спросить, с чего начать изучение Clojure, кто истинный наследник языка Lisp — Clojure или Haskell, что такое гомоиконность, как по скорости дожать Clojure до уровня Java, реактивное программирование и React, отличия виртуальной машины Erlang-а от JVM, а также какие чудеса позволяют творить макросы в Clojure. Предыдущие выпуски: одиннадцатый, десятый, девятый, восьмой.

Помните, как около года назад мы учились работать с базами данных в Haskell при помощи пакета HDBC, а также его форка HDBI, который от HDBC почти ничем не отличается? Тогда я отмечал, что вместо HDBC некоторые предпочитают использовать пакет postgresql-simple. Давайте попробуем разобраться, что это за пакет такой и почему он интереснее, чем HDBC. А также заодно познакомимся с пакетом postgresql-simple-migration.

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

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