Книга Сида Мейера «Жизнь в мире компьютерных игр»

Всем привет! История IT-индустрии на протяжении последних 50 лет тесно связана с компьютерными играми. Хакеры (в первоначальном смысле этого слова) практически всегда пытались использовать доступные им вычислительные машины для развлечения. Поэтому изучая историю развития информационных технологий, игнорировать область гейминга будет не правильно. Я не могу назвать себя заядлым геймером, иногда пытаюсь во что-то поиграть, но обычно на долго меня игры не затягивают, но при этом я с интересом и ностальгией читаю про игры, которые выходили во времена, когда я был школьником или учился в институте. Одной из моих любимых игр тогда была Civilization II (после второй версии графика первой Цивилизации меня уже отпугивала, в третью играл совсем чуть-чуть, а последующие уже прошли мимо меня). Поэтому, когда я увидел, что Сид Мейер, автор той самой Цивилизации (и еще многих культовых игр), написал книгу, я ее не мог не купить. Об этой книге и пойдет речь в этом посте.

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

Читать далее ‘Книга Сида Мейера «Жизнь в мире компьютерных игр»’ »

Книга Станисласа Деана «Как мы учимся»

В прошлый раз я писал о книге Скотта Янга «Суперобучение», в которой хорошо структурированы советы по самостоятельному обучению. После этого я у меня на очереди на чтение стояла книга на близкую тему, но объясняющая, как происходит обучение на уровне «железа», то есть мозга. Именно про эту книгу, которую написал французский нейробиолог и доктор наук Станислас Деан, и пойдет речь в этом посте. Как вы уже поняли из заголовка, книга называется «Как мы учимся». Особенно мне понравилось второе название (кстати, как оно правильно называется с точки зрения издательского дела?): «Почему мозг учится лучше, чем любая машина… пока».

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

«Учиться — значит последовательно формировать как в искусственных, так и в естественных нейронных сетях внутреннюю модель внешнего мира.»

Главная проблема имеющихся алгоритмов обучения искусственных нейронных сетей (ИНС) по мнению автора заключается в нескольких вещах. Во-первых, эти алгоритмы очень не эффективны, они требуют огромного количества данных для обучения, в то время как естественный мозг может учиться на одном-двух примерах объектов, которые предъявлены человеку. И, во-вторых, имеющиеся в данный момент ИНС выполняют только лишь ту обработку данных, которую мозг выполняет в течение первых 200-300 миллисекунд, то есть то, что мы (или наш мозг) делаем бессознательно. По сути речь идет о распознавании, но самое интересное и сложное в происходит после этой стадии обработки входящей информации, и дальнейшая обработка происходит значительно медленнее. Именно дальнейшая обработка связана с обдумыванием распознанной информации и решением того, что с ней нужно делать дальше.

Читать далее ‘Книга Станисласа Деана «Как мы учимся»’ »

Книга Скотта Янга «Суперобучение»

Всем привет. В свете последних ужасных событий писать о программировании и книжках кажется не очень уместно и не особо нужно. Но, то ли к сожалению, то ли к счастью, человек ко всему привыкает, и за две недели с начала того процесса, который теперь нельзя называть под угрозой тюрьмы (а другими словами это называть не позволяет совесть), первоначальный шок уже сгладился, а злость, если и не рассосалась, то стала более привычным чувством. Пока есть такая возможность, буду продолжать делать то, от чего есть хоть какая-то польза.

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

В этом посте речь пойдет о книге Скотта Янга «Суперобучение», в которой автор описывает принципы, позволяющие более эффективно самостоятельно изучать новые для себя области, причем сделать это в короткие сроки. Здесь надо сразу сделать оговорку, что короткое время — не значит, что вы получите новые знания и навыки просто так без усилий. Как раз наоборот, книга посвящена тому, как сократить время обучения максимально (в разумных пределах), наращивая интенсивность.

Читать далее ‘Книга Скотта Янга «Суперобучение»’ »

С.И. Поварнин «Как читать книги»

В позапрошлом посте о книге Зонке Аренс «Как делать полезные заметки» я упомянул другую книгу, которую написал С И. Поварнин и называется она «Как читать книги». В комментариях попросили про нее рассказать поподробнее. Ну что ж, рассказываю :). Для этого я ее еще раз перечитал.

Сергей Иннокентьевич Поварнин (1870 — 1952) — философ и специалист по логике. Книгу, о которой в этом посте пойдет речь, он написал в 1924 году, но при этом у нее было огромное количество переизданий. Например, сейчас в интернет-магазинах можно купить издание 2019 года, в котором указано, что текст соответствует изданию 1962 года (уже после смерти автора). В интернете в основном лежат электронные версии книги на основе издания 1972 года, в основе которого лежит все тот же текст от 1962 года. Строго говоря, в выходных данных этого издания написано, что это даже не книга, а брошюра, потому что в ней всего около 80 страниц, но для определенности я ее все-таки буду называть книгой.

