⌨ Labor omnia vincit ☮

The Linux Programming Interface: Russian edition

Posted in books, GNU/Linux by anaumov on 23.03.2018

LPIbookСлучайно заметил в одном из российских интернет-магазинов перевод The Linux Programming Interface Майкла Керриска. Не удержался и сразу же заказал его 🙂
Русское издание по качеству практически не отличается от оригинала. Я уверен, что многие это оценят.
Про английскую версию я писал ранее.
Книга очень классная; пожалуй одна из лучших в моей библиотеке по системному программированию в GNU/Linux (подробно описывается работа с библиотечными функциями/вызовами, нюансы работы с памятью, shared libraries, несколько последних глав посвящены в том числе и сетевому программированию… и многое и многое другое). Книга содержит множество продуманных полнофункциональных программ, доступно иллюстрирующих все теретические концепции и будет очень полезна тем, кто уже хорошо знает язык С и хочет плотнее поработать с операционной системой.
Англоязычное издание этой книги вышло почти 7 лет назад. С тех пор kernel да и glibc претерпели немало изменений. Тем не менее, актуальность материал не утратил. Потому что во-первых, интерфейс API остается практически неизменным, т.е. разработчики его меняют очень осторожно. Причина тому – совместимость программ в userland с новыми версиями glibs и kernel. Во-вторых, изменения вносятся лишь в виде дополнений, но не как не изменений поведения и модификаций уже существующих интерфейсов. Кстати, для тех, кому интересно – вот тут можно посмотреть как менялись API от версии к версии. Занятное чтиво для ботанов %)

Let over Lambda

Posted in books, Lisp by anaumov on 06.12.2016

let over lambdaВедется работа по переводу книги Let over Lambda
Я начал писать этот пост почти год назад. Я хотел привлеч внимание русскоязычных ЛИСПеров к процессу перевода. Возможно кто-то нашел бы время и оказал бы помощь. Не опубликовал я этот пост тогда потому, что даже для перевода книги нужно разрешение автора. Иначе это нарушение авторских прав. Сейчас уже перевод закончен, а переводчик (Ametov Imil, ник Charlz_Klug) получил разрешение от автора на публикацию своего труда (автор постепенно, глава за главой, открывал материал). Я вернулся к этому посту и решил закончить начатое. Хоть замысел теперь не столько в поисках волонтеров-переводчиков, сколько в информации о наличии перевода как такового, который уже закончен и ждет читателей 🙂

Итак, исходники перевода книги можно скачать тут. Для сборки книги openSUSE-пользователям понадобится доустановить пару пакетов:

> sudo zypper in texlive-upquote
> sudo zypper in texlive-collection-langcyrillic
> sudo zypper in texlive-cyrillic

Большое тебе спасибо, Имиль, за перевод. Книга классная. Уверен, многие весело проведут время, эксперементируя с макросами Common Lisp, которым посвящена книга 😉

Paradigms of Artificial Intelligence Programming

Posted in books, Lisp by anaumov on 05.10.2015

Paradigms_of_ArtificialIntelligence_ProgrammingНаконец-то получил заказанную накануне книгу Paradigms of Artificial Intelligence Programming Питера Норвига. До того как купить её, я получил в рунете немало негативных отзывов о ней. Связанны они были главным образом с тем фактом, что книга эта очень старая, т.е. матерал безнадежно устарел, а методики программирования, описанные в ней, уже давно не используются. Должен сразу сказать, что подобные заявления по поводу Lisp, лично у меня всегда вызывали только улыбку 🙂

This book can lead to a deep appreciation of the unique strengths of Lisp and help the reader understand why Lisp is still in active use nearly 40 years after it was first developed

Серьезно. Я не поленился написать этот пост, поделиться с вами, потому что в действительности это и сегодня очень ценный труд по программированию искуственного интеллекта. Книга всего на 3 года старше “ANSI Common Lisp” Пола Грэма, перевод которой так тепло был принят в сети всего 2 года назад.

