Книжный куб
11.1K subscribers
2.66K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Роботы наступают. Развитие технологий и будущее без работы (Rise of the Robots: Technology and the Threat of a Jobless Future)

Года три назад я прочитал книгу "Rise of the Robots" ("Роботы наступают") авторства Мартина Форда, изданную на английском в далеком 2015 году. Книга посвящена развитию технологий и как это развитие приводит к более неравномерному распределению доходов между бедными и богатыми. Также в книге автор поднимает вопрос смещения баланса итогового результата экономической деятельности в сторону владельцев капитала, а не трудовых ресурсов. А также интересны мысли относительно поляризации рынка труда, на котором остаются рабочие места верхнего уровня и те, которые пока не выгодно автоматизировать:)

Книга мне показалась интересной, поэтому я решил с небольшим опозданием оформить свои мысли в виде небольшой статьи с обзором книги:)

#Robotics #DataScience #Dystopia #ML #Management #Philosophy #ExternalReview
🔥4👍1
Data Science

Когда я куда-то лечу, то предпочитаю делать это с книгой:) В итоге, на вчерашний перелет из Еревана в Москву я выбрал лайтовую книгу по Data Science от John D. Kelleher и Brendan Tierne, изданную в серии "The MIT Press Essential Knowledge Series". Я выбрал эту книгу за ее формат pocket book, интересную тему и очень простой и понятный язык, с помощью которого авторы раскрывают эту сложную тему. В итоге, я решил написать кртакое саммари, так как в один пост в tg текст не поместился.

#DataScience #ML #ExternalReview #AI #PopularScience
👍73🔥2
Фильмы "Moneyball" и "Minority Report"

Эти два фильма упоминались в книге "Data Science", про которую я рассказывал вчера. Причем упоминания были в диаметрально противиположной тональности.
Первый фильм, "Moneyball" или на русском "Человек, который изменил всё", показывает как может выглядеть успешный data science проект. В нем менеджер-визионер пытается сделать из аутсайдеров чемпионов. У него не хватает бюджета на покупку крутых игроков, поэтому он придумывает как оценивать игроков более точно и дальше находит недооцененных игроков, из которых делает почти чемпионскую команду. В этом фильме помимо data science можно посмотреть еще на то, как работает групповая динамика и хороший тренер:)
Второй фильм, "Minority Report" или на русском "Особое мнение", показывает будущее, в котором есть предиктивное предсказание преступлений. В итоге, полиция переходит от реактивной работы с преступлениями к проактивной. Система получает все большее распространение и кажется идеальной. Но в какой-то момент подозреваемым становится руководитель преступного отдела ... И дальше мы видим как разворачивается самосбывающееся пророчество. В книге "Data Science" поднимаются как раз эти вопросы про то, как предсказание ml-алгоритмов приводит к их реализации. И там тоже приводятся примеры предсказания криминогенных районов, куда отправляются дежурить больше полицейских, а также потенциальных подозреваемых, которых тоже чаще арестовывают:) Кстати, фильм "Особое мнение" снят по произведению Филиппа Киндреда Дика, про которого я рассказывал чуть раньше и у которого внушительный список экранизаций.

#Movie #SciFi #DataScience #ML #PopularScience
👍9🔥7
Желейчики на стройке (Zeloglutki na placu budowy)

Это интересная книжка для малыша лет трех, например, моему два с половиной года она понравилась. В ней главными героями являются маленькие крохи из мармелада, которыее затеяли большую стройку. И хоть главне герои придуманные, а строительная техника - настоящая. Также на страничках представлены инструменты и защитная одежка. Книжка сделана в прикольном формате, который я уловил только когда из нее выпали пара листов. Оказалось, что это такая концепция с отдельными листами-карточками, из которых можно самостоятельно собрать стройку размером с 4x4 отдельных листа (получается огромный виммельбух). На обратной стороне каждого листа приведены рисунки с объяснениями новых слов, а также интересные задания. Плюс отдельно отмечу толщину каждого такого листа - малыш не сможет их помять или сломать, что иногда случается с детскими книгами.
В общем, я рекомендую эту книгу, которую издал МИФ.

#ForKids
7👍5
Маркс (Marx)

