Книга Стива Макнила про старые компьютерные игры «Hey! Listen!»

Давненько я не брал в руки шашек книжек по истории IT. Книга Стива Макнила «Hey! Listen!» на меня уже давно с укоризной смотрела, стоя на полке рядом с другими еще не читанными книгами на эту тему. Наконец, я до нее добрался.

Автор этой книги — один из ведущих британского шоу о компьютерных играх «Dara O Briain’s Go 8 Bit», а к тому же еще и комик, поэтому на протяжении всей книги он пытается острить, имхо, не очень смешно (возможно, это такой британский юмор), а потом еще сам иронизирует по поводу своих шуток. Выглядит местами странно, и судя по некоторым отзывам, кого-то это раздражает, но меня его шутки как-то не бесили.

Полное название книги «Hey! Listen! Путешествие по золотому веку видеоигр». Здесь подразумеваются 80-90-е годы прошлого века, и автор честно заявляет, что это его субъективный взгляд, хотя на самом деле книга охватывает более широкий диапазон времени. Эта книга даже не столько про игры, сколько про развитие игровой индустрии, начиная с пинбольных столов и первой игры в теннис на экране осциллографа и примерно до конца 1990-х годов, иногда заглядывая в начало 2000-х. Макнилу неплохо удалось показать переходы от повсеместного распространения одного типа дейвайса для игр к другому: от механических игровых автоматов к цифровым, затем появление приставок, затем появление PC и конкуренция этой платформы с приставками за игроков, особенно после выхода Windows 95 и DirectX. В книге упоминается огромное количество игр, но ни на одной из них автор долго не задерживается, в основном рассказывая про производителей «железа» — сначала пинболов, затем игровых автоматов, потом приставок.

Читать далее ‘Книга Стива Макнила про старые компьютерные игры «Hey! Listen!»’ »

Про книгу Энтони Шоу «Внутри CPython»

После того, как более-менее освоишь какой-либо инструмент, которым постоянно пользуешься, полезно заглянуть в его «внутренности», чтобы его работа не воспринималась как магия, которая каким-то неведомым образом что-то делает. Поэтому, когда вышла книга Энтони Шоу «Внутри CPython», я ее сразу заказал. На днях я ее дочитал и расскажу о ней в этом посте.

Сразу определимся с терминологией, чтобы было ясно, о чем книга. CPython (не путайте с Cython) — это эталонная реализация Python, которая написана на языке C. Собственно, это и есть тот самый интерпретатор Python, которым пользуются большинство питонистов. Как вы, наверное, знаете, есть и другие интерпретаторы Python, написанные на других языках. Например, PyPy (интерпретатор, написанный на Python), IronPython (реализация Python под платформу .NET), Jython (реализация на Java). В данной же книге речь идет о всем знакомом интерпретаторе, а не о каком-то экзотическом (да простят меня пользователи перечисленных выше реализаций).

Сразу скажу, что книга оставила у меня неоднозначное впечатление. Наверное, я ожидал от нее чуть более высокоуровневого описания работы Python, надеялся, что больше будет написано про байт-код и его ассемблерные команды. В реальности книга представляет собой обзорную экскурсию по исходникам интерпретатора Python. На самом деле это тоже любопытно, но эти знания более удалены от практики применения Python. Эту книгу можно посоветовать тем, кто хочет начать участвовать в разработке CPython. К сожалению, она уже начала устаревать. В ней речь идет о Python 3.9, и когда я ее начал читать, то решил, что я буду смотреть в исходники Python 3.11, но там уже некоторых файлов не стало, а какие-то были переименованы. Особенно это касается частей кода, связанных с парсером. О некоторых подобных изменениях автор предупреждает, говоря о том, что парсер был переписан, но в Python 3.9 можно было найти обе версии, а в 3.11 осталась только новая. С другой стороны, это был тоже любопытный квест, искать куски кода, если указанного файла нет.

Читать далее ‘Про книгу Энтони Шоу «Внутри CPython»’ »

Книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python»

Недавно в издательстве ДМК вышла книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python».

Как известно, у интерпретатора Python из-за наличия GIL (Global Interpreter Lock) имеются достаточно серьезные ограничения для полноценного использования всех ядер процессора. Для сложных вычислительных задач можно запускать несколько процессов со своим интерпретатором Python, каждый из которых обрабатывал бы свой собственный кусок данных, но создание нового процесса — достаточно тяжелая операция, и если ее делать часто, то производительность будет проседать. В то же время при некоторых низкоуровневых операциях (в основном это ввод-вывод) возможно написать код, который бы выполнялся параллельно, и именно в этом основная идея асинхронного программирования. Использование асинхронного программирования — это достаточно сложная область в любом языке программирования, а в Python все усложняется еще и тем, что нужно понимать, когда асинхронное программирование может дать какой-то выигрыш.