Материал в PAIP подробнее описывает не только сам Common Lisp, но и переплетается с идеями и методами, используемыми в программировании ИИ, что делает чтение ещё интереснее. Книга является богатым источником интересный идей и примеров. На протяжении почти 1000 страниц, автор (кстати, знакомый нам также своей статей “Научитесь программировать за десять лет”) приводит 10000 строчек исходного кода (доступного в интернете). В сети также можно найти немало обсуждений приведенного в книге кода.

Книга использовалась на протяжении многих лет как учебник в лучщих computer science универстетах США. Каждая из её 25 глав включает в себя около 10 упражнений разной сложности. Более подробное описание книги можно найти тут.

Цена за книгу на амазоне варьируется, но в общем она меньше, чем цена за ее доставку 😉

Die Hackerbibel

Posted in books, Germany, Hacker culture by anaumov on 04.09.2014

1985-00-00-hackerbibel-ccc-modemНи для кого не секрет, что львиная доля литературы о компьютерном андеграунде была написанна в США. Ничего удивительного в этом нет. Как мы знаем, истоки субкультуры берут свое начало в MIT. Но вот мало кто знает, что в ФРГ уже к середине 80х годов прошлого века существовала своя ветвь этой субкультуры. Да, имели место быть некоторые отличия, хотя в целом цели и идеология были схожи.
Я хотел бы рассказать о книге die Hackerbibel, которая вышла в середине 80ых годов. Написана она была на немецком, и, на сколько я знаю, её перевода на английский или другие языки нет. Книга представляет из себя крупноформатный двухтомник и содержит многочисленные статьи и рассказы из начальных периодов хаксцены (задолго до вечного сентября) по таким темам как творческое использование технологий и устройств, культура поведения в сети, хакерский этикет. Некоторые статьи к моменту публикации книг уже были опубликованны в других изданиях, например в der Datenschleuder, некоторые были написанны специально для die Hackerbibel.

В то время не было интернета, который мы знаем сегодня. Сеть представляла из себя дорогую в использовании и не столь преспособленную для коммуникации среду. Это было время таких технологий как Datex-P, а электронная почта была доступна совсем небольшому проценту населения (опять же, в основном из-за относительно высокой стоимости и необходимости использования know-how). Большинство стандарных протоколов будет созданно только в следующем десятилетии. Информация в сети была достаточно редким явленим, поэтому и цениласть на много больше. Надо отметить, что 30 лет назад материал подобного рода был не только качественней, но и написан был несколько в другой манере чем сегодня – он подогревал интерес к действиям и желанию досконально разобраться в принципах работы описываемых технологий. Он был пропитан духом альтруизма, морали, любви к вычислительной техники и сетевым технологиям.

Сегодня die Hackerbibel представляет из себя материал, относящийся уже к истории немецкой хаксцены. Тем не менее, просматривая книгу, я постоянно ловил себя на мысли, насколько же актуальны и по сей день темы статей и рассказов, встечающихся там. Эксплойты и бреши в системах защиты коммуникаций были так же популярны, как и сегодня. Те же многочисленные идеи по поводу нестандртного (творческого) использования технологий, а также трюки или советы по поводу сетевого доступа или просто сбора информации об удаленной системе, несмотря на то, что сами технологии и инструменты сегодня совсем другие.

Печатное издание сегодня будет достать практически невозможно. Я думаю, что если и получится найти, то только у CCC-ветеранов в крупных городах ФРГ. В цифровом варианте материал (не весь!) доступен onlene: первый и второй том.

Practical Packet Analysis, 2nd Edition (by Chris Sanders)

Posted in books, Uncategorized by anaumov on 26.05.2014

packet analysisКакую книгу я бы посоветовал по сетям? Отличным выбором будет второе издание Practical Packet Analysis Криса Сандерса.

Книга состоит из двух частей. Первая сосредоточена на теории. Коротко, но без “воды”, рассказывается о принципах, лежащих в основе функционирования компьютерных сетей. Мы узнаем о причинах проблем, с которыми приходится сталкиваться в ежедневной работе многим сетевым инженерам. Во второй (начиная уже с 4 главы) автор предлагает поиграть с анализом сетевого трафика, при помощи wireshark. Показаны некоторые трюки с протоколами и просто информация о пакетах, анализ которой поможет лучше понять причины того или иного поведения сети.

