Этот выпуск полностью посвящен Linux’ам. Я пользуюсь Ubuntu, но подозреваю, что многое из написанного также будет справедливо и для других дистрибутивов. Сегодня мы выясним, как установить самое свежее ядро и, если что-то пошло не так, откатиться к старой версии, как посмотреть список установленных в данный момент TCP-соединений, как найти руткиты в системе и не только. Предыдущие выпуски: двенадцатый, одиннадцатый, десятый, девятый.
Программная транзакционная память в Haskell
8 июля 2013
Программная транзакционная память (software transactional memory, STM) — это механизм взаимодействия между потоками, имеющий ряд существенных преимуществ перед традиционным подходом с использованием блокировок. Благодаря этой заметке вы узнаете, как работать с STM в Haskell.
Находки в сети за июнь 2013
3 июля 2013
В этом выпуске: кое-какая информация о кишках GHC, несколько полезных движков на PHP, описание интерфейса Google Speech To Text и Text To Speech, почему не нужно использовать ZeroMQ и Protobuf, и не только. Предыдущие выпуски: май 2013, апрель 2013, март 2013, февраль 2013.
Третий десяток прочитанных книг и журналов
1 июля 2013
Сегодня я поведаю об очередных десяти книгах (на самом деле — девяти книгах и одном журнале), которые я прочитал за последние три месяца. Мои предыдущие обзоры литературы вы найдете тут: второй десяток, первый десяток.
Пишем генератор уникальных статей на Erlang
26 июня 2013
В заметке Генерация почти осмысленных текстов на Haskell (опубликованной полтора года назад… как быстро летит время!) был упомянут подход к генерации статей, заключающийся в написании обзоров цифровой техники на основе их характеристик. Недавно у меня дошли руки до реализации этой идеи, правда, на Erlang, а не на Haskell.
Работа с нитями/потоками в Haskell
24 июня 2013
Как вы уже могли догадаться, я снова взялся за изучение Haskell. Очевидно, этот язык нельзя учить наскоком. Я решил запастись терпением и вникать во все медленно, но верно. Например, недавно я разбирался с многопоточностью.
Недавно мне пришло очередное письмо от одного из читателей блога. Автор письма сетовал, что на кафедре, на которой он учится, мало внимания уделяется программированию, а также интересовался, не знаю ли я каких-нибудь приемов, способствующих изучению нового языка программирования. Вот, что я думаю по этом поводу.
Помните, как я пытался доказать, что горячее обновление кода — бесполезная штука и что не нужно им пользоваться? Как выяснилось, я был не вполне прав. Есть по крайней мере три случая, в которых горячее обновление кода может быть довольно удобным.
Мое решение задачи об олимпийских кольцах на Erlang
13 июня 2013
Принял участие в недавнем конкурсе по функциональному программированию и занял в нем первое место. В этой заметке вы найдете описание задачи, которую требовалось решить в рамках конкурса, а также мое решение этой задачи на языке программирования Erlang.
Скандальная правда о Haskell и ленивых вычислениях
10 июня 2013
В последнее время я несколько раз упоминал о том, что не совсем понимаю, как на Haskell можно разрабатывать настоящие, большие проекты. Тому было несколько причин, но главным образом меня беспокоило (заметьте, в прошедшем времени), что Haskell активно использует ленивые вычисления. Тут имеет место серьезная проблема, о которой обычно умалчивают евангелисты и которую плохо осознаешь в начале изучения этого языка.