Такой почтенный возраст текста заметен при чтении благодаря характерной манере и словам, которые иногда используются. На самом деле эта книга рассчитана на школьников, поэтому стиль изложения местами поучительно-морализаторский. Скорее всего она писалась для учеников старших классов. Манера текста, конечно, сильно отличается от современных книг про обучение и образование. Если сейчас принято делать отсылки на психологические исследования, то в книге Поварнина встречаются умозрительные предложения и термины вроде «сила воли», «лень» и т.п., которые, как я понимаю, сейчас с точки зрения психологии считаются уже не корректными.

Читать далее ‘С.И. Поварнин «Как читать книги»’ »

Книга Зонке Аренс «Как делать полезные заметки»

Всем привет! Тема создания, хранения и использования заметок меня интересует давно, причем это касается как технической стороны (не зря же я много лет занимаюсь разработкой OutWiker), так и с организационной — как их лучше писать, чтобы от сделанных записей была хоть какая-то польза в будущем. Поэтому я не мог пройти мимо недавно вышедшей книги Зонке Аренс «Как делать полезные заметки. Эффективная система организации идей по методу Zettelkasten». Вот о ней и пойдет речь в этом посте.

В последнее время я часто встречал в интернете упоминание метода Zettelkasten для хранения заметок. Если вы про этот метод еще не слышали, то я коротко расскажу его суть. Название метода Zettelkasten (звучит как цеттелькастен) переводится с немецкого как картотечный ящик. Этот принцип ведения заметок и работы с ним использовал немецкий социолог Никлас Луман. Это был очень плодовитый ученый, который написал десятки книг в разных областях и сотни статей. В процессе своей работы и чтения книг он писал небольшие заметки на листах формата А6 и складывал их в шкаф с выдвижными ящичками (тот самый der Zettelkasten). Все карточки были пронумерованы, и на каждой карточке размещались ссылки на связанные по смыслу заметки на других карточках. У него не было разделения ящиков по темам, но он старался располагать заметки в определенной последовательности, чтобы они образовывали что-то вроде кластера по темам, но одна тема может плавно перетекать в другую и постепенно образовываться новые кластеры.

Читать далее ‘Книга Зонке Аренс «Как делать полезные заметки»’ »

Книга Скотта Оукса «Эффективный Java»

Всем привет! Я продолжаю прокачивать свои знания про Java, и чем больше я читаю про внутреннее устройство его виртуальной машины (JVM), тем больше проникаюсь уважением к этой технологии. Сегодня хочу рассказать про книжку Скотта Оукса «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше», которую дочитал на днях. Это уже второе издание книги, которая на русском языке вышла в 2021 году, а английская версия была написана в 2020 году, поэтому несмотря на то, что на обложке упоминается лишь Java 11 (с не очень убедительной припиской «и дальше»), книга достаточно актуальна. Просто на момент ее издания, долгоподдерживаемой версией (LTS) была Java 11, вышедшая в 2018 году.

Это очень подробная книга о том, что происходит «под капотом» среды выполнения Java, и как это можно использовать для написания более продуктивного кода. Или даже скорее о том, каких ситуаций лучше избегать. Это не учебник про язык Java, и кода там не так уж и много. В основном код здесь — это небольшие тестовые примеры, по которым измеряется производительность виртуальной машины в различных ситуациях и с различными настройками. Поскольку сейчас Java во многих случаях используется для написания серверных приложений, то и примеры часто делают упор на такое применение. Ничего про Java на Android в этой книге не сказано — там своя виртуальная машина Java, для которой надо писать свою отдельную книгу. В этой книге речь идет про виртуальную машину от Oracle и OpenJDK. Также надо сказать, что эта книга не про байт-код, который создается компилятором Java (хотя про него изредка речь заходила), а про то, как виртуальная машина и сборщики мусора работают в процессе выполнения приложения.

Коротко пробегусь по основным темам, которые затрагиваются в этой книге.

Читать далее ‘Книга Скотта Оукса «Эффективный Java»’ »

Книга Криса Ричардсона «Микросервисы»

Недавно прочитал книгу Криса Ричардсона «Микросервисы», о которой и хотел рассказать в этом посте. Это довольно объемная книга, в ней больше 500 страниц, и в оригинале она называется «Microservices Patterns with examples in Java», что более точно описывает содержание книги. В этой книге действительно упор сделан на типичные шаблоны проектирования при использовании микросервисной архитектуры. Основное содержание книги крутится вокруг выдуманной компании, которая разрабатывает сервис по доставки еды из ресторанов. У них уже есть написанное на Java монолитное приложение, и разработчики решили его разбить на микросервисы. В книге описываются, какие сложности при это могут возникнуть, как спроектировать взаимодействующую систему монолитов, и какие приемы для решения различных типичных проблем можно использовать.

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

Читать далее ‘Книга Криса Ричардсона «Микросервисы»’ »