Не ищите здесь технического описания протоколов семейства TCP/IP или примеров как запрограммировать сетевое соединение. Книга главным образом сосредоточена именно на работе со сниффером – основным средством исследования сетей. Запуская небольшие тестовые программы и наблюдая за генерируемым ими сетевым трафиком, вы постепенно начнете понимать как на практике функционируют протоколы.

Да, книга на английском, но на очень простом английском. Поверьте, не стоит отказывать себе в покупке этой книги только лишь потому, что пока нет ее перевода.

Одним словом, впечатления от книги очень хорошие. Если вы ищете что-то практическое по работе с сетями, я настоятельно рекомендую обратить внимание именно на эту книгу.

Absolute OpenBSD, 2nd Edition (by Michael W. Lucas)

Posted in books, OpenBSD by anaumov on 10.05.2013

Absolute OpenBSDYahoooo! В прошлом месяце издательство No Starch Press представило второе издание книги Absolute OpenBSD, UNIX for the Practical Paranoid Михаила Лукаса (Michael W. Lucas), автора Cisco Routers for the Desperate.

Книга представляет из себя OpenBSD руководство, рассчитанное на пользователей UNIX (читатель должен быть хорошо знаком с таким понятием как POSIX, основными командами, а также системой разграничения доступа) или начинающих администраторов, но не разработчиков. Она не показывает читателю что ввести, а вместо этого рассказывает почему и как именно работает та или иная её часть, т.е. хотя книга и включает в себя описание процесса установки и настройки системы, основное её внимание сосредоточено на более глубоких вопросах, а также особенностях, выделяющих её из группы других свободных UNIX-образных систем. Книга также содержит советы по устранению неполадок, справочную информацию о системе и её командах.

Если я не ошибаюсь, первое издание этой книги вообще является первой книгой на английском, посвященной OpenBSD. Она вышла во время релиза 3.4, так что информация бОльшей части книги уже безнадежно устарела. Второе издание является обновлением. Техническим редактором второго издания является Петер Ханстин (Peter Hansteen), автор The Book of PF.

Кстати, сейчас эту книгу можно купить всего за полцены 😉

22.05.13 UPD:
Вчера наконец-то я получил ее. Книга превзошла мои ожидания. Это не просто еще одна книга о UNIX, это книга о конкретном проекте со своей историей и культурой. Очень захватывающее чтиво, несмотря на то, что многое из нее мне уже знакомо.

“ANSI Common Lisp” Paul Graham

Posted in books, Lisp by anaumov on 07.01.2013

ANSI_Common_LispНаверняка многие Lisp’еры вначале изучения этого языка читали статью Побеждая посредственность, в которой Пол Грэм рассказывает о причинах успеха компании Viaweb, основанной им с Робертом Моррисом. Статья безусловно захватывающая. Пол, словно шутя, объясняет, как без особых проблем они обходили конкурентов, подогревая тем самым интерес читателя к Common Lisp.
После прочтения этой статьи задаешься вопросом о книге, по которой можно было бы познакомиться с этим удивительным языком, который Пол сравнивает с секретным оружием. Многим хочется разобраться во вкусностях языка как можно быстрее, поэтому очень популярной книгой среди новичков является Practical Common Lisp. С этой книги начинал и я. В ней делается акцент именно на практическое применение языка. Проблема в том, что, как правило, к ФП приходят уже после изучения нескольких императивных языков, а это два совершенно разных подхода к дизайну программ. Пока вы не научились думать функционально, пользы от использования функциональных языков будет немного. Именно поэтому, параллельно с обучением языку, так важно показывать примеры, написанные в функциональном стиле,image description а также рассказывать и сравнивать их с примерами, написанными на императивных языках.
Пол подарил нам не только статью, о которой я упомянул в начале, он также является автором книги “ANSI Common Lisp”. В отличие от Practical Common Lisp, в ней очень хорошо сбалансированн материал и по функциональному подходу, и по знакомству с синтаксисом Common Lisp, т.е. очень хороший вариант для начинающих. Стоит также отметить краткость, простоту и доступность материала, что очень важно, когда речь идет именно о введении в язык.

