Image by captcreate— CC BY-NC-ND 2.0

Devlog

A way to record those useful insights as you work

So I was reading the article “Be a scientist” by Scott Nonnenberg, which is his 3rd developer productivity tip. In the article, he talks about setting up a notebook style system to record his thoughts, and it inspired me! There have been many times when I’ve been trying to fix a bug or come up with a solution to a difficult problem that, after finding a solution, I didn’t document it. Then about 30% of the time, after a few months/years have passed, I’ll come across the same problem and have to re-figure it out.

Now, I don’t know if this means I have a terrible memory. I suspect it means that I’m like most people in that unless I use specific information regularly, my brain puts the data into an archive like Amazon’s Glacier service — it takes a long time to retrieve the data again! Writing things down is the best way for me to “remember” things. It was time to take action and write down my insights regularly!


In his article, Scott uses a tool he wrote called thoughts-system. I had a look at it and it seemed more structured and complex than what I needed. So I wrote devlog instead.

Writing the tool took all of about 4 hours, including testing, tool config, publishing — everything (thanks to Confit).

To install it, typenpm install -g devlog in your console.

To use it, typedevlog in your console.

Example:

$ devlog
Add log entry: (press Ctrl+C when finished)
> This is my first log entry
> Just found a cool fix for when PhantomJS doesn't start...
> [Ctrl+C]
Log saved to /users/uglow/devlog/devlog.md

That’s all there is to it. The log is in Markdown format, so you can publish it on GitHub or anywhere else that is Markdown friendly. You can edit the file directly too. So far I’ve used devlog to record the fix to a tricky problem that wasted an hour of my time last week, so that next time it happens I can quickly fix the issue by reviewing my delvog.md file.

I’m quite pleased with the simplicity of this tool. If you have any feedback on the tool, I’d love to hear it!