Книга Дэвида Вуттона «Изобретение науки»

Наука — это изобретенное нами занятие, в котором действуют согласованные правила

Есть две категории книг, от которых меня надо держать подальше, потому что книжные полки дома внезапно оказываются не резиновыми — это книги про IT и про историю науки. Этим летом мне попалась монументальная книга Дэвида Вуттона «Изобретение науки», проигнорировать которую я не мог. И вот на днях я ее, наконец, дочитал. Это увесистая книга на 650 страниц, 130 из которых это только перечисление использованных источников.

Несмотря на свой значительный объем, она охватывает не такой большой по историческим меркам временной интервал. Если не считать множества отсылок к более древним философам и натурфилософам, то основной фокус сосредоточен на XVI — XVIII веках, когда по мнению автора сформировалась та наука, которую мы имеем до сих пор. Именно в это время были заложены и приняты научным сообществом основные исследовательские принципы, такие как проверка экспериментом, а не только доверие авторитетам и древним философам, доказательство теорий, в это же время формируется научный язык и научная этика. Здесь, правда, надо сделать уточнение, что в книге речь идет только о Европейской науке.

Читать далее ‘Книга Дэвида Вуттона «Изобретение науки»’ »

Про книгу «Kubernetes для DevOps»

В последнее время я решил разобраться с Kubernetes. Как правило, когда нужно изучить что-то новое, я предпочитаю это изучать по книгам, а не по разрозненным статьям в интернете. Чтобы понять, что такое Kubernetes и с чем его едят, купил книгу Джона Арундела и Джастина Домингуса «Kubernetes для DevOps». Когда заказывал эту книгу, то меня немного смущало это самое «для DevOps», я боялся, что там упор будет именно на практики DevOps с использованием Kubernetes, а не на сам Kubernetes (в оригинале книга называется «Cloud Native DevOps with Kubernetes. Building, Deploying, and Scaling Modern Applications in the Cloud»). К счастью, мои опасения не оправдались, и книга посвящена в первую очередь Kubernetes, а DevOps-у отведено место только в последней четверти книги.

Эта книга предназначена для тех, кто никогда до этого не запускал Kubernetes и не знает, с какой стороны к нему подступиться. В книге очень аккуратно описываются разные аспекты работы с Kubernetes на примере развертывания очень маленького веб-приложения на Go (буквально, Hello World, поэтому Go знать не обязательно). При этом желательно иметь представление, что такое Docker и как с ним работать, что такое Dockerfile, но и это все кратко, буквально самый минимум, рассказывается в начале книги.

Читать далее ‘Про книгу «Kubernetes для DevOps»’ »

Про цикл книг Дэна Симмонса «Песни Гипериона»

Я редко пишу про художественные книги, но тут не удержался. В моем списке для чтения книги Дэна Симмонса про Гиперион (этот цикл часто называют «Песни Гипериона») висели с давних времен. Несколько раз мне попадались упоминания этого цикла на просторах интернета при обсуждении фантастических книг. И вот, наконец-то, я это все прочитал. На неспешное чтение всех четырех книг: «Гиперион», «Падение Гипериона», «Эндимион», «Восход Эндимиона» у меня ушло три месяца. Если сравнивать этот цикл с другими произведениями, то в первую очередь на ум приходит «Дюна» Френка Герберта, хотя по сюжету и общему антуражу эти книги мало похожи. Общее у них — масштаб происходящих событий и политическая борьба на разных уровнях.

Твердой научной фантастикой серию про Гиперион я бы не назвал, в основном ее называют космооперой. Наверное это неплохое определение, хотя лично у меня со словом «космоопера» ассоциируется всякие низкокачественные произведения, к чему серия про Гиперион точно не относится.

В первых двух книгах описывается будущее XXIX-го века (по нашему летоисчислению), сюжет третьей и четвертой книг начинается примерно через 300 лет (через 274 года, если быть точным) после событий, описанных в первых двух томах. Тут вам и множество рас: люди и так называемые Бродяги (по сути люди, но которые стали модифицировать себя для жизни в космосе вместо того, чтобы терраформировать планеты), искусственный интеллект (ИскИны), андроиды. И главное — самый загадочный персонаж всех книг — Шрайк (кто-то его считает богом и ему поклоняется, кто-то считает его машиной-убийцей a la Терминатор и пытается его уничтожить). У людей и ИскИнов внутри своего сообщества есть отдельные кланы, которые конкурируют за влияние и проталкивают свои интересы. Отношения людей с ИскИнами тоже сложные: благодаря ИскИнам были созданы порталы, которые позволяли людям перемещаться в пространстве мгновенно, но при этом люди не понимали, как эти порталы работают, а у ИскИнов на порталы были свои планы. Но это я уже чуть не начал спойлерить.

Читать далее ‘Про цикл книг Дэна Симмонса «Песни Гипериона»’ »