Я так увлекся рассказом о ФП, что совсем упустил основную идею. В ноябре прошлого года издательство “Символ-Плюс” представило перевод этой книги. 17 лет книга ждала перевода на русский язык. Конечно кто-то скажет, что переводы не нужны, а читать все и вся нужно на языке оригинала. Не буду спорить. Скажу лишь, что я рад, что документации о Lisp и функциональном программировании на русском языке становится все больше 🙂

Russian edition: Common Lisp the Language, 2nd Edition (Guy Steele)

Posted in books, Lisp by anaumov on 18.11.2012

Решил помочь с переводом книги Common Lisp the Language (by Guy Steele). Книга распространяется бесплатно и доступна для чтения в online.

Проект перевода был начат Михаилом Филоненко – Lisp хакером из Минска, который оформил в LaTeX исходники 23 глав книги на русском, и выложил их на github.com (фактически он один перевел почти всю книгу; работа над переводом сейчас – это просто вычитка: поиск опечаток/ошибок/неточностей).

Зачем перевод? Перевод это скучно. Я не раз слышал этот контраргумент. Я занимаюсь переводом многих интересующих меня проектов по нескольким причинам:

  • Практика работы с той или иной технологией. В данном случае это git и LaTeX.
  • Культура. Free and Open Source cообщество. Альтруизм 🙂
  • Перевод как способ заставить себя вчитываться по-настоящему внимательно. Читая ту или иную научную документацию, не раз замечал, что, после прочтения нескольких страниц, я не могу пересказать то, о чем только что прочитал. Все вроди бы понятно, но, читая не сосредоточившись, смысл ускользает. Остается уверенность, что материал пройден и понят. Уверенность эта ошибочная 🙂
    Переводя текст вы вдумываетесь в каждую мысль автора. Пытаетесь сформулировать эту же мысль на другом (как правило – родном) языке, т.е. не повторяете слова при пересказе, а ищите синонимы из другого языка. Переводя абзац за абзадцем, страницу за страницей, выстраивается целая смыславая цепочка из мыслей. Вы пересказываете и записываете каждую мысль, что является залогом понимания и запоминания материала.
  • Я люблю проекты, которыми занимаюсь. Lisp, openSUSE, OpenBSD… мне просто нравится быть частью этого. Занимаясь этим я постоянно узнаю что-то новое.

Ну и напоследок немного практики на всякий случай для тех, кто ещё захочет помочь. Скачиваем исходники книги:

> git clone --depth 1 https://github.com/filonenko-mikhail/cltl2-doc

Переходим в каталог с исходниками и собираем книгу в PDF:

> cd cltl2-doc
> ./rumakepdf.sh

Русский текст в тех же файлах, что и английский. Ориентрироваться какая глава в каком файле: смотрим в online версии название файла. Например, первая глава – Вступление – это файл intro.html, значит её исходники лежат в файле intro.tex. Вторая глава – Типы данных – файл dtypes.tex, и т.д.
Если вы все же решите что-то перевести, свяжитесь заранее со мной или Михаилом.

THE LINUX PROGRAMMING INTERFACE

Posted in books by anaumov on 13.07.2012


Пожалуй лучший труд по системному программированию в UNIX/Linux.
На русский книга не переводилась (update: The Linux Programming Interface: Russian edition ), на английском читается легко (автор живет в Баварии). Прочитал пока несколько глав, впечатления о книге только хорошие. Полторы тысячи страниц, много поясняющих примеров и никакой “воды” – концентрация полезной информации как и в книге K&R. Думаю, что эта книга станет причиной отсутствия сна у любого UNIX/Linux хакера 😉

Learn You a Haskell for Great Good!

Posted in books, hacking by anaumov on 04.05.2012

