Мотивация пользоваться вместо обычных почтовых клиентов, таких, как Thunderbird, или, скажем, Claws Mail, консольным почтовым клиентом Mutt сродни мотивации пользоваться irssi вместо HexChat. Консольные приложения, как правило, намного проще своих GUI-аналогов, а значит не так сильно жрут батарею и более безопасны. Также они управляются исключительно при помощи клавиатуры, могут быть запущены на сервере в screen, и вот это все. К сожалению, конкретно Mutt совершенно незаслуженно пользуется репутацией программы, очень сложной в настройке. Сегодня мы убедимся, что в действительности настройка Mutt не сильно отличается от настройки любого другого почтового клиента.

Как это всегда бывает в мире Linux, нормальной документации нет. Когда мне захотелось разобраться, как в это время суток разработчики отлаживают модули ядра Linux, а также само ядро, мне пришлось прочитать, наверное, около двадцати статей, разбросанных по всему интернету. А также две книги (книга раз, книга два), вскользь упоминающих этот вопрос, притом одна из них была посвящена непосредственно разработке ядра Linux! Из этих источников половина содержала устаревшую информацию в стиле «Линус запретил использовать отладчики, смиритесь». Еще половина освещала вопрос где-то на 1/10. В итоге, скорее вопреки, чем благодаря, мне все-таки удалось более-менее разобраться в вопросе и собрать всю информацию в одном месте. Не благодарите.

Irssi — это кроссплатформенный консольный IRC-клиент, написанный на чистом C. Консольные утилиты имеют неоспоримое преимущество перед всякой там GUI’ней вроде HexChat. Например, можно один раз настроить в терминале шрифты и (темную!) цветовую гамму, а все консольные приложения автоматически их подхватят. Да, у GUI приложений в третьем тысячелетии с этим все еще есть проблемы. Qt и разные версии GTK берут свои настройки немного из разных мест. Плюс к этому консольные приложения можно легко запускать на сервере в screen. Кроме того, в консольных приложениях практически никогда не используется мышь, что я лично нахожу очень удобным. Наконец, обычно они жрут меньше памяти и заряда батареи.

Некоторое время назад мы с вами научились пользоваться DTrace. SystemTap представляет собой нечто похожее, но сильно заточенное под Linux и с рядом важных отличий. Во-первых, SystemTap не требует ручного добавления пробов в код ядра или приложений. Он работает и так, правда, требуя взамен знания исходников. Во-вторых, скрипты SystemTap транслируются в язык C и загружаются в ядро в виде модулей. За это приходится платить временем компиляции скриптов. Зато скриптовый язык SystemTap намного мощнее, чем у DTrace.

Вопреки распространенному заблуждению, IRC-сети все еще пользуются огромной популярностью. Это своего рода токая большая секретная социальная сеть, где онлайн постоянно зависают сотни тысяч IT-специалистов со всего мира. И это в одном только FreeNode! Даже новые блестящие веб-чятики, такие, как Slack и Gitter, позволяют заходить в них по протоколу IRC. Так вот, для людей, недавно открывших для себя IRC, довольно сложной является концепция каких-то там баунсеров. Сегодня мы познакомимся с с одним из таких баунсеров под названием ZNC, и выясним, что пользоваться им очень просто.

Сегодня мы поговорим о программировании на ассемблере. Вопрос «зачем кому-то в третьем тысячелетии может прийти в голову писать что-то на ассемблере» раскрыт в заметке Зачем нужно знать всякие низкоуровневые вещи, поэтому здесь мы к нему возвращаться не будем. Отмечу, что в рамках поста мы сосредоточимся на вопросе компиляции и отладки программ на ассемблере. Сам же язык ассемблера заслуживает отдельного большого поста, а то и серии постов.

Если помните, не так давно мы научились собирать из исходников ядро FreeBSD. Спрашивается, почему бы не научиться делать то же самое и с ядром Linux? Причины собирать ядро Linux из исходников, в общем то, те же — получение самой свежей версии ядра, срочное применение security-патчей, оптимизация под конкретные задачи и конкретное железо, а также желание принятие участие в разработке ядра, пусть даже в роли QA.

DTrace — это такая штука, присутствующая во FreeBSD, NetBSD, MacOS, Solaris и Linux. DTrace предназначен для динамической трассировки ядра системы и приложений в реальном времени, главным образом с целью их профайлинга и отладки. Сегодня мы попробуем поработать с DTrace во FreeBSD. Кроме того, мы установим DTrace и в Ubuntu, хотя по поводу стабильности такой конфигурации и остаются вопросы.

Тема компьютерных игр не так уж бесконечно далека от программирования, как может показаться на первый взгляд. Допустим, у вас на ноутбуке Ubuntu и вам предстоит девятичасовой перелет на самолете к месту проведения какой-нибудь конференции, а все сериалы вы уже посмотрели. Было бы неплохо иметь на этот случай несколько хороших игр, и желательно пошаговых, так как в прочие в самолете играть затруднительно. Есть, конечно, множество нативных игр под Linux, ровно как и Steam. Однако в рамках этой заметки мы познакомимся с PlayOnLinux, который представляет собой такую сильно более удобную обертку над Wine.

Proxmox Virtual Environment — это система, предоставляющая простой и удобный веб-интерфейс для управления виртуальными машинами (используется KVM) и контейнерами (LXC) на вашем кластере физических машин. Фактически, при помощи Proxmox вы можете создать свой маленький Amazon Web Services на собственном железе. В общем и целом, система очень похожа на Parallels Virtual Automation, с которым мы знакомились ранее, только распространяется бесплатно и с открытыми исходными кодами. Также предоставляется и платная техническая поддержка. Как мы скоро убедимся, со своей задачей Proxmox справляется не хуже PVA, а в чем-то, возможно, и лучше.