Ещё раз обдумал заголовок, и осознал, что он просто жизнь мою описывает в данный момент.
Удивительно богат оказался декабрь на книги, причём на интересные книги, при общей интенсивности по другим направлениям. Половина из них о программировании и управлении процессами в разработке ПО. Остальное просто интересно. Художественная литература в этом месяце не просочилась.
Gene Kim, Jez Humble — «The DevOps Handbook»
++++
На самом деле я читал её 2 месяца, а то и больше. В декабре только закончил. Книга очень и очень полезная для всех заинтересованных в современных подходах к созданию программных продуктах. Особенно в современных трендах — микросервисы, agile, частые релизы. По концентрации знаний и пользы где-то на уровне Continuous Delivery, но более универсальна. Или Peopleware, но более техноориентированная.
А также будет полезна для тех, кто много слышал о DevOps, но пока не уверен, что понимает что это. И даже, может быть (или особенно), тем, у кого так должность называется.
В противовес водянисто-бестолковой «Философии DevOps» от O’Reily, данная книга на пальцах и примерах даёт ясное представление, что DevOps это не только (и не столько) Continuous Integration, сколько изменение менталитета и организационных процессов.
Nick Galbreath, VP of Engineering at Right Media: «… We found that having a separate group for testing, and even deployment, was simply too slow. We had to integrate all these functions into one group, with shared responsibilities and goals. Believe it or not, our biggest challenge was getting developers to overcome their fear of deploying their own code!»
There is an interesting irony here: Dev often complaints about Ops being afraid to deploy code. But in this case, when given the power to deploy their own code, developers became just as afraid to perform code deployments
Джоэл Спольски — «Джоэл о программировании»
++++
А эту книгу я ждал 2 месяца (не все книжные магазины одинаково оперативны), а прочитал на одном дыхании. Несмотря на то, что как и предыдущую, читал в бумажном представлении. Не новая книга, но в том и прелесть данного автора, что его идеи просты, основополагающи и потому практически не подвержены времени. Как у Листера с Демарко. Хотя стоит также признать, что половина интереса обеспечивается именно авторским стилем повествования — легко, весело, увлекательно. Редкое художественное-то чтиво так затягивает.
Слышал от коллег, что в отличие от «Джоэл: и снова о программировании», которая больше для менеджеров, данная часть слишком программисто-ориентирована. Но кроме пары статей о строках и кодировках, не заметил. Как нанимать людей, как и зачем писать спецификации (увлекательно, чёрт побери, писать), как проектировать и отслеживать прогресс. Да блин, эту книгу просто интересно почитать для отдыха и расслабления мозгов.
«Как дела, Джоэл? – спросил он меня. – Я слышал, у тебя какие-то проблемы с группой архитектуры приложений?»
«Нет! – сказал я. – Во всяком случае я сам с ними справляюсь».
«Можешь не продолжать, – сказал он, – я понял». И ушел. На следующий день до меня дошел слух: группа архитектуры приложений расформирована. Более того, все ее члены отправлены в разные подразделения Microsoft, как можно дальше друг от друга. Больше я о них не слышал.
Я, конечно, был потрясен. В Microsoft, если вы менеджер программы и работаете над стратегией макросов Excel, пусть даже находясь в компании меньше полугода, вы – БОГ стратегии макросов Excel, и никому, даже человеку номер 6, не позволено вам мешать. Точка. В этом заложен глубокий смысл. Во-первых, это заставляет каждого гораздо добросовестнее относиться к своей работе. Нельзя спрятаться за то, что «руководство одобрило мою спецификацию», потому что руководство не особенно пристально изучало твою спецификацию. Руководство сделало свое дело: наняло толковых людей и поставило перед ними задачу.
Принципы, паттерны и методики гибкой разработки на языке C#
+++
Несколько лет назад купленный на распродаже книжного он-лайн магазина за 1 рубль PDF-файл, который я случайно скинул на новый Kindle, в ходе чего была отрезана часть названия, которая «…на языке С#». О том, что это учебник по С# я понял только к середине книги, иначе едва ли даже взялся бы. Так как для продвинутых уже, к коим я пока себя отнести не могу. Но первые 7 глав достаточно универсальны и интересны. Не только сишникам и даже не только программистам (полезно будет менеджерам, тестерам и всем причастным).
А ещё в книге много интересных практических примеров о том, каким неочевидным на первый (и даже второй и третий) взгляд может быть правильный ООП-дизайн.
Отношение ЯВЛЯЕТСЯ – часть поведения. Так что же произошло? Почему разумная на первый взгляд модель, состоящая из классов Square и Rectangle, оказалась плохой? Разве квадрат – это не прямоугольник? Разве отношение ЯВЛЯЕТСЯ не имеет места? С точки зрения автора функции g – нет! Квадрат может быть прямоугольником, но с точки зрения функции g объект Square определенно не является объектом Rectangle. Почему? Потому, что поведение объекта Square несовместимо с предположениями о поведении объекта Rectangle. С точки зрения поведения Square не есть Rectangle, а именно поведение и интересует любую программу. Принцип подстановки Лисков ясно показывает, что в объектно-ориентированном проектировании отношение ЯВЛЯЕТСЯ относится к поведению, относительно которого клиенты могут строить разумные предположения.
Владимир Леви — «Разговор в письмах»
+++
Более всего Леви впечатляет тем, что он нашёл возможность написать столько книг. Причём хороших, понятных, полезных и интересных. При его интенсивной рабочей деятельности и интенсивной внерабочей помощи множеству людей по почте и лично.
Книга как раз о письмах. Своеобразный FAQ с большими подробными ответами, размышлениями и информацией к самостоятельном размышлению.
Не всё на сей раз воспринялось без внутренних возражений и противоречий. Возможно книга очень давно написана, возможно я отдаю предпочтение убеждениям, удобным для меня, но даже того что воспринялось.. Как Ксю метко заметила, трудно теперь отделаться от укоризненно смотрящего на меня Владимира Леви, когда я ем что-то «не полезное» во вредных сочетаниях, да сверх необходимого, при этом избегая физической нагрузки :)
Всякую еду да оплатят мускулы. Уточнение на случай, когда заплатить якобы нечем. По Природе всякая пища должна даваться физическими усилиями, особенно пища животная. Цивилизация лишила нас этой элементарной необходимости, нарушила естественную справедливость пищевой награды: пойти купить, съесть готовенькое — вот и все… Еда теперь оплачивается не мускулами, а нервами. А мы платим за это ожирениями, склерозами и множеством других форм пищевой зашлакованности. Старайтесь же не позволять себе есть, физически не поработав каким угодно образом.
Э. Юдковский — «Краткое руководство по интеллектуальным героям»
++++
NO COVER
Это тот самый автор мега-книги «Гарри Поттер и методы рационального мышления«, специалист по рациональному мышлению и искусственному интеллекту. При этом автодидакт (не имеющий соответствующего образования). И последний факт вдохновляет и склоняет к идеям.
Юдковского просто интересно читать, хотя некоторые вещи я стал понимать только разобравшись с теоремой Байеса (теория вероятности). В данной небольшой нарезке статей размышления на тему интеллекта персонажей и героев и анализ формирования оных в упомянутой выше книге.
О фрагменте из фильма «Хоббит»:
Сценарист думал, что это будет Драматичный Момент — оставить Бильбо в одиночку смотреть на стену. Но ценой этого Драматичного Момента стал выход фильма со странными эксцентричными созданиями, которые думают не так как мы с вами; так что Драматичный Момент ощущается дурацким, по крайней мере для меня.
Мы могли бы сказать, что у этих странных существ недостает определенного типа понимания. Сценарист хочет, чтобы мы кричали на киношного Торина «Нет! Глупец! Не делай этого!», но похоже что сценарист не понимает, что Торин тоже бы внутри кричал бы на себя, что Торин мог понять глупость творимого им на экране. У киношного Торина нет тихого голоса в голове, который кричал бы все это, какой есть у нас. Мы можем называть киношного Торина Голливудским Зомби, или г-зомби, если коротко.
Чарльз Уитни — «Голая статистика»
++++
Ещё один представитель категории «увлекательно и доходчиво о предмете». Причём, не просто, как научно-популярная пропаганда науки, а вполне последовательное изложение материала. То есть, как и в случае с «Социальной психологией» Чалдини, книгу можно использовать в качестве добротного вступительного учебника для погружения в предметную область, не опасаясь впадения в дрёму уже на второй странице. Даже наоборот, интерес к дальнейшему изучению генерируется.
Допустим, вы приходите в кабинет врача. С тех пор как вас выдвинули на руководящую должность, назначив главой Отдела борьбы за повышение качества североамериканских принтеров, вы чувствуете хроническую усталость. У вас берут кровь на анализ, и через пару дней ассистент врача отправляет вам на автоответчик сообщение о том, что некий показатель (назовем его условно HCb2) у вас в крови равняется 134. Вы быстро отправляете соответствующий поисковый запрос в интернет и выясняете, что величина HCb2 для людей вашего возраста составляет 122 (и медиана почти такая же). Черт побери! Случись нечто подобное со мной, я поспешил бы составить завещание — так, на всякий случай. Итак, вы пишете слезные письма родственникам, детям и близким друзьям. У вас возникает мысль прыгнуть напоследок с парашютом (ваша жизнь была так бедна на острые ощущения!) или попытаться как можно быстрее написать роман (а вдруг в вас скрывался недюжинный писательский талант?). У вас даже может появиться желание отправить по электронной почте письмо своему боссу, в котором вы сравните его с некой частью человеческого тела (и набрать весь текст письма ЗАГЛАВНЫМИ БУКВАМИ).
Между тем ничего этого вам, скорее всего, делать не следует (а идея с оскорбительным письмом боссу — глупая в любом случае). Когда вы повторно приходите к врачу, чтобы получить от него направление в хоспис, ассистент врача сообщает вам, что результаты вашего анализа крови находятся в пределах нормы. Как такое возможно? «Мой показатель HCb2 превышает среднее значение на целых 12 пунктов!» — недоумеваете вы.
«Среднеквадратическое отклонение для HCb2 равняется 18», — успокаивает вас ассистент врача.
Что все это значит?
(подсказка — расстояние в одно среднеквадратичное отклонение от среднего охватывает 65% выборки при нормальном распределении. Т.е. у 65% респонентов этот показатель в диапазоне от 104 до 140, а явным отклонением можно считать выход за два среднеквадратичных отклонения).
+++++
А ещё в декабре я дочитал «Вы конечно шутите, мистер Фейнман«, и если эта книга и не перебила первое место в годовом рейтинге у «Гарри Поттер и методы рационального мышления«, то сам Фейнман стал для меня человеком года. Я даже маме эту книгу подсунул, и она в восторге.