Ultra Logging

I’ve been stuck in a tunnel for some time.

Sometimes there are problems that just feels like you need to hit your head against a wall for a day or a week without any visible outcome. That happens. For example when you’re doing research work, comparing libraries, setting up new systems or debugging random bugs in Software.

Two big risks:

  • You take the risk of slacking off or sliding on less relevant tasks. Because the output of your work looks the same (i.e. almost nothing).
  • It’s hard to communicate what you’ve been working on because it’s a lot of many small things.

My approach is to log every minutes:

I would start my data, at 8AM for example and start write down what I’m doing for the next 10 minutes.

800 I’ll make sure test X is passing on my machine before migrating to the CI for 10 minutes.

Then start a timer and get things done. When the timer rings, I don’t interrupt myself to organize my thought, don’t take a break or anything. I’ll just add a line with the time and what I’m doing, what I saw, etc.

810 I couldn’t get the test to pass because of error Y, I’ll look into upgrading the SDK for 10 minutes.

Something I would lose focus, or fix something early, I’ll just add a line in my logs.

812 done with the bug, now back to running the test on my machine. 10 min.

It’s easy to just dump what you are working on, and at the end of the day you can organize your thoughts and share a status update.

When you’re in a tunnel, trying to solve something complex, one of the issues I have is that you stumble down issues.

test fails -> look into module X -> not working and hard to debug -> figure out how to debug in docker -> how to customize IDE to do Y…

Software is terrible at this, you work on a bug in your application, realise you need to update a package, do it, discover you need to upgrade some software version, which triggers a bug on your machine, and so on. In 10 minutes you can switch 20 tasks.

it’s easy to get lost, but if you have your log you can find your way back to what you where doing.

Laurent Senta

I wrote software for large distributed systems, web applications, and even robots. Now I focus on decentralization, overly-engineered software, and frugal innovation. I help companies around the world build products through SingularGarden.