Эта графическая биография Карла Маркса написана в очень прикольном стиле:
- Все начинается с того, что Карл в красном плаще в образе супермена рассказывает о том, что он хотел уничтожить капитализм. Уничтожить его, чтобы освободить человество от нищеты, неравенства, эксплуатации, безработицы. Его решением была революция... Собственно, в этой книге Анна Симон и Коринн Майер при помощи интересной рисовки и большого количества иронии рассказывают про биографию Карла, начиная с рождения в 1818 году и заканчивая смертию в 1883. Причем это не обычная историческая скукота, а настоящий роман про любовь и предательство, про смерть и новую жизнь, про философские размышления, и, конечно, про революцию!
Интересно, что сам Карл Маркс был теоретиком революции, который только писал концепции, издавал газеты, писал статьи на заказ и никогда не работал, а жил на периодически получаемые наследства в Англии, так как в континентальной Европе он стал персоной нон-грата за свое литературное творчество. В комиксе можно встретить канонические фразы, которые были популярны в СССР
- Религия опиум для народа
- Буржуазия произвела революцию в экономике
- Буржуазная промышленная революция - первый шаг навстречу коммунизму
- Коммунизм - это движение к свободе
- Ради выгоды рабочие подвергаются эксплуатации

#Comics #Economics
👍75🔥2
Visualizing Performance - The Developers’ Guide to Flame Graphs • Brendan Gregg • YOW! 2022

Интересный доклад про визуализацию производительности при помощи Flame graphs от Brendan Gregg, который их когда-то и придумал. Помимо этого он придумал еще и USE методологию (utilization, saturation и errors). Конкретно в этом докладе Грегг рассказывает про
1. Какие существуют реализации flame graphs
2. Как работают flame graphs для профилирования использования CPU и как он дошел до их изобретения (spoiler: через flame charts)
3. Какие были проблемы со стеками и символами - тут Грегг делится тем, что пришлось доделывать в gcc, java, jit symbols, чтобы стеки в профилировщике работали правильно
4. Куда еще можно вкрутить flame graphs для улучшения визуализации - например, page faults, disk i/o requests, tcp events, cpu cache misses, ...
А еще чем так хорош eBPF для отслеживания проивзодительности:)

В общем, это полезный доклад, даже если вам не часто приходиться заниматься оптимизацией проивзодительности приложения:)

P.S.
А еще у Грегга есть крутая книга "Systems Performance (Addison-Wesley Professional Computing Series) 2nd Edition", но я ее пока не читал:)

#Performance #Software #SoftwareDevelopment #SystemDesign
👍8🔥41
Одиссея (L'Odyssee)

Кто не читал в детстве истории про Древнюю Грецию, богов и героев?
Например, я помню как малышом читал книги с подвигами Геракла, странствиями Одиссея, походом аргонавтов за Золотым Руном.

Поддавшись ностальгии, я купил этот комикс и не пожалел. В нем представлена адаптация истории, рассказанной Гомером, про легендартного царя Итаки, Одиссея. Кратко история такова:
- Троянская война заканчивается инсталляцией коня, которую придумал Одиссей
- Но конь оказывается с подвохом, что приводит к падению Трои, а Одиссей отправляется в 10 летнее турне домой
- На своем пути он встречает циклопа Полифе́ма, полубога Эола, волшебницу Кирку, чудовищ Харибду и Скиллу, нимфу Калипсо, ...
- Но все же с помощью богов он проходит через все и добирается домой
- Дома его ждет только жена, а остальные уже давно пытаюся стать новыми царями через свадьбу с Пенелопой
- Одиссей проводит своеобразный leader election и разбирается со всеми кандидатами в цари Итаки путем их физического устранения
- По-факту, все заканчивается happy end, правда, только для Одиссея, так как никто больше из его людей не добрался домой.

#Comics #History
👍125🔥1
Software Engineering at Google • Titus Winters & Matt Kulukundis • GOTO 2022

Классное интервью Titus Winters, сокуратора книги "Software Engineering at Google" с Matt Kulukundis в рамках книжного клуба конференции goto. У меня эта книга находится в очереди на прочтение, причем почти на первом месте.

Если возвращаться к интервью, то ребята обсуждают следующие крутые вопросы
- Build systems - про важность build system для повышения продуктивности разработки
- Build systems dependencies - про зависимости при сборке и зачем ей быть герметичной и повторяемой
- What is Google trying to improve in engineering? - про DORA (DevOps Research and Assessment) и необходимость техническим руководителям ставить цели по улучшению CD внутри их проектов (но часто технические руководители мало работают руками, поэтому не видят косяки в пайплайне работы с кодом их команд и доставкой их на продакшен)
- Cheat sheet for building great teams - про важность культуры, где все вовлечены и по доброму относятся друг к другу. Подробнее есть в проекте Аристотель
- Where can Google improve on from a culture’s perspective? - про главы в книге, которые посвящены лидерству, например, про важность задавать "простые" вопросы, чтобы все люди понимали в чем суть обсуждения
- How to grow as a software developer? - про принятие решений и право на ошибку, именено так люди растут - принимая решения и ответственность за них. Но тут важно, чтобы в команде была правильная культура и psychological safety, основной фактор успешной команды из упоминавшегося выше проекта Аристотель
- What chapter is missing entirely in the book? - тут упоминались три потенциальные главы, что в итоге не попали в книгу
-- про app фреймворки, которые помогают писать код, абстрагируясь от сложности деталей и использую DI (dependency inversion)
-- про работу с issues (тут авторы честно сказали, что у них просто не было идей что тут можно рассказать интересного, но возможно, кто-то могу раскрыть эту тему с философской точки зрения, ... но видимо не в Google)
-- про design, но это тема отдельной книги
- What decisions are hard to undo? - про интерфейсы, версионирование и форматы сериализации:)
- Book recommendations - на протяжении выступления были рекомендации книг, как научных, так и фантастических:
-- Titus Winters, Tom Manshreck & Hyrum Wright • Software Engineering at Google
-- Forsgren, Humble & Kim • Accelerate: The Science of Lean Software and DevOps
-- George Fairbanks • Just Enough Software Architecture
--Fred Brooks Jr. • The Mythical Man-Month
-- Kim Scott • Just Work
-- Douglas R. Hofstadter • Gödel, Escher, Bach
-- Douglas R. Hofstadter • I Am a Strange Loop
-- Alasdair MacIntyre • After Virtue
-- N. K. Jemisin • The Fifth Season
-- Becky Chambers • Wayfarers Series
-- Ken Liu • The Dandelion Dynasty
-- David Farley • Modern Software Engineering
-- Martin Kleppmann • Designing Data-Intensive Applications
-- Zhamak Dehghani • Data Mesh

