Archives 2024 Blog: Self-Study in September 2024 Sep 1 2024 Articles: Building private tools in the open Aug 31 2024 Blog: Self-Study in August 2024 Aug 1 2024 Blog: Python 3 Boilerplate for Non-Productive environments (e.g., Kata, Study) Jul 28 2024 Blog: Self-Study in July 2024 Jul 1 2024 Blog: Self-Study in June 2024 Jun 1 2024 Blog: Self-Study in May 2024 May 1 2024 Blog: Self-Study in April 2024 Apr 1 2023 Blog: Self-Study in September 2023 Sep 1 2023 Blog: Self-Study in August 2023 Aug 1 2023 Articles: The Threading Macro (clojure) equivalent in Python Jul 22 2023 Blog: Self-Study in May 2023 May 1 2023 Blog: Live test from the MMA Apr 15 2023 Blog: Self-Study in March 2023 Mar 1 2023 Blog: Self-Study in February 2023 Feb 1 2023 Blog: Self-Study in January 2023 Jan 1 2022 Blog: Self-Study in December 2022 Dec 1 2022 Blog: Self-Study in November 2022 Nov 1 2022 Blog: Self-Study in October 2022 Oct 1 2022 Blog: Self-Study in September 2022 Sep 1 2022 Blog: Self-Study in August 2022 Aug 1 2022 Blog: Self-Study in July 2022 Jul 1 2022 Blog: Connecting from Python to C, using Cython Jun 18 2022 Blog: Self-Study in June 2022 Jun 1 2022 Blog: Self-Study in May 2022 May 1 2022 Blog: Self-Study in April 2022 Apr 1 2022 Blog: Self-Study in March 2022 Mar 1 2021 Articles: The value of worthless projects Sep 11 2021 Articles: Using a Native C Library in Android May 2 2021 Blog: Live test from the MMA Apr 10 2021 Blog: Self-Study in January 2021 Jan 1 2020 Blog: Books read in 2020Q4 Dec 30 2020 Blog: Books read in 2020Q3 Sep 30 2020 Blog: Books read in 2020Q2 Jun 30 2020 Blog: Live test from the MMA Apr 4 2020 Blog: Books read in 2020Q1 Mar 31 2020 Blog: Self-Study in February 2020 Feb 1 2019 Blog: Books read in 2019Q4 Dec 30 2019 Articles: On private but leaked information in a SaaS Nov 4 2019 Blog: Books read in 2019Q3 Sep 30 2019 Blog: Self-Study in September 2019 Sep 1 2019 Blog: Self-Study in August 2019 Aug 1 2019 Blog: Self-Study in July 2019 Jul 1 2019 Blog: Books read in 2019Q2 Jun 30 2019 Blog: Self-Study in June 2019 Jun 1 2019 Blog: In Defense of Tooling May 30 2019 Articles: Automatically keeping the intermediate history of your work using git May 29 2019 Blog: Self-Study in May 2019 May 1 2019 Blog: Self-Study in April 2019 Apr 1 2019 Blog: Books read in 2019Q1 Mar 31 2019 Blog: Self-Study in March 2019 Mar 1 2019 Blog: Refactoring: split loop + loop/map equivalence Feb 6 2019 Blog: Self-Study in February 2019 Feb 1 2019 Blog: Self-Study in January 2019 Jan 1 2018 Blog: Books read in 2018Q4 Dec 31 2018 Blog: Self-Study in December 2018 Dec 1 2018 Blog: Books read in 2018Q3 Sep 30 2018 Articles: Writing safe(r) bash scripts Jul 13 2018 Articles: Questioning the existing choices Jul 4 2018 Blog: Self-Study in July 2018 Jul 1 2018 Blog: Books read in 2018Q2 Jun 30 2018 Blog: Testing a component that includes randomness Jun 15 2018 Blog: Self-Study in June 2018 Jun 1 2018 Blog: Self-Study in May 2018 May 1 2018 Blog: Self-Study in April 2018 Apr 1 2018 Blog: Books read in 2018Q1 Mar 31 2018 Blog: Self-Study in March 2018 Mar 1 2018 Blog: Self-Study in February 2018 Feb 1 2018 Blog: Self-Study in January 2018 Jan 1 2017 Blog: Books read in 2017Q4 Dec 31 2017 Blog: Self-Study in December 2017 Dec 1 2017 Blog: Self-Study in November 2017 Nov 1 2017 Blog: Self-Study in October 2017 Oct 1 2017 Blog: Books read in 2017Q3 Sep 30 2017 Blog: Self-Study in September 2017 Sep 1 2017 Blog: Finding all pending work in progress (WIP) in your workspace Aug 7 2017 Blog: Self-Study in August 2017 Aug 1 2017 Blog: The Nature of Software Development: Part I Jul 9 2017 Blog: The Search for Value (a quote) Jul 9 2017 Blog: Self-Study in July 2017 Jul 1 2017 Blog: Books read in 2017Q2 Jun 30 2017 Blog: Self-Study in June 2017 Jun 1 2017 Blog: The Senior Software Engineer, Chapter 9 May 28 2017 Blog: The Senior Software Engineer, Chapter 8 May 28 2017 Blog: The Senior Software Engineer, Chapter 7 May 24 2017 Blog: The Senior Software Engineer, Chapter 6 May 23 2017 Blog: The Senior Software Engineer, Chapter 5 May 23 2017 Blog: The Senior Software Engineer, Chapter 3 May 13 2017 Blog: Notes from the Agile Barcelona Open Space May 7 2017 Blog: Self-Study in May 2017 May 1 2017 Blog: Self-Study in April 2017 Apr 1 2017 Blog: Books read in 2017Q1 Mar 31 2017 Blog: On the Make, Buy or Rent decision: Stateful vs Stateless components Mar 16 2017 Blog: Modifying titles in a Trello Board Mar 16 2017 Blog: Convert a project from npm to yarn Mar 3 2017 Blog: Self-Study in March 2017 Mar 1 2017 Blog: Comparing options for parametrized testing in javascript Feb 26 2017 Blog: Self-Study in February 2017 Feb 1 2017 Blog: Self-Study in January 2017 Jan 1 2016 Blog: Books read in 2016Q4 Dec 31 2016 Blog: A common misunderstanding about `reduce` Dec 14 2016 Blog: Self-Study in December 2016 Dec 1 2016 Blog: Self-Study in November 2016 Nov 1 2016 Articles: Support for out of hours on-call support Oct 5 2016 Blog: Self-Study in October 2016 Oct 1 2016 Blog: Books read in 2016Q3 Sep 30 2016 Articles: Refactoring functional code Sep 28 2016 Blog: Self-Study in September 2016 Sep 1 2016 Blog: Self-Study in August 2016 Aug 1 2016 Blog: AWS Kinesis Zombieland Jul 28 2016 Blog: Self-Study in July 2016 Jul 4 2016 Blog: Books read in 2016Q2 Jun 30 2016 Blog: Stability terms from "Release it!", a quote Jun 26 2016 Blog: The role of a software consultant Jun 10 2016 Blog: Unwritten principles for coaching, a quote Jun 10 2016 Blog: Self-Study in June 2016 Jun 1 2016 Blog: Self-Study in May 2016 May 1 2016 Blog: Quote: Characterization tests Apr 18 2016 Blog: Brownish Greenfield Gilded Rose Kata Apr 18 2016 Blog: Faster site generation with a native Octopress 2 Apr 17 2016 Blog: Self-Study in April 2016 Apr 1 2016 Blog: Books read in 2016Q1 Mar 31 2016 Blog: Self-Study in March 2016 Mar 2 2016 Blog: Tip: using tortoise credentials in git CLI Mar 2 2016 Blog: Kata formulation: Find the comments Mar 1 2016 Blog: Two persons involved in a git commit, in github Feb 14 2016 Blog: Self-Study in February 2016 Feb 1 2016 Blog: Self-Study in January 2016 Jan 1 2015 Blog: Books read in 2015Q4 Dec 31 2015 Blog: Validating CSV data in clojure Dec 15 2015 Blog: Clojure and the macro and Dec 8 2015 Blog: Tip: automate the blog publishing Dec 2 2015 Blog: Self-Study in December 2015 Dec 2 2015 Blog: Functional Implementation Patterns Nov 2 2015 Blog: Self-Study in November 2015 Nov 2 2015 Blog: Tip: calling all methods in an Object in Ruby Oct 12 2015 Blog: Tool: Building a local pipeline Oct 10 2015 Blog: Java Tips & Gotchas Oct 7 2015 Blog: Tip: Differences in maven test execution Oct 5 2015 Blog: Tip: Propagate the failure in bash Oct 2 2015 Blog: Self-Study in October 2015 Oct 1 2015 Blog: Books read in 2015Q3 Sep 30 2015 Blog: Brown Bag Session: Clojure's Data and Code Sep 23 2015 Blog: Navigating the GitHub repositories Sep 8 2015 Blog: A basic working environment Sep 8 2015 Blog: Brown-bag session: eXtreme Programming Sep 2 2015 Blog: Self-Study in September 2015 Sep 1 2015 Blog: Coding dojo: Palindromes Aug 19 2015 Blog: Coding dojo: Goldbach Conjecture Aug 17 2015 Blog: Searching on a suite of failing tests Aug 13 2015 Blog: Brown-bag session: Spring Boot Aug 12 2015 Blog: The Animal Laborans and the Homo Faber Aug 10 2015 Blog: The language was prepared for that Aug 10 2015 Blog: Recognizing dependencies Aug 8 2015 Blog: Multiple return values in a Mockito Stub Aug 7 2015 Blog: Brown-bag session and Dojo: Beginning Clojure Aug 5 2015 Blog: Resources for Java 9 (beta) Aug 3 2015 Blog: Self-Study in August 2015 Aug 2 2015 Blog: Packing your own maven dependencies Jul 30 2015 Blog: Tool to Find Duplicate values in Constants Jul 30 2015 Blog: Tip: Use the same Import Order in IntelliJ IDEA as Eclipse's Jul 30 2015 Blog: Exploring Testing with Java 8 Lambdas Jul 30 2015 Blog: Craftsmanship analogy Jul 27 2015 Blog: Practical Object-Oriented Design in Ruby: Chapter 4 Jul 26 2015 Blog: Faster site generation for Octopress 2 Jul 13 2015 Blog: What defines a dependency Jul 13 2015 Blog: Object Peer Stereotypes Jul 13 2015 Blog: Practical Object-Oriented Design in Ruby: Chapter 2 Jul 12 2015 Blog: Quote: Organizing Code to Allow for Easy Changes Jul 8 2015 Blog: Tip: massively reverting local changes Jul 8 2015 Blog: Tip: committing to the repo file by file Jul 8 2015 Blog: Paper: Fundamental concepts on programming languages Jul 6 2015 Blog: Iterate with index in clojure Jul 4 2015 Blog: Brown-bag session: refactoring legacy code Jul 1 2015 Blog: Self-study in July 2015 Jul 1 2015 Blog: Books read in 2015Q2 Jun 30 2015 Blog: Practical Object-Oriented Design in Ruby: Chapter 1 Jun 29 2015 Blog: Brown-bag session: Refactoring legacy code Jun 23 2015 Blog: Brown-bag session: docker Jun 16 2015 Blog: Types of defects Jun 14 2015 Blog: Brown-bag session: Refactoring Jun 11 2015 Blog: Self-study in June 2015 Jun 3 2015 Blog: Internal training: BPM: Process and tools for developers Jun 2 2015 Blog: Category: Poodr Jun 1 2015 Blog: Internal training: QA & how to test May 18 2015 Blog: Software gardening manifesto May 17 2015 Blog: Paper: TDD in industrial teams May 12 2015 Blog: Talk: Software is eating the world May 10 2015 Blog: Self-study in May 2015 May 9 2015 Blog: What versus How May 6 2015 Blog: Internal training: Testing is hard - just do it May 5 2015 Blog: Video: Nothing is something May 4 2015 Blog: Internal training: Introduction to AngularJs Apr 30 2015 Blog: Whose fault is this? Apr 25 2015 Blog: How I read Apprenticeship Patterns Apr 25 2015 Blog: Demand for TDD and Refactor Apr 25 2015 Blog: Talks I have attended at the Craft Conf 2015 Apr 25 2015 Blog: What legacy code is about Apr 21 2015 Blog: Annotations and Aspects in Java Apr 21 2015 Blog: Logging is a feature Apr 19 2015 Blog: Talk: Simplicity matters Apr 18 2015 Blog: The Guardian of the Source Apr 17 2015 Blog: Inserting clojure code in octopress Apr 14 2015 Blog: Destructuring as a refactor in Clojure Apr 14 2015 Blog: Redesign as a new TDD phase Apr 13 2015 Blog: Experience report: Test-driven development intensive, by Jason Gorman Apr 12 2015 Blog: Trimming your plants Apr 2 2015 Blog: Category: Flow Apr 1 2015 Blog: TDD microexercise: Tire pressure Mar 31 2015 Blog: Books read in 2015Q1 Mar 31 2015 Blog: Growing software according to the season Mar 29 2015 Blog: Meetup cross-pollination Mar 25 2015 Blog: Open Space: Code reviews Mar 16 2015 Blog: TDD Meetup Retrospective Mar 16 2015 Blog: Maven module Base for cucumber in java Mar 10 2015 Blog: Brown-bag session: maven Mar 6 2015 Blog: Kata: Mars Rover in Clojure Mar 5 2015 Blog: Mob programming String calculator kata Mar 3 2015 Blog: The purple wire Feb 24 2015 Blog: kata: persistent linked list Feb 23 2015 Blog: Polishing your tools Feb 22 2015 Blog: A legacy code introduction Feb 21 2015 Blog: The use of power tools Feb 18 2015 Blog: Open discussion: Behaviour-Driven Development Feb 15 2015 Blog: Implementing BDD at a client Feb 9 2015 Blog: Open discussion: On code reviews Feb 7 2015 Blog: Pairing with junior developers Feb 3 2015 Blog: Book: Diseño Ágil con TDD (Spanish) Feb 2 2015 Blog: Your First Language Feb 2 2015 Blog: Podcast: Basta ya de picar (Spanish) Jan 24 2015 Blog: Code Snippets Stash Jan 24 2015 Blog: Bank kata in java Jan 22 2015 Blog: GMaur code jam 2015: 01 - Mini-Power Swapper Jan 12 2015 Blog: Kata: Reverse Polish Notation in java Jan 12 2015 Blog: Listening to the tests Jan 6 2015 Blog: Kata: prime factors Jan 6 2015 Blog: Talk: 'Is TDD Dead? Of course not! But what´s all the fuzz about then?' by Emily Bache Jan 6 2015 Blog: Category: Goos Jan 1 2014 Blog: Books read in 2014Q4 Dec 31 2014 Blog: Should we start the TDD cycle on refactor? Dec 29 2014 Blog: Global Day of Code Retreat 2014 Dec 18 2014 Blog: The Joys of the Craft Dec 15 2014 Articles: The Joys of the Craft as Article Dec 15 2014 Blog: 'Pocket' application Dec 8 2014 Blog: CAS2014 Wrap up Dec 8 2014 Blog: Hello World! Dec 8