November was a slow month since I was on vacation, but I managed to pick up some good stuff. Take a look!
The Myth of the Root Cause
I learned a lot from this post, and the paper it refers to: “How Complex Systems Fail”.
If you work with distributed systems and you ever had to write a post-mortem this is a must read. The post explains common false assumptions when looking for a root cause of an incident, in other words:
- Distributed systems work as broken by default
- There is no single root cause for an incident, but a combination of them
- Avoid the hindsight bias, which is “…the inclination, after an event has occurred, to see the event as having been predictable, despite there having been little or no objective basis for predicting it.”
- Every change added to the system has a potential to create another incident, even though the ones added to fix an incident
12 Signs You’re Working in a Feature Factory
I started using the term when a software developer friend complained that he was “just sitting in the factory, cranking out features, and sending them down the line.”
I wrote this when debugging some weird memory leak in a Ruby app. I wanted to have a way to see memory changes on a process over time, not just the current value. So I’ve built this:
The Cyber Swiss Army Knife
A simple, intuitive web app for analysing and decoding data without having to deal with complex tools or programming languages. CyberChef encourages both technical and non-technical people to explore data formats, encryption and compression.
Simple Units Conversions
If you ever had to convert an unit to another (e.g. seconds to hours), there is a tool available on OSX and Linux by default: It’s
→ units 586 units, 56 prefixes You have: 600 seconds You want: minutes * 10 / 0.1 You have: 100 kilometers/hour You want: miles/hour * 62.137119 / 0.01609344
Helps when you don’t have internet to Google it 😬
Work/Life Balance Will Make You a Better Software Engineer
To improve as a software engineer you want to learn how to do your work in less time, which is important if you want to take on bigger, harder projects.