Как вы наверняка знаете, завтра утром, 05.05.12, начнется майский конкурс по функциональному программированию. Как и обычно, конкурс организован _darkus_, но в этот раз одним из спонсоров является ДМК Пресс. Что это значит? Это значит, друзья мои, что одним из призов («Приз зрительских симпатий») будет недавно переведенная книга Изучай Haskell во имя добра! Мирана Липовача. Подобный приз безусловно повышает стимул к победе 🙂
Книга ориентирована на людей, знакомых с программированием на императивных языках, типа С/С++, Perl и Python, и желающих попробовать научиться функциональному программированию на языке Haskell. Написана достаточно простым языком, так что отлично подходит в качестве учебника для новичков. Ее английский вариант (+ содержание) можно найти тут:
Learn You a Haskell for Great Good!.
На последок пожелаю удачи всем участникам конкурса. Независимо от того, кому достанется этот подарок, удовольствие от соревнований получат все 😉

Compilers: Principles, Techniques, and Tools, 2nd Edition

Posted in books by anaumov on 01.02.2012

Каждый, кто интересовался принципами работы компиляторов или даже их разработкой, наверняка слышал о классическом труде “Компиляторы: принципы, технологии и инструменты”, известной так же как “Книга Дракона”. В 2006 году вышло второе издание этой книги, но добраться до нее у меня удалось только сейчас и… я влюбился в нее с первой же главы.

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

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

Если верить википедии, то на основе этой книги авторы преподавали как вводный, так и основной курсы для студентов и аспирантов AT&T Bell Laboratories, Колумбийского, Принстонского и Стенфордского университетов. Если верить вот этой странице, то на основе второго издания этой книги в Стенфорде читают курс лекций и сейчас.

Practice of Functional Programming

Posted in books, Lisp by anaumov on 18.12.2011

Пожалуй одним из лучших IT-журналов, который я когда-либо встречал является «Практика функционального программирования». Авторский коллектив журнала состоит из профессионалов промышленного программирования, участников международных олимпиад, конкурсов и конференций по функциональному программированию и преподавателей вузов. Я очень советую его всем начинающим LISPерам, коим и сам являюсь. Тематика затрагивает так же отладочные механизмы, сравнение работы интерпретаторов, скорости выполнения ими кода, дизайн языков и диалектов.

Журнал создан в 2009 году с целью популяризации приёмов, подходов и инструментов декларативного и функционального программирования. С того времени вышло всего 7 номеров журнала, но зато каких!

free books

Posted in books, openSUSE by anaumov on 25.09.2011

The Free Technology Academy (FTA) is a joint initiative from several educational institutes in various countries. It aims to contribute to a society that permits all users to study, participate and build upon existing knowledge without restrictions.

On FTA’s page you can find free books (all of them are under a Free Copyleft license), which can be interesting for some of us, I guess.

Learn the UNIX/Linux command line

Posted in books, GNU/Linux by anaumov on 05.04.2011

Знание команд и свободное владение интерпретатором shell всегда говорят о квалификации пользователя. Новички в GNU/Linux неправильно понимают назначение интерпретатора, и относятся к нему как к вынужденной мере, к которой приходится прибегать из-за отсутствия “нормальных” альтернатив. Более квалификацированные пользователи знают, что работа в консоли является самым быстрым и удобным средством для решения целого ряда задач. Не столь требовательный к ресурсам, более стабильный и быстрый… работу в shell хакеры уже давно возвели в ранг культуры и искусства, понятной лишь для своих.
Читать полностью…

My first computer book %)

Posted in books, myself by anaumov on 25.06.2010

Книгу “Энциклопедия профессора Фортрана” А. Зарецкого мне подарили родители, когда мне было наверное лет 7. Это была моя первая компьютерная книга. Возможно именно она повлияла на мое хобби сегодня и место работы. Наверняка именно она дала первые представления о таких понятиях как информация, данные (и в чем разница между ними?), компьютер, жесткий диск, алгоритм, компьютерный вирус…

Почти на каждой странице советы детям, как правильно сидеть за компьютером, как и сколько работать, как позаботиться о сохранности своей информации и и насколько это важно вообще. Как и в любой другой детской книге, в ней много картинок, шуток и веселых историй. Для меня она была очень завлекательна (да что уж говорить – я и сейчас бы ее с удовольствием почитал :)).
Читать полностью…