Большинство программистов (кроме тех, кто вообще не следит за новостями) наверняка что-то слышали о MongoDB, но никогда не пользовалось этой СУБД. Давайте же выясним, что умеет MongoDB, а что не умеет, а также, вооруженные Perl и Mojolicious, напишем простую сокращалку ссылок, использующую MongoDB.

CheckInstall — это удобная утилита, позволяющая создавать бинарные пакеты для Linux из исходного кода приложения. Ее мне посоветовал Денис Федосеев в комментарии к посту про установку Rakudo Star. Спасибо, Денис! В этой заметке совместными усилиями мы создадим с помощью CheckInstall deb-пакет Erlang’а.

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

Что ни говори, а отладочный вывод был и остается одним из самых простых и часто используемых способов отладки. Но как прикажите использовать его в Haskell при написании чистых функций? Временно оборачивать функцию в монаду IO, а по завершении отладки возвращать код к прежнему состоянию? Разумеется, нет!

В Perl 6 появилось новое средство, называемое грамматиками. Ни в одном другом языке я такого еще не видел. Помните, как мы с вами писали интерпретатор простого языка программирования? Так вот, грамматики — это практически встроенное в язык средство для создания лексических и синтаксических анализаторов.

Недавно на Хабре появилась любопытная заметка Как два программиста хлеб пекли. В ней автор противопоставляет подход «сделай все с кучей классов и паттернами проектирования» подходу «сделай как можно проще (KISS)». А вот интересно, что будет, если попытаться решить описанную в статье задачу с помощью функционального подхода?

Как быстро летит время. Казалось бы, только вчера я регистрировал доменное имя для этого бложика, и тут — бабах! На тебе, три года прошло. По сложившийся традиции, я не стану грузить вас своими планами на будущий год и тп, а просто запощу несколько скриншотов на память.

Ksplice представляет собой расширение Linux, позволяющее производить «горячее» обновление ядра, то есть, без перезагрузки системы. Под катом представлена небольшая памятка по использованию Ksplice в Ubuntu Linux.

Будет преувеличением сказать, что работы над переводом книги о веб-фреймворке Yesod близятся к завершению, однако большая часть пути уже определенно пройдена. В настоящее время не переведено несколько глав, а те, что переведены, еще предстоит перепроверить. Сегодня я хотел бы представить на ваш суд черновой вариант перевода 27-ой главы «xml-conduit», перевод которой не без пинков со стороны Darkus’а я закончил на днях.

Как вы, должно быть, помните, моим первым тайловым оконным менеджером был Xmonad. Он вполне устраивает меня на стационарном компьютере, но, к сожалению, на EeePC с ним много возни — нужно допиливать индикатор батареи, выводить куда-то уровень сигнала Wi-Fi и тп. После небольшой консультации с народом в Twitter’е, я решил попробовать оконный менеджер i3.