#Engineering #SystemDesign #Management #Leadership #Software #SoftwareDevelopment
👍93🔥3
Platform Engineering on Kubernetes • Mauricio Salatino & Thomas Vitale • GOTO 2023

Интересное интервью с Mauricio Salatino, автором книги "Platform Engineering on Kubernetes" в котором обсуждаются следующие темы

- Open-Source: The gateway to continuous learning in software engineering - как автор книги занялся open source проектами и как это ему помогло стать лучше с точки зрения software engineering
- Mastering the Cloud-Native ecosystem: Insights from a Kubernetes expert - про то, как появилась идея книги + как сложно собрать набор cloud-native проектов, для решения реальных задач (и как автор выбрал набор таких проектов, а потом менял их по мере изменения CNCF ландшафта)
- Navigating the Cloud-Native maze: A developer's guide to tools & ecosystem - тут автор рассказывает как ориентироваться в этом ландшафте и как разные части этого ландшафта стыкуются друг с другом
- Streamlining Cloud-Native deployment: tools, techniques & infrastructure - рассказ про структуру книги: деплой приложения, билдинг артефактов, изменения инфры под кластером, ... И так он приходит к концепции платформы поверх K8s
- Simplify & scale: Leveraging Knative for containerized application deployment - обсуждение части книги про Knative в разрезе более простого релиза приложений без погружения в модель K8s. Рассказ про a/b тестирование и feature flags
- Dapr: Empowering developers & simplifying infrastructure - обсуждение Dapr (distributed application runtime)
- Unveiling capabilities: Delivering functionality stealthily without tool exposure - как предоставить capabilities так, чтобы это было в форме абстракций, а не конкретных инструментов (knative, dapr, ...). Тут идет речь про platform API, которые предоставляют API более высокого уровня абстракции, чем просто голый K8s и прикрученные сбоку проекты из CNCF ландшафта. Это основная содержательная часть интервью
- Kubernetes: Is it a boon or bane for your organization? - как организации начинат использовать Kubernetes и как они приходят к platform engineering
- Developer experience: Tools should be enablers, not blockers - сложно добавить что-то к заголовку:)

P.S.
Расшифровка интервью доступна здесь.

#SoftwareDevelopment #Kubernetes #DistributedSystems #PlatformEngineering #Software #Architecture #SoftwareArchitecture
👍4🔥21
Code of Architecture - Kubernetes Patterns, 2nd Edition

