The long way through Software Craftsmanship

Books read in 2017Q4

Dec 31, 2017 - 8 minute read - Comments - bookreading2017Q4self-studycoduranceaprendicesreading-club

Read this quarter:

Note: re+read means I’m re-reading this book. The (+) stands for one-or-more times, as in the regexes.

  • Lazarillo de Tormes, el; anónimo; non-technical
  • Tom Clancy’s power plays - Politika; Preisler; own-it, non-technical
  • Moon is a harsh mistress, the; Heinlein; own-it, non-technical
  • Old man’s war; Scalzi; non-technical, own-it
  • Nightfall; Asimov, Silverberg; own-it, non-technical
  • Interface; Stephenson, George; non-technical, own-it
  • Man who sold the moon, the; Heinlein; own-it, non-technical
  • Agents of innocence; Ignatius; own-it, non-technical
  • Fist of god, the; Forsyth; own-it, non-technical: Synopsis: in a mixture of truth and novel, the author explains the invasion of Kuwait by Iraqi dictator Sadam Hussein. During that war, the development and destruction of some atomic bomb (‘the fist of god’), the spy games played by the Americans and Brits to infiltrate the government at the highest levels. Explains in laymen’s terms how the Israeli Mossad (‘the institute’) works, how the katsa (case officers) work, the sayan(im) (dormant agents) work. How deception is used to extract information from third parties and how that information is sometimes passed, hidden, retransmitted and share among governments, agencies, armies and to the general public. It is interesting to read this mixture of truth and reality, never knowing which is which but letting the imagination roam freely.
  • Avaro, el; Molière; own-it, non-technical
  • Bogleheads’ Guide to Investing, the; Larimore, Lindauer, LeBoeuf; own-it, non-technical, finance. Synopsis: this book explains, with plenty of supporting studies and investigation, why index investing is cheaper and more beneficial in the long term for the unsophisticated investor. The authors explain why being a passive investor (i.e., lazy portfolio) is more effective than active investing (i.e., actively managed portfolio), beating 80% of the money managers. How, for the average investor, the act of investing resembles the game of horseshoes (similar to petanque) more than darts. How it is good enough to approximate the market rather than trying to beat the market.
  • Lazyperson’s guide to investment; Farrell; own-it, non-technical, finance. Synopsis: this book explains in laymen’s terms what lazy portfolios are and how, in average, beat the returns by actively-managed portfolios. Details a few lazy portfolios, along with their respective past performances.
  • Millionaire next door, the; Stanley, Danko; own-it, non-technical, finance. Synopsis: a 1996 study of Accumulators of wealth (under, average, prodigious), detailing how American millionaires behave. The main conclusion is that PAWs are frugal, have a budget and know exactly how much it is spent in each category and live well below their means. There is plenty of categories where the authors explain how they behave. There is an important distinction between PAWs and affluent people. The latter acquire “signs of wealth” (e.g., expensive items) before being rich, the former do it after. The formula for expected accumulation of wealth is age * total yearly income / 10. example: age 45, income 25.000 -> expected wealth = 45 * 25000/10 = 112500
  • Little Book of Common Sense Investing; Bogle; own-it, non-technical, finance
  • Monje que vendió su Ferrari, el; Sharma; own-it, non-technical. Synopsis: explains the transformation of a successful lawyer, that goes to India to learn from the Sivana monks. Seven techniques, each with a corresponding symbol to represent it, to improve the everyday life
  • Siddhartha; Hesse; non-technical, own-it: Synopsis: explains the life of a contemporary of Buddha, altough the story is not really related to Gautama himself, but to the main character, Siddharta. From a well-off family, abandons his possessions to join a group of ascetics and becomes a samana (or sramana - https://en.wikipedia.org/wiki/%C5%9Arama%E1%B9%87a). After that, both the Siddharta and Govinda (his friend) leave the ascetics, Govinda to join Gautama and Siddharta to go on his path. The latter goes and finds a ferryman (Vasudeva) along the way, with whom creates a friendship. Goes to the city, where he pursues riches (with a merchant, Kamaswami) and pleasure (with a courtesan, Kamala). Still thirsty with an unquenchable thirst, he abandons his current life. On the way back, he finds the ferryman, who teaches him to listen to the river. They live together for a long time until Siddhartha’s son –a son he had with Kamala– makes an appearance. The son tests Siddhartha’s personality.
  • If you can: how millenials can get rich slowly; Bernstein; own-it, non-technical, finance

backlog (partially sorted):

  • unsorted V
  • The Machine That Changed the World: The Story of Lean Production
  • Haskell Programming
  • Software Architecture in Practice
  • The five disfunctions of a team: a leadership fable; Lencioni
  • Phoenix project, the ; Kim, Behr, Spafford
  • lucha por la desigualdad, la; Pontón; non-technical
  • psicología del dinero, la; Hammond; non-technical
  • Invirtiendo a largo plazo; García Paramés; non-technical
  • Well-Grounded Java Developer, the; own-it
  • Quién domina el mundo; Chomsky; non-technical
  • Learn You a Haskell for Great Good!; own-it
  • camino al 18J, el; Payne; non-technical
  • Cartas desde la revolución bolchevique; Sadoul; non-technical
  • Java Performance: The Definitive Guide
  • Why programmers work at night
  • Shogun: The Life of Tokugawa Ieyasu; Sadler; non-technical
  • Scrum and XP from the trenches, 2nd edition;
  • Els jueus i Catalunya; Villatoro; non-technical
  • El problema de los tres cuerpos; Liu; non-technical
  • Amazon Web Services in Action; own-it
  • Clojure Programming - Practical Lisp for the Java World
  • Mature optimization
  • XUnit Test Patterns
  • Let Over Lambda
  • The Haskell Road to Logic, Math and Programming
  • Types and Programming Languages
  • Fundamentals of Object-oriented Design in UML
  • Clojure for the brave and true
  • How to Solve It: A New Aspect of Mathematical Method
  • Conceptual Mathematics: A First Introduction to Categories
  • Understanding Computation: From Simple Machines to Impossible Programs
  • Programming in Haskell
  • Programming Languages: Application and Interpretation
  • Doing Math with Python
  • Perfect Software: And Other Illusions about Testing
  • Computability and Complexity - From a Programming Perspective
  • Thinking Forth: a language and philosophy for solving problems
  • Concepts, Techniques, and Models of Computer Programming
  • Bridging the Communication Gap; Adzic
  • Specification by Example; Adzic
  • Cucumber book, the; Adzic
  • Software Architecture for Developers; Brown
  • Object Design: Roles, Responsibilities, and Collaborations
  • RESTful Web APIs
  • RESTful Web Services Cookbook
  • Building Maintainable Software
  • Serverless - Patterns of Modern Application Design Using Microservices (Amazon Web Services Edition)
  • A Pattern Language; Alexander
  • Types and Programming Languages, TAPL; Pierce; own-it
  • Speed Reading Book: Read More, Learn More, Achieve More, the; Buzan
  • Cómo crear mapas mentales (Crecimiento personal); Buzan
  • First things first; Covey
  • What’s best next; Perman
  • problems of philosophy, the; Russell
  • Requiem for the American dream; Chomsky
  • sun also rises, the; Hemingway
  • travels, the; Polo; non-technical
  • Homo Deus: A Brief History of Tomorrow; Harari; non-technical
  • Books by Aristotle; non-technical
  • Books by Plato
  • Books by Descartes
  • The idea of culture; Eagleton
  • Hereditary Intelligence; Galton; non-technical
  • Lean Software Development: An Agile Toolkit; Poppendieck
  • Peopleware*; De Marco
  • Chaos Monkeys: Obscene Fortune and Random Failure; Garcia Martinez
  • Implementing Lean Software Development: From Concept to Cash; Poppendieck
  • Joel on Software; Spolsky
  • Death March; Yourdon
  • Psychology of Computer Programming, The; Weinberg
  • Introduction to General Systems Thinking; Weinberg
  • Lao Tzu : Tao Te Ching : A Book About the Way and the Power of the Way; Tzu, Le Guin; non-technical
  • Gay Science, the; Nietzsche; non-technical
  • Being Geek; Lopp
  • Finance for Freelancers; Retallick
  • Object-oriented software engineering: a use case driven approach; Jacobson
  • Patterns of Enterprise Application Architecture; Fowler; own-it
  • Thinking fast and slow; Kahneman
  • Emotional intelligence; Goleman
  • Ética a Nicómaco; Aristotle; own-it, non-technical
  • Romeo y Julieta; Shakespeare; non-technical
  • Computer Systems: A Programmer’s Perspective; Bryant, O’Hallaron
  • My Journey to Lhasa: The Classic Story of the Only Western Woman Who Succeeded in Entering the Forbidden City; David-Néel; non-technical
  • Cathedral and the bazaar, the ; Raymond
  • Coding dojo handbook, the; Bache; own-it
  • Making software; Oram and Wilson; own-it
  • Code complete; McConnell
  • Soft skills; Sonmez; own-it
  • DSLs in action; Ghosh; own-it
  • purely functional data structures; Okasaki; own-it
  • Working effectively with unit tests; Fields (+); own-it
  • First Nazi, the; Ludendorff
  • Greatest story ever told … so far; Krauss; non-technical
  • Master algorithm, the; Domingos; non-technical
  • Invention of Science, the; Wootton; non-technical
  • Tesla: Inventor of the electrical age; Bernard Carlson; non-technical
  • Psychology in minutes; Weeks; non-technical
  • Alan Turing: The Enigma; Hodges; non-technical
  • How to think more about sex; de Botton; non-technical
  • Piccolo manuale di persuasione; Taylor; non-technical
  • arte de la guerra, el; Sun Tzu; non-technical
  • Piccolo manuale di leadership Confuciana; Adair; non-technical
  • How to Stop Worrying and Start Living; Carnegie; non-technical
  • Uomo - Guida allo stile; Roetzel; non-technical
  • Unwritten Laws of Engineering: Revised and Updated Edition; King
  • Test-Driven JavaScript Development (Developer’s Library); Johansen
  • Test Driven Development: By Example; Beck
  • Arquitectura Java JPA Domain Driven Design; Alvárez, Peláez
  • End of loyalty, the; Wartzman; non-technical
  • Basic Economics; Sowell; non-technical
  • Introduction to Economic Analysis; McAfee; non-technical
  • Patterns of Software; Gabriel
  • Coders at work; Seibel
  • Clean architecture; Martin
  • How to Be a Stoic: Using Ancient Philosophy to Live a Modern Life; Pigliucci; non-technical

unfinished (unsorted):

  • Release It! - Design and Deploy Production-Ready Software; own-it
  • Refactoring (+); Fowler; own-it
  • The Leprechauns of Software Engineering; Bossavit (+); own-it
  • Domain-Driven Design: Tackling Complexity in the Heart of Software; Vernon (+); own-it
  • Pragmatic Thinking and Learning: Refactor Your Wetware; own-it
  • Functional Programming Patterns in Scala and Clojure; own-it
  • Readings in Database Systems, 5th Edition; own-it
  • Structure and Interpretation of Computer Programs (SICP); Abelson, Sussmann, Sussmann; own-it
  • La Sociedad De Coste Marginal Cero (Estado y Sociedad); Rifkin; non-technical
  • Odisea; Homero; non-technical

wip (3):

  • Working Effectively with Legacy Code (+); Feathers; own-it
  • Effective Java; Bloch; own-it
  • Nonviolent communication; Rosenberg; own-it, non-technical

done:

  • Senior software developer, the; Copeland; own-it
  • Scandal in Bohemia, a; Doyle; own-it
  • Getting things done, …; Allen (+); own-it
  • Nature of Software Development, the; Jeffries; own-it
  • Team Geek; Fitzpatrick, Collins-Sussman; own-it
  • Aprendo Yoga; Van Lysebeth; non-technical, own-it
  • Clean Coder: A Code of Conduct for Professional Programmers, the; Martin; own-it
  • ML for the working programmer, 2nd edition [5th chapter only]; Paulson; own-it

lists:

Self-Study in December 2017 Self-Study in January 2018