Oops! Things went somewhat off the rails, and I've ended up nearly a week behind. I think this is probably my most spectacular failure in the history of this site. And right on the heels of the 365 milestone! I think that is mostly a coincidence, though; the root cause is just too much going on.
I wrote in my last failure post that I just had a lot going on, perhaps too much. I implemented a fairly effective strategy for dealing with the workload, but while it helped the workload didn't really change and that really left me at substantial risk of another failure. I ended up with three fairly major deadlines for three different things in the same week, and that's when this failure happened.
Probably the main lesson here is to just not commit to too much. It sounds facile, but realistically that is, near as I can tell, the root cause. I'd like to be able to manage that level of workload without dropping stuff, but I don't think I'm at that point yet. Hopefully some of the habits and tools I'm working on will help, but that doesn't change the reality today. Luckily, my workload has also decreased, so the immediate problem should resolve itself.
Separately, I have the question of what to do with such a substantial post deficit. Normally I would use a failure post to bridge the gap of a single day, but this is a lot of posts to catch up on. I considered just skipping the intervening days, but there is something motivationally powerful about having a post for every day in an unbroken line stretching back, even if I take some liberties with exactly when they were written.
Ultimately, I think the only thing for it is to just take that on the chin, and write lots of posts to catch up. In its own way, it feels like an appropriate disincentive from slipping this far again. And, to be honest, I'm looking forward to the challenge a little bit. Onward!
Yesterday's post was my 365th since starting this writing adventure, although depending on how you think about it there are a few milestones to choose from. My first post was Are you sure?, which was actually posted around the first of March. And the first post since I started posting daily was The inside-out universe on the 24th of March. But 365 posts seems like as good a time as any to engage in some reflection.
All told, I'm pretty happy with how the past year has gone. I thought I might end up looking back at things I'd written a year ago and cringing, but actually most of it seems fine. The main difference I notice is that my posts tend to be longer now; it was rare that I'd write anything longer than a few paragraphs a year ago, but these days it's rare that I'd write anything that short. Either this is because I'm expressing more complex ideas, or just that I'm wordier than I used to be.
One thing that is a shame is that my posts are a lot more similar than they used to be. Earlier posts usually had screenshots or drawings attached (the existential crisis black hole was a personal favourite) but now it's mostly text. That wasn't a deliberate decision so much as a result of having less time and falling out of the habit. I've also been much more conceptual, whereas older posts tended to be more of a mix of project ideas, conceptual ideas, project releases and even music.
Another thing is that my posts are not very discoverable. I haven't put any particular effort into posting them on social media (beyond the occasional Hacker News post), and there are no categories, no easy navigation, and no archive pages. I'm pretty sure my RSS feed is still broken on many online feed readers because they can't deal with SNI. None of these things are deliberate decisions, it's just never been a particular priority to fix them. I mostly care about writing stuff, and getting other people to read it fits in where it can.
Still, I think it's worth striving to do better on these things. It's easy to get stuck in a comfortable rut once you find something that works, but if you want to improve there's always a certain amount of discomfort required. I'm going to make an effort to diversify my posts, get them out into the world more and, sometime soon, make changes to the site so that it's easier to go archive hunting. As for the drawings:
Last week I made 3 prototypes, and this week was 3 again. It seems much easier to work on prototypes when they happen to line up with a particular idea I'm working on (eg the Beyoncé numbers series or the medb ones). I'm beginning to think that one way to do more prototypes would be to have more prototype-sized problems. In other words, maybe it's supply-constrained and I could benefit from increasing the supply.
I wanted to work a little on my Automaintainer idea. It's already active on Github, but the rules aren't very discoverable (you have to go read a particular file). I wanted to generate neat badge images like the npm ones. So I started by figuring out how to do image generation using node-canvas. It was surprisingly easy after I sorted out some build issues.
The next step was to build a web service around it. So this is just a simple Express server. I thought about building out the promserver/funserver idea from last week's prototypes a bit more, but I figured it would be better to get something that works sooner. I initially had a whole filesystem cache thing planned, but I ditched it because it was turning out to be more difficult than I wanted. Either I'll have to put that back in later when I deploy it or just put some other caching layer in front of it.
I worked a little bit on a git visualisation idea. I've often thought that the DAG structure of Git makes it uniquely suited to graphical representation. Not for everyday use necessarily, but for thorny situations where you need to significantly reorder things or understand complex commit histories. I spent most of my time just getting NW.js going, but I got it listing a commit history for each branch, which I'm pretty happy with.
For ages now I've been using time tracking for projects I'm working on. I mentioned it in the context of the lack of good tooling for tracking personal metrics, but the graph that I made for that article was pretty reflective of the kind of value I got from time tracking. Being able to know which projects are taking up the most time, what general categories they fall into, and what my general workload is like was immensely helpful.
But lately I've begun to realise that what I really want to know is: where is all of my time going? It sometimes seems like there's a lot of it and sometimes seems like there's nearly none. In the context of that problem, I've realised that one of the most important things to track isn't my time working on things, but my time not working on things.
So to fix that I've decided on a simple system: just always be timing. Track time for projects, track time having fun, track time asleep, and, most importantly, track time not doing any of those things. This should result in a full 24 hours of time tracked each day, with no ambiguity about where time has gone. If there are any obvious time sinks, they should present themselves pretty clearly in the data.
Partly this idea is thanks to Toggl, which made the interesting design decision to let you start tracking time without having to enter what you're tracking time for. So I can just start an unnamed time entry and describe it later, which is essential for the kind of miscellaneous time I'm looking to isolate.
I'll follow up a week from now with whatever insights I've gleaned from this experiment. At that point I should be well placed to decide whether to keep doing it based on how useful it was and how much effort it took.
There's something fairly counterintuitive about human behaviour: we tend to assume it's a result of external inputs, but in fact it seems to be mostly a result of previous behaviour – that is, outputs. Your past behaviour is highly predictive of future behaviour, at least when that past behaviour happened in a similar context.
Why should this be the case? If you think of your brain as mostly an association machine, it makes a lot of sense. The more similar a situation is to another situation, the more likely you are to do the same thing again. Similarly, the way you have reacted in response to similar situations in the past will influence the way you react in the future. This is one of the central ideas of cognitive behavioral therapy.
In other words, if you want to change your behaviour or your mood, it may be best to focus on your output, not your input. Classic examples include the effect of keeping a gratitude journal on happiness, and the backfire effect, where correcting someone makes them believe more strongly in their mistake. Of course, if you disagree with the facts, more facts just means more practice at disagreeing.
One of the most interesting effects of this is that it can be helpful to put yourself in situations that challenge the behaviour that you want. For example, if you experience impostor syndrome, it can be helpful to have a debate with a friend. However, your friend takes the position that you are an impostor and you take the position that you aren't. It sounds strange that it could be helpful to be told you're an impostor, but the point is that the input (their arguments) doesn't matter as much as the output (your counterarguments). You want to practice and thus reinforce that output.
A common way to analyse a system is as something that takes in inputs and produces an output. It can be tempting to think of people that way; certainly, it's very neat and easy to understand. However, in reality I think we operate on associations, and associations are bi-directional. It's less that we turn the input into an output and more that we have a whole lot of inputs and outputs and we jumble them together and pull out the ones with the strongest associations at any given time.
Of course, our actions are usually going to be our most powerful experiences because there are a lot more associations involved in doing something than in experiencing it second-hand. Plus, we have a lot more direct control over our actions than our situation, which is usually at least partly beyond our influence.
All of which is to say that it makes sense to prioritise output over input, to focus on your actions and your responses rather than the situations that lead to them. And, in fact, sometimes it can even be worth giving yourself worse input if it reinforces the kind of output you want.