Книга Мэттью Фаулера рассматривает асинхронное и параллельное программирование (объединенные под одним термином «конкурентное программирование», что показывает аккуратность автора в терминологии) с разных сторон. Здесь будет рассказано и про асинхронщину, и про многопоточноть (в значении multithreading), и про прогопроцессность. Все это в конце концов рассматривается под тем углом, как для всего этого дела может помочь стандартная библиотека asyncio, которая в первую очередь ассоциируется именно с асинхронным программированием, хотя она позволяет использовать также пулы потоков и процессов.

Читать далее ‘Книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python»’ »

Книга Рэя Монка «Роберт Оппенгеймер. Жизнь в центре»

В конце прошлого года, если вы помните, я писал о достаточно объемной книге Ричарда Роудса «Создание атомной бомбы». После ее окончания я решил продолжить чтение на эту тему, к тому же некоторое время назад на одной из московских книжных ярмарок я купил еще одну большую книгу с биографией Дж. Роберте Оппенгеймера — руководителя Менхэттенского проекта, в рамках которого были созданы первые в мире атомные бомбы. Это книга Рэя Монка «Роберт Оппенгеймер. Жизнь в центре» («Robert Oppenheimer. A Life Inside the Center»), про которую и расскажу в этом посте.

При всей своей замечательности книги Роудса, в «Создании атомной бомбы» непосредственно про Оппенгеймера было написано не особо подробно, сделав упор на других ученых. Именно поэтому книга Монка отлично ее дополняет. Удивительно, что несмотря на монументальность обеих книг, во время чтения «Оппенгеймера» не было ощущения, что читаешь что-то повторно, настолько по-разному сделаны акценты в этих книгах, причем Монк иногда ссылается на книгу Роудса, написанную на 26 лет раньше (Роудс свою книгу написал в 1986 году, а оригинал книги Монка вышел в 2012 г).

Читать далее ‘Книга Рэя Монка «Роберт Оппенгеймер. Жизнь в центре»’ »

Выходят две новые книги про Pandas

У двух издательств (ДМК и Питер) почти одновременно появились новые книжки про Pandas — мощной библиотеки для работы с табличными данными в Python.

В издательстве ДМК выходит третье издание «Python и анализ данных» Уэса Маккини, основного разработчика библиотеки Pandas. Я когда-то читал первое издание и писал про него обзор. Эта книга не только про Pandas, но еще и про Numpy и другие математические инструменты вроде IPython и Jupyuter, но большая часть книги все-таки посвящена Pandas.

А в издательстве Питер выходит книга «Pandas в действии» Бориса Пасхавера. Про эту книгу ничего сказать пока не могу.

Книжные итоги 2022 года

Ну что ж, с наступающим. А тех, кто это прочтет 1 января (зачем-то), с наступившим. Для себя я итоги этого года подвел, но на всеобщий доступ это выкладывать не буду. Оставлю оттуда только список книг, которые прочитал в этом году. Так уж сложилось, что на свой сайт и вообще в соц. сети в этом году я писал в основном про книги и OutWiker. Но про OutWiker я лучше напишу, когда подготовлю следующий релиз, а вот про книги — пожалуйста. Я их отсортировал по темам, а не по порядку прочтения. К сожалению, в этом году прочитал только одну художественную книгу, а остальное все нон-фикшн и программерские книги. Ну и проставил субъективные оценки.

Читать далее ‘Книжные итоги 2022 года’ »

Метод ведения ежедневника Bullet Journal и книжка про него

