My '3dashboard "Emacs hacking" task heading just exploded into a seven-link executive dependency chain.
I wanted to test my fix for a treefactor-up bug. But Chemacs launched my Emacs dev instance in Terminal instead of GUI. I investigated and found I also need to upgrade to Chemacs 2. Leery of doing so on my production user account, I decided to update my long-outdated fallback user account. This spawned a whole new chain of troubleshooting steps, including a mysterious magit bug. Currently I'm adding the fallback account's SSH key to my private rsync.net server, so that I can update my Bash aliases, so that I can check whether the magit error occurs on vanilla Spacemacs.
Whenever a new dependency arises, I simply append it to the subheading list. Meanwhile rambling.org captures the actual sequence of thought and action.
This smooth calm resolution of complex "exploding" technical problems used to cause me great frustration. Now it's simply automatic. I couldn't even remember what I was originally trying to do until I decided to amuse myself by writing this retrospective. '3dashboard lets me focus entirely on the current subtask, vastly reducing the difficulty of the problem.
Here's the '3dashboard heading. It doesn't include many completed steps, which I delete from '3dashboard unless they provide useful context:
**** Emacs hacking ***** add imac@fallback ssh key to rsync.net ***** VC chemacs dotfile load it onto imac@fallback ***** troubleshoot imac@fallback spacemacs run vanilla spacemacs via chemacs and test whether magit still broken ***** upgrade to chemacs 2 try upgrading on imac@Textmind fallback ***** troubleshoot chemacs non-GUI launch ***** fix treefactor-up elisp COUNT arg bug ****** test it start my dev Emacs instance. ***** [[id:6587FC1B-B3CE-4F51-9A59-C61F3750EA17][fix treefactor bug outside spacemacs, with test suite]] [contents truncated]
The last heading was originally the parent. I kept appending dependencies atop it. When that got messy, I subordinated them all under a new "Emacs hacking" heading.
This method works because I'm not concerned about representing every nuance in '3dashboard. Asides, digressions, doubts and details are captured in the ramblog. I trust the ramblog processing loop will handle them appropriately, leaving me free to pursue maximum yield from my current ramble.