AHA Moments

My work environment setup

September 20, 2020

Hardware Macbook Pro 13-inch 2018: Nowadays fast SSD and at least 16 gigabytes of memory is the lowest bar for a development box Normal mouse and normal keyboard: I'm not even using mechanic keyboard, might due to their noises. I'm still using a ten…

Testing strategy in real cases

September 20, 2020

This is a topic I'm not capable to cover succinctly yet. I'll try my best at the moment and revisit later. Why tests are valuable Confidence in implementation Freedom of change Act as documentation Reduce costly debugging All practices come with…

Book review on [The Software Craftsman] by Sandro Mancuso

September 20, 2020

Summary There have been a whole bookshelf of books, if not more, on the market about software development practices, both methodological and practical approaches. They are also covered in the book The Software Craftsman by Sandro Mancuso, with a…

How to work with huge git repo

August 08, 2020

Background Monolith doesn't only bite you in one way. Lately I have been in a project with thousands of developers working on the same git repo. Every day there would be dozens of new branch and hundreds of new commits. Don't mention that some guys…

Reading [So you want to talk about race]

July 19, 2020

Summary For the motivation we are all aware of, I finished this book a colleague mentioned. This has been a self-discovery read with frequent rejection at first and ensuing doubt then uncertainty. The author, Ijeoma Oluo, combined the ideology with…

How I reinstall macbook

June 21, 2020

Why I've never actually cleaned my Macbook system since my first use of it even the current Macbook has been my third one. The migration experience has always been perfect, and I don't really feel any slowness due to the growing system. Somehow…

Book review on [The Phoenix Project]

June 14, 2020

Praise The Phoenix Project is a must read for anyone serious about modern IT industry. Its format in novel set the scene for the readers whom are brought back to their daily life: endless task queue, unsatisfied boss, and worst of all, tensioned…

Understanding wait time versus utilization - from reading Phoenix Project

May 18, 2020

Source of the confusion When reading the novel book on software development, Phoenix Project, one formula kept popping up and caused an enduring confusion in me. This is the chart I take directly from the book. It's involved in a discussion about…

Transducers in Clojure Explained

April 13, 2020

If you've read the official article and still feel confused, you're not alone. So here I try to articulate it with my own words and examples. Transducing is an idea based on reducers. It's introduced into Clojure since 1.7, and there's not really a…

Takeaway on Teaching Apprentices

March 15, 2020

Background In my current workplace Codurance, there's a program called Software Craftsman Apprenticeship in which developers with working experience but not fully ready to be a Software Craftsman are recruited with salary. They will take a three…

The story of debugging a failure of apt-update in Docker container

February 16, 2020

Summary This blog is about how I encounter an unexpected issue while maintaining the AWS deployed machine. Plus how I found out the true culprit and solve it acceptably for now. Also, the joining of my colleagues eased the pain a lot. Brief take away…

Approaches to Installing Ubuntu along with Windows 10

February 07, 2020

Why I've got a Intel Skull Canyon mini PC box at home with Windows 10 installed. Most of time it's only used for watching online stream on projector and as light gaming pc for my wife for Planet Zoo. Still MacBook is my main working platform but I am…

Thoughts about Practices/Principles behind Good Design (Part 1)

September 10, 2019

Object Calisthenics It’s one of my favorite practices for clean code. It seems a bit strict and hard to follow at first encounter, yet proves profitable if you could stick with it or at least have those principles in mind. I believe the name comes…

First impression of Event Storming

August 28, 2019

You may have heard of Event Storming before, or maybe not. Yet today is the first time I kinda have a grasp of what that amazing tool is about. What’s more, we practiced that on a user story kata and the process evoked a lot of thinking inside me. I…

Very Incomplete Summary of 'Learning How To Learn'

August 20, 2019

Before we started apprenticeship in Codurance, there was a list of recommended readings all of which were quite valuable and worth an attentive reading. Yet among other topics like apprenticeship program itself, TDD, etc, I found this non-technical…