Просматривая разные сообщества и блоги, посвященные способам ведения и хранения заметок, я несколько раз натыкался на упоминание термина «Bullet Journal». Чтобы разобраться, что это такое, с чем его едят и пригодится ли это мне, прочитал книжку, написанную автором этого метода Райдером Кэрроллом (его сайт на эту же тему — https://bulletjournal.com).

Прежде чем говорить про сам метод, надо разобраться со смыслом слов, входящих в его название. Слово «bullet» в данном случае не имеет никакого отношения к боеприпасам. Этим словом называют типографский символ, который печатается в начале каждого элемента списка. Это те самые кружки, тире, звездочки, галочки и т.п. символы в начале каждой строки ненумерованного списка.

Со словом «journal» интереснее. Сайт Lingvo предлагает для него несколько вариантов перевода, включая «дневник», «личный журнал (обычно тот, который ведут во время путешествия)», «бортовой журнал», «протокол». Заманчиво использовать слово «дневник», но это слово слишком многозначное. И, кстати, в англоязычной среде для слова «дневник» используется несколько терминов, включая journal и diary. Судя по тому, что в англонете мне попадались статьи на тему Journal vs Diary, там эти термины тоже путают. Но если почитать подробнее, то под словом diary там понимают дневник, который пишут ежедневно в свободной форме (то, что у нас любят называть саркастической фразой «дорогой дневничок»). Journal по сути — это сборник мыслей и идей. Ключевое отличие diary от journal заключается в том, что в diary важна привязка заметок к датам, а в journal — это вторично, не важно к какой дате вы отнесете пришедшую в голову мысль, главное, чтобы эта мысль где-то сохранилась.

Мне кажется, что для слово journal вполне подойдет наш аналог «ежедневник». Это более строгий термин, ассоциирующийся скорее с работой и деловой активностью. И применительно к Bullet Journal это очень близко к сути, хотя в этом методе во многих случаях привязка к датам играет важную роль, но есть типы заметок, которые не важно, когда вы создали.

Читать далее ‘Метод ведения ежедневника Bullet Journal и книжка про него’ »

Книга Ричарда Роудса «Создание атомной бомбы»

В свете последних событий, которые нельзя называть, месяц назад решил почитать книгу Ричарда Роудса «Создание атомной бомбы». Когда я ее заказывал через интернет, я не ожидал, что она будет иметь такую внушительную толщину, а когда только начинал ее читать, не ожидал, что я ее так быстро прочитаю. Книга написана в 1986 году, и в 1987 году автору за нее дали Пулитцеровскую премию.

Эта книга охватывает небольшой временной отрезок, начиная с самого конца XIX века, когда были открыты рентгеновские лучи, по сути положившие начало исследований атома, и заканчивая серединой 1950-х годов, когда были созданы водородные бомбы в США и в СССР. Она одновременно и об истории физики (и ее взаимодействии с химией), и о развитии средств массовых убийств, и о политике. Эта книга об ученых, которые одновременно создавали оружие, способное уничтожать целые города, и в то же время пытались не допустить его использования, борясь за открытость исследований во всем мире. Автор аккуратно и последовательно рассказывает историю появления и принципы действия оружия массового поражения, описывая физиологические подробности его воздействия на людей, страдания тех, кто попадал под газовые атаки Первой мировой и атомные бомбардировки во время Второй мировой войн.
Читать далее ‘Книга Ричарда Роудса «Создание атомной бомбы»’ »

Обзоры прочитанных книг

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

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

Книга Марка Хеклера «Spring Boot по-быстрому»

«Любой автор сам выбирает, что включать в издание, что не включать…
То, что одному автору кажется необязательным материалом,
другой считает совершенно необходимым»

Цитата из предисловия.

Привет всем! Как-то так сложилось, что в последнее время посты в этом блоге посвящены всего двум темам: книгам и OutWiker-у. В этот раз речь пойдет опять о программерской книге. Недавно в посте о книге Крейга Уоллса «Spring в действии» я писал, что на русском языке вышла еще одна книга про Spring — «Spring Boot по-быстрому» Марка Хеклера. Вот про нее сейчас и поговорим.

Честно говоря, книга оставила какое-то неоднозначное ощущение. Некоторые темы здесь описаны чуть более подробно, чем это сделано в книге «Spring в действии», но больше данная книга напоминает серию постов в блоге, когда автор рассказывает о возможностях фреймворка на конкретном примере с длинными листингами программ (зачастую слишком длинными), но при этом книгу нужно читать последовательно, потому что автор описывает рефакторинг одного и того же кода из главы в главу.

Подзаголовок книги «Создаем облачные приложения на Java и Kotlin» может в вести в заблуждение тем, что Kotlin, конечно, упоминается, говорится, что есть такой язык, есть даже один пример микросервиса, который написан на этом языке, но в целом концентрация Kotlin в общем содержании настолько мала, что ей можно пренебречь. В данном случае я бы сказал, что это скорее хорошо, что содержание не распыляется на два языка, и даже там, где Kotlin используется, это выглядит немного странно. Наверное, единственная цель этого примера — показать, что со Spring можно работать и на Kotlin, но уж точно это не стоило выносить на обложку книги.

Объем книги не такой большой, около 350 страниц, далее я коротко пробегусь по ее содержанию.

Читать далее ‘Книга Марка Хеклера «Spring Boot по-быстрому»’ »