The Troublesome TODOs

Using code to solve human problems

Sinan Baltacioglu
The Mighty Weasel
6 min readMar 22, 2019

--

This week my notes finally gained enough mass to become a gravitational singularity.

I take notes. On everything. Years of training have taught me that when I write using my human hands. The text is cryptographically secure against even our best code breakers.

What I wrote is lost to the ether.

Maybe some super AI in the future will figure out what I wrote. Maybe laugh. It was probably about giraffes.

You can imagine my joy when I learned typing made each letter look the same. I was free from the curse of the completely illegible. But you know what they say about habits. They’re hard to break.

So now, even though everything can be read. The sheer volume of notes. Todos. Important links. Key information that someone gave me in passing by my desk. Lost in the ether again. Split between oddly named hastily made notepad.txt files everywhere.

They’re mixed up too.

Oh you were writing a note about the user stories, but then that totally unrelated but important thing comes up. You don’t have time to hunt for it. So you just drop it in place. Right in the middle of your other note. So helpful.

Before long the entropy takes over and you have to start a new file.

You need to get stuff done, you’ve got reams of old content some done some filed for later. Somewhere, buried in a folder, lives deep_arcane_wisdom.txt which has the three lines you need to recover the app if it hiccups in a certain way that only ever happens on a full moon.

Eventually even this fails. You now have too many files. It’s impossible to get a quick understanding of what you’ve done. Or what you need to do still.

All the note apps I’ve used don’t work for me. It’s not them, it’s me. I spend most of my life in a code window with fixed width fonts. It’s my home. It’s how I think. I like how it gets out of my way. It’s also usually where I am when important calls or knowledgeable people come my way.

I needed a tool to help me with my particular problem.

Fortunately, one of the gifts that digital thinking can give us is the ability to shape electricity into cat memes from a slice of cold lava we tricked into thinking by trapping Zeus’ tantrums inside it.

Or more succinctly to build human tools.

I’m certain some human somewhere in time was just trying to get something done in the forest.

But the hands… they weren’t cutting it (probably literally at that time).

I don’t know who broke the first rock with another rock and used the sharp bits to cut through the problem. But I know we’re still doing just that with code today.

I built this by hand from things I found on a beach near Lake Superior. Rope is made from plastic bags. Rock broken with another rock.

Here’s what I know.

It’s go time. We don’t have time to delay.

The way I take notes isn’t likely going to change fast enough for me to find my way out from under the crushing weight of the unknown.

I have many irons in the fire, I need a bunch of things from others, and many folks are depending on me to get it done. We’re all working hard not to drop any of the many things we’re all juggling.

I really don’t like losing my marbles.

I have an opportunity to make a real difference.

I learned to code by viewing the source of other web pages. I got better thanks to some awesome teachers in school and out. And I continue to be amazed by what I learn from my colleagues decades younger or older than me.

That’s one of the beautiful things about technology. It’s about wisdom and capability. It’s not a talent, it’s a skill. Like a martial art or cooking. If you practice, you will improve.

Here’s something else I have a habit of. I’m pretty reliable. My notes, as sprawled as they were, carried a common language.

I’d use slashes for “pages”, hashes for topics, links were everywhere, and my todos all started with TODO.

Machines are great at finding the signal in noise. If you tell them what to look for and they reliably can predict whats up.

I also know how to stand on the shoulders of giants. With the help of materializecss and python I was off to the races.

I looked at my notes:

Emotional representation of what my notes were

Using my code brain here’s what I thought:

Err. Too many notes
Initiate note.refactor
Aggregate all notes into single location… done
Combine files into master note… done
Create python script… input required
… do required googling and reading of the stack overflow
… read file line by line
… build structure(topics,pages,links,todos[urgent,active,later,done])
… crosslink items so topics know what pages they’re on and vice versa
… crossref items to line number of master file (allow ctrl+g for find)
… Collect links into link registry for easy use
… Split todos into buckets to reduce cognitive load
… provide numerical counts of all items for tracking
… make it pretty so you dont go squirrely
… find and replace artifacts in materializecss html template with generated content
Python script… done
Take stock of state…
… This many tasks, That many remain, Those ones are urgent items for this week. That many pages of notes, topics sorted, 200+ useful links
… I got dis

In a few dedicate hours of code, I had tamed the chaos that was my notes.

I had a clear picture of what I needed to do. I was able to quickly update my master note. And still take notes like I always have. It’s just a super hero cape on my regular notes.

Most importantly I’ve managed to deliver on so much more than I would have been able to. Using code to help make sense of my notes helped me give information to those that needed it quickly and efficiently. Let me remember the little piece of wisdom that one person told me in the stairwell.

It’s times like this I thank the hours of time I’ve been hopelessly staring at a broken pieces of syntax and semantics, because without that failure teaching me, I’d never be able to use these digital rocks to break other digital rocks.

Even better, it allowed me to accelerate. Like oil applied to rusty gears, getting out from under the weight of the troublesome TODOs is freeing to the mind, body, and spirit. It’s easier to think when you’re able to fight entropy. Even just a little bit.

It’s also another lesson.

To go fast, sometimes you must stop.

Taking a technical pit stop like this, where you reduce your technical debt or cognitive load will pay dividends. There isn’t a single racecar that doesn’t stop for fuel or fresh tires.

It’s the same with code and developers. To go fast, sometimes you must stop.

And sometimes you need to break rocks with other rocks.

Code’s up on github if you want to have a peek. Maybe it’ll help you too.

Until next time, Weasel.out()

--

--

Sinan Baltacioglu
The Mighty Weasel

The Mighty Weasel: Code from the Blank .page, Idea to Alpha t=24 hours, Disruption Vanguard, Dreamer+=Builder, groks Go/Python, has worked in COBOL rip Dijkstra