I stayed up late last night and assumed I could get up early enough in the morning to write a post before my new deadline. Unfortunately, I didn't do that, so I failed. I am moderately concerned by the significant uptick in my failure rate (around one per month up to around one per week in the last month), but I think I can mostly attribute that to increasingly strict standards around posting. I expect that I will fail less often as I become accustomed to those standards, but that won't happen unless I actually make adjustments in order to meet them.
This and many earlier failures seem to have late nights in common. I think this is partly because the natural final failure is running out of time, but also because my willpower is weaker at the end of the day and at the same time my reasoning is most impaired. Those together mean it's more likely that I'll think something silly like "I'll write this tomorrow morning" when tomorrow morning is not very many hours away. Actually, aiming to write in the morning in general may be the solution here, if it's the morning at the start of my day-long window instead of at the end.
I also can't help but notice that many of my failures seem to happen on weekends. I assume that is at least partly because I tend to relax more on weekends which means there's less structure to fit the writing into, but also social demands on my time are higher and I tend to not be in a very productive frame of mind. Being aware of this should help, but if not I might try giving myself a day off by pre-writing an extra post on whichever weekday has the most time.
Ever since reading about Alcoholics Anonymous in David Foster Wallace's Infinite Jest, I've found it fascinating. I'd heard of AA before, of course, but something about the particular depth of its treatment in the book made it much more compelling. There's a bunch in the book about the program's dependence on God or, as it's sometimes (and was originally) called, a Higher Power. I always found that strange, too; why do you need God to stop drinking?
Here's what AA's "Big Book" has to say:
The alcoholic at certain times has no effective mental defense against the first drink. Except in a few cases, neither he nor any other human being can provide such a defense. His defense must come from a Higher Power.
I really like the concept of a constrained or distorted rationality: not what you should believe as a perfect faultless Vulcan, but what makes sense to believe as a faulty squishy human. It might be objectively true that if you understand human suffering in abstract, specific contact with it shouldn't change your behaviour. But in reality we know that our actions are biased towards things that we empathise with, and we don't empathise with the abstract. So it could be rational to increase or reduce your contact with suffering. In other words, maybe rationality isn't the thing that leads us to rational belief, but rational action.
My feeling is that the Higher Power belief, and AA in general, is an extreme example of that constrained rationality. How do you teach rationality to an addict, a definitionally irrational person? If trying to reason your way out of addiction worked, far fewer people would be addicts. Instead, you have to learn ways to act rationally even when your brain is thinking irrationally. And what could be more irrational than blind faith? Yet that is exactly what AA is designed to encourage, not just in God or a nominated Higher Power, but in the program itself.
Perhaps that is valuable even as a non-addict. I don't think it's necessarily feasible to take on a blind faith in God, but it can be valuable to accept the dominion of a particular program or system, or to follow through on things you've decided are right even when they feel wrong. A creed like "I will write something every day" or "I will never lie" might be irrationally prescriptive, but you know that there will be times when you are simply not good enough to do the right thing.
And in that moment, would you rather be relying on your own impaired judgement, or be able to fall back on your Higher Power?
I had a fun idea for a game the other day: a Git-based strategy game. Any multiplayer game at some point has to deal with the question of how to handle multiple players acting at the same time. Normally the way you deal with that question is by saying "you can't", and either going turn-based or placing restrictions that prevent actions from really happening at the same time, just very close to each other. But that doesn't have to be the case.
One of the more intriguing alternatives I've seen was in a game called Diplomacy, where every combination of moves has one defined resolution. This means that the moves can all apply simultaneously without having to apply an arbitrary ordering on the players or any kind of tiebreaker process. It was quite elegant! In fact, the whole thing reminded me a lot of the different solutions to conflict resolution problems in distributed systems.
So why not go all the way and make a strategy game based on an existing distributed system? A Git strategy game could end up with quite a complex notion of time, with multiple diverging and merging timelines happening at once. You'd want to set the merging rules up in such a way that you'd have to make certain tradeoffs and sacrifices for your timeline to merge. I haven't thought a lot about what the actual mechanism for winning would be, but I there are a lot of things you could do with that system as a base.
I think it'd be quite an interesting way to introduce people to distributed version control, and distributed systems in general. Plus I think it could be a fun game.
I've been meaning to make some progress on an important part of my creative tooling. Namely, the process by which I can take a little web demo and then cause it to be on the internet.
That process is already pretty quick, but I've always thought it would be great to have a little server that I can just throw git commits at and it turns them into demo pages. Better still, other people would be able to just git clone [link] and get their own copy of the code that produced it. Well, that dream is now a reality. Meet the demoserver.
You might be familiar with the approximate shape of that system from GitHub pages, which does basically the same thing. However, this has the advantage of distinguishing between specific demo projects and just regular code and consolidating all those demos in one place, which is an important benefit for me. Plus it's quite nice that I can run it on my own server.
I'll eventually make the index page themeable and then theme it to fit into the rest of the site, but for now I'm rocking that no-style markup. It'll eventually form part of a larger section-based overhaul of the site including the idea globe and a revamped projects page. But that is a little way off still!
In the meantime, if you'd like your own demoserver, the code is on GitHub.
I sometimes find myself in a bind with plans I make. I intend to do something, but I run out of time, other things get in the way, or I just don't feel like it. But, eventually, I have to make a decision: okay, it's late, do I stay up and do this thing even though that's a bad idea? Do I cut out something else just to get this done even though it could be done tomorrow? Is this a time to sacrifice in the short term? Or will the long term just be the short term but longer?
I faced this very problem the first time I missed my deadline for posting here. I considered just making it up the next day, which would solve things in the short term, but then I'd have double the work the next day and that could spiral out of control very easily. Not to mention it was kind of hiding away the problem. But the other option was skipping a day, and the problem with that was that it just seemed too easy. If I just give up when I don't plan my time well, what's to stop that turning into a habit and eventually sinking the whole project?
My eventual solution resulted in my first failure post, an idea that was a compromise between the two positions. On the one hand, I still had a bail out option when necessary. On the other hand, it came with a cost: I had to publicly own up to having failed. Pleasingly, that admission took the place of the post that was missed, preserving the habit that I wanted to maintain.
In general, I call this strategy "do and do not", to contrast with Yoda's famous "do or do not". The seemingly binary options are to do the thing you intended to, even if it doesn't make sense anymore, or not do it and risk letting yourself off too easily. But I don't believe you're restricted to those options. Do and do not is a middle way where you maintain the form of the thing you set out to do, even if you can't fulfill its substance.
Let's say you wanted to clean your room before you went out, but you left it too late and now it's time to leave for the party. To do would be to wait to go out until you finish cleaning, possibly missing the party. To do not would be to forget the cleaning and go have fun. To do and do not would be to be to clean a bit, and be a bit late. Enough that you maintain the link between intending to clean and actually cleaning, and enough that you don't get away with failure completely consequence-free.
Of course, Eliezer Yudkowsky would point out that you shouldn't set out this way. Committing to try to do something is just a weak version of committing to do it. However, once you've made the strong commitment and failed at it, I think a much more sensible option than stopping is to fall back on trying, on do and do not. It certainly seems better than not trying, at any rate.