В голосовании на выбор новой книги победило второе издание "Kubenetes Patterns", что вышло в марте 2023. В ближайшее время мы начнем ее читать и планируем управиться за три-четыре выпуска. Если вам интересна эта тема, то для вас есть пара ресурсов, что могут быть полезны
- Бесплатная версия ebook от RedHat доступна здесь
- Мой обзор первого издания книги есть в статье. Во втором издании добавилась часть про security patterns и была сильно отредактирована часть про advanced patterns (про elastic scale и image builder)
- Поверх Kubernetes стали строиться платформы и про эту концепцию можно посмотреть интервью Mauricio Salatino, автора книги "Platform Engineering on Kubernetes", про которое я писал раньше

#Kubernetes #SoftwareArchitecture #Software #Architecture #Patterns #DIstributedSystems
👍8🔥53
Жанна Д'Арк (Ils ont fait l'histoire: Jeanne d'Arc)

Интересная история в картинках про Орлеанскую деву, которая помогла Карлу VII стать королем. А вот Карл VII не стал ей помогать избежать суда и сожжения на костре, правд, потом постфактум провел повторный суд и снял с нее обвинения в колдовстве и реабилитировал. А так в этой книге есть вся каноническая история:
- как голоса говорили с ней и отправяли спасти короля и Францию
- как она смогла пробиться на встречу к дофину (будущему королю)
- как она за год смогла перевернуть ход столетней войны
- как она попала в плен и была передана англичанам
- как англичане сожгли ее на костре как ведьму
Интересно, что реабилитировали ее в середине 15 века, а канонизировали и причислили к лику святых только в начале 20 века.

Иллюстрации сделаны качественно, история рассказана динамично - читать комикс было интересно.

#Comics #Biography #History
🔥5👍21
Тестирование черного ящика (Black-Box Testing: Techniques for Functional Testing of Software and Systems)

Эту книгу доктора Бориса Бейзера я прочитал чуть меньше 20 лет назад и уже тогда понял, что тестирование - это дело непростое:) Автор рассказывал в этой книге об этом, привлекая теорию графов, активно используя предикатную логику и логику высказываний, активно апеллируя к потокам выполнения и потокам данных. В общем, этот подход к функциональному тестированию показался мне сильно сложнее, чем обычно использовался и используется на практике:) Кроме того, автор решил тестировать при помощи black box форму для налоговой декларации в США, которая в 1995 году, когда вышла английская версия книги, не отличалась стройностью и логичностью (прямо скажем она выглядела как безумное наслоение "так исторически сложилось"). В итоге, книга сейчас полезна как подставка под чашку с кофе или как напоминание почему крутых тестировщиков я называю quality assurance engineer:)

Ниже представлены главы книги, чтобы вы могли сами оценить насколько она практичная и понятная
0. Readme.doc (описание книги и mindmap со связью глав между собой)
1. Введение (стратегии тестирования, роли тестировщика и программиста, процессы разработки софта)
2. Графы и отношения (теория графов и как ее использовать для тестирования)
3. Тестирование потока управления (уже тут появляются предикаты и поток исполнения программы в виде графа, как выбирать пути тестирования)
4. Тестирование циклов (какие циклы бывают: детерминированные и нет, вложенные и с использованием goto, как выбирать тестовые значения)
5. Тестирование потоков данных (обсуждение похоже на тестирование потока управления)
6. Тестирование потоков транзакций (тут появляются марковские цепи, а также очереди и иерархические модели, модели синхронизации и т.д.)
7. Тестирование доменов (тут появляются кусочки матана для тестирования предельных значений численных доменов, эпсилон-окрестности и т;д.)
8. Синтаксическое тестирование (тут нам надо знать основы теории и реализации языков программирования, ну или хотя бы про грамматику Бэкуса-Наура и ее использование в тестировании)
9. Тестирование систем с конечным числом состояний (тут надо знать про конечные автоматы, как их можно визуализировать в таблице переходов и как это использовать для тестирования)
10. Инструментальные средства и автоматизация (их не было особо 30 лет назад)

В общем, сняв сегодня эту книгу с полки и пролистав, я понял, что меня смущало в ней - я и 20 лет назад не уловил целевую аудиторию книги. По-факту, прочитать, понять и использовать эти подходы может только человек с очень хорошим бэкграундом в computer science. А такой человек скорее всего отправится писать production код, а не заниматься написанием функциональными тестами с использованием black box.

#QualityAssurance #Software #SoftwareDevelopment
👍5🔥31