Вот многие программисты считают себя умными. Читают Хабр, слушают Радио-Т, рассуждают с умным видом про шаблоны ООП или там теории категорий. И любят делать умные решения. Ведь простые решения любая обезьянка написать может, а вот сложные… Почитывая мой бложик, кто-то из вас мог ошибочно подумать, что я тоже такой весь из себя шибко умный. Знаю там Haskell, книжек много читаю. В действительности, я очень глупый. И поэтому при решении задач стараюсь использовать как можно более простые решения.
В мире Haskell есть такой хороший пакет conduit за авторством небезызвестного Michael Snoyman. Этот пакет позволяет легко и непринужденно делать множество полезных вещей с файлами, сокетами, соединениями с базами данных, всякими там TQueue или даже обычными списками. На первый взгляд пакет кажется сложным и пугающим. Но, как это часто бывает с Haskell, если не пытаться вникнуть во все наскоком, а сесть и спокойно разобраться, выясняется, что в действительности все предельно просто.
Мини заметок не было целых два месяца. Я знаю, вы по ним соскучились! В этом выпуске: настраиваем VNC в Ubuntu, конвертируем онлайн-книги в PDF, изучаем консольные сниферы, клонируем схемы в PostgreSQL и не только. Предыдущие выпуски: тринадцатый, двенадцатый, одиннадцатый, десятый.
В прошлый раз мы научились рисовать разноцветные треугольники и пирамиды. Это, конечно, замечательно, но если вы когда-нибудь играли в компьютерные игры, то знаете, что они рисуют на экране очень, очень много пикселей самых разных цветов. Неужели все их приходится раскрашивать вручную при помощи изученных в прошлой заметке средств? К счастью, нет. Для решения этой проблемы были придуманы текстуры.
Все еще пребываю под впечатлением от возможности использовать OpenGL в Haskell. Поэтому в данном выпуске вас ждет много ссылок на редакторы карт и моделей, кроссплатформенные игры, а также игровые движки с открытым исходным кодом. Но, разумеется, не только они. Предыдущие выпуски: июль 2013, июнь 2013, май 2013, апрель 2013.
На днях я разгребал свой список статей для отложенного прочтения. Помимо прочего, в нем был найден хабрапост Графика через OpenGL на Haskell, который пробудил во мне былой интерес к работе с трехмерной графикой на правильном языке. А что может остановить программиста, которому что-то дико интересно и хочется в этом разобраться?
Возможность Erlang'а производить прозрачный обмен сообщениями между процессами, работающими на разных физических машинах, бесспорно, является интересной и порой весьма практичной. Но не факт, что эту возможность следует использовать именно в вашем проекте. Хотя далее по тексту речь будет идти об Erlang, многое из написанного также относится и к распределенным акторам в Akka или Cloud Haskell.
Никогда не любил пылесосить. Это очень скучное занятие, отнимающее пусть и не слишком много времени, зато делающее это регулярно. Вот бы было устройство, на котором нажимаешь кнопку и оно за тебя пылесосит. И недавно такое устройство у меня наконец-то появилось.
Недавно я прочитал очередной десяткок книг, а значит настало время для написания рецензий. На сей раз десять книг я осилил всего лишь месяца за полтора. Должно быть, книжки были тоньше, чем обычно. Предыдущие обзоры литературы вы найдете здесь: третий десяток, второй десяток, первый десяток.
Я тут читаю «Happstack Crashcourse» и нашел в главе о шаблонизаторах упоминание одной интересной возможности GHC. Оказывается, в исходном коде можно указывать дополнительные ключи, которые будут переданы GHC при компиляции программы, в том числе ключи, позволяющие прогнать код через произвольный препроцессор.