Я давно хотел приобрести небольшой ноутбук. Знаете, такой, чтобы можно было всюду таскать с собой — на работу, в поездки, на конференции и так далее. Ну и, конечно же, чтобы на нем стояло что-нибудь юниксовое. А поскольку эксперимент с юниксами мог не удастся, хотелось чего-то недорогого. Поискав по Яндекс.Маркету и поспрашивав людей, решил брать Asus Eee PC 1215P.
Главные темы шестого выпуска: комбинаторика на Haskell, исправление кодировки без использования iconv, полуавтоматическая поисковая оптимизация заголовков, настройка unbound и pptp, а также создание мгновенного снимка файловой системы под FreeBSD. Предыдущие выпуски: первый, второй, третий, четвертый и пятый.
Вы когда-нибудь пробовали написать программу, решающую судоку, задачу о волке, козе и капусте или головоломку вроде кубика Рубика? У этих задач есть кое-что общее — точно известно начальное условие и к какому условию требуется прийти, но придумать алгоритм решения задачи не так-то просто. Такие задачи решаются с помощью поиска на графах.
Хорошо продуманный ORM может существенно упростить жизнь программисту. Но если это так, то откуда берутся крики, что «ORM — это антипаттерн»? Думается, дело в том, что не все ORM одинаково хороши (ORM для C++ из этой хабрастатьи просто ужасны). В этой заметке речь пойдет о DBIx::Class — хорошо продуманном и являющимся де-факто стандартным ORM для Perl.
На протяжении последних нескольких месяцев я практиковал TDD. Теперь я понимаю — эта техника (не путать технику и методологию!) работает. Ее легко использовать и она эффективно решает вполне конкретные проблемы. Эта заметка адресована программистам и, в меньшей степени, руководителям проектов.
Redis (REmote DIctionary Server) — это нереляционная высокопроизводительная СУБД. Redis хранит все данные в памяти, доступ к данным осуществляется по ключу. Опционально копия данных может храниться на диске. Этот подход обеспечивает производительность, в десятки раз превосходящую производительность реляционных СУБД, а также упрощает секционирование (шардинг) данных.
Решил попробовать Xmonad. До этого я никогда не пользовался Awesome, dwm или каким-либо другим тайловым (мозаичным, фреймовым) оконным менеджером. Зато теперь я прекрасно понимаю, чем они так цепляют людей.
Из этого поста вы узнаете, как совершенно бесплатно увеличить место на Dropbox до 19-30 Гб. Существенная часть заметки состоит из подборки ссылок на Хабр. Таким образом, тем, кто уже в теме, скорее всего будет неинтересно.
На страницах Википедии, посвященных определенному языку программирования, приводится информация о том, на какие языки он оказал влияние и влиянию со стороны каких языков подвергся. Например, Haskell исптытал влияние со стороны Lisp и ML, повлияв при этом на Scala, Perl 6 и Python. Интересно, а что будет, если нарисовать граф отношения «язык X повлиял на язык Y»?
Систем контроля версий много, а хостингов исходного кода — еще больше. Перепробовать их все нет никакой возможности. Поэтому подбирая себе такой хостинг, я выбирал между GitHub и BitBucket. Эти два сервиса показались мне наиболее интересными.