I’ve tried lots of to-do lists, from ToDoist to fine-grained Jira tickets and all things in between. I still felt disorganized. But I found1 Jeff Huang’s My productivity app is a never-ending .txt file and decided to give it a try, with some tweaks.

I spend a lot of time in the terminal, so now I keep an iTerm tab open with my daily to-do list. It’s a dumping ground of to-dos (both work and personal), meeting notes, random text I’m copying from one place to another. It’s faster than handwriting and easier to copy tasks from one day to another. It’s easy to stack rank things. It’s an unreasonably effective to-do list tool.

Here’s an example:

2025-12-16
----------
- [x] Announce next week's release delay
- [x] Review X's MR hotfix for dsmodels
    - https://gitlab.com/etc/123
- [x] Review hit segments table MR
    - https://gitlab.com/etc/697
- [x] Help X with evars 216, 217, and 221 (all null, "Merchandising Evars")
    - https://atlassian.net/wiki/x/EYAT4g123
- [x] Plan next sprint
    - [x] What PTO do folks have? How much actual capacity?
    - [x] What priorities for Client A? Client B? Internal eng efforts?
- [x] X's comment under TICK-14222
- [ ] Update Utils Logger Documentation with new lambda information
- [ ] Heads down on Snowflake models
- [ ] Send snippet on how to filter with `(year, month, day)` tuple.
- [ ] 
- [ ] 
- [ ] Lunch with Bre
- [ ] 
- [ ] Start new project?
- [ ] Write blog post about to-do lists
- [ ] What's going on with management?

Coworker
-------

- window, not supported
- evar64 as alternative to mcvisid for join, `external_leadid`

Demo tenant
-----------

- What are the core integrations that make Service Pro worthwhile
- Add CRM and DMS, completely spoofed
- What do we demo?
- We need these 4 data systems

I keep to-dos roughly separated into work, personal, and “for consideration”, which are tasks that I expect to carry over a few days in a row until I decide what to do with them. At the bottom, I throw in everything and anything related to the to-dos of the day. I especially like this section for dumping in notes. If I’m in the middle of something complicated, at the end of the day I’ll write down as much as I can think of in shorthand as context for what state things are in. What’s tested, what still needs to be connected to something else, why I stopped working on feature X temporarily.

To use Jeff Huang’s phrase, this is both a to-do list and a got-done list2, and I like that I can see everything I’ve completed with a quick grep:

# Top-level completed tasks
cat *.md | sort | uniq | grep '^- \[x\]' | wc -l
161

# Including subtasks
cat *.md | sort | uniq | grep '- \[x\]' | wc -l
278

Occasionally I’ll plan days in the future – why not? Make a text file for a week from today and add a couple to-dos. Later, when I create tomorrow’s file, I’ll find it already exists and has some to-dos. Excellent.

A few things make this work for me:

  • Vim. Makes it very fast to rearrange, reorder, and re-indent.
  • Terminal tabs My to-do list is always in the first tab of iTerm, so it’s just a ⌘1 away any time I’m in the terminal.
  • Minimum viable discipline. 5 minutes in the morning and evening to organize the list.

It’s hard to overstate just what a good effect this has had on my work. It’s a 2¢ piece of tech that just works.

  1. I found this through the really excellent Joy & Curiosity series in Register Spill by Thorsten Ball. I can’t recommend Thorsten’s work enough – I read every Sunday. His utter apprectiation for good writing is infectious (and one of the reasons I started this blog). 

  2. There’s some value in these things as historical record, but I don’t plan on preserving them. I keep my files on my local computer and am waiting for the day my computer dies. But Jeff Huang used his .txt file as research for his Behind the Scenes: the struggle for each paper post, which I have to say is cool. It reminds me of Stephen Wolfram’s unbelievable Seeking the productive life where, among many other things, he visualizes the emails he’s sent and received over time. 

Updated: