What are you doing this week? Feel free to share!
Keep in mind it’s OK to do nothing at all, too.
Over the weekend I hacked up a higher-level Shadertoy-like thing that uses a neat language called Janet to compose signed distance functions. (Short demo, apologies for the format.) I’ll probably keep working on that a little this week and maybe publish it somewhere, if I can come up with a decent name for it (suggestions welcome).
But the main event is: I spent the last two years(!) writing a novel, and after finishing the first draft I put it down for a couple of months. This week I’m picking it back up and starting the editing process. I go back to a Real Job in November so it’s a race to see how much I can get done before then.
Ready to share any details about the novel or your writing process / what drove you to attempt such an undertaking? I’ve always been interested in how these particular sausages get made.
That’s a broad invitation :)
The why is complicated – there was no single overarching reason, but a combination of lots of things. Burnout was definitely a factor, but more than that I was inspired by reading some incredible fiction. It was a good time in my life to take a sabbatical from work, and this project was the most important to me, so here we are.
I can talk a little about the process. I split my time into two modes of working: figuring out what happens next, and writing it. Typically that’s a couple weeks of existential terror as I work out what happens next, then six weeks of writing it, then repeating for two years. I started with an outline for the broad strokes of the story, but as I wrote the book I learned that it wasn’t really high enough resolution to be useful, so I ended up just-in-time outlining it in groups of about 5 chapters, or 20k words at a time. It’s not a very efficient process.
I find it useful to write by hand and then type things up. Somehow it’s easier for me to make stuff up while writing longhand, and the act of typing it up is the first rewrite (of many). It’s a lot more time consuming, though, and I only do this nowadays if I’m feeling pretty stuck. I should do it more, though. It’s a great trick.
I work as if I were writing a serialized novel, “finishing” one chapter at a time and then setting it aside. This lets me keep the working set of the story pretty small in my brain – that’s probably the biggest process trick that I’ve figured out. It also forces me to figure out something when the story gets hard, instead of saying that I’ll go back and fix it later. That kind of “story debt” weighs heavily on my soul, which is something that took some time to figure out. Any time I broke this and plowed forward anyway I always wound up getting stuck shortly afterwards and had to go back.
One of the biggest things I learned writing a book is that writing fiction is so much harder than writing non-fiction. I can write pretty prolifically about technical topics, or just general… life communication stuff. I write thousands of words every day between project diaries, emails, blog posts, whatever. But writing fiction is a completely different set of muscles. Last year I wrote ~100k words about Nix over the course of a few months in my spare time. In that same period I probably wrote less than 30k words of my book, which was my full-time focus. It just feels completely different. I was surprised by that – I thought I would be able to transfer some of my verbosity to writing long-form fiction. But I had no such luck.
As for the book itself – it’s a “fantasy” novel about electronic engineering. “What if the Baghdad battery were real” is maybe a good place to start. Sort of a reverse-steampunk where we develop electronics before we have means to produce electricity on an industrial scale. The book takes some liberties with the science, but it’s a relatively grounded story about the invention of vacuum tube radio. Except that it’s actually a fantasy adventure. It… it makes sense. Sufficiently advanced technology and all that.
I need to write a log line.
Appreciate the detailed reply, chur!
I find the world premise interesting, sounds almost cosmere-adjacent, which is a good thing :)
Recovering from my weekend of relay trail running. My team smashed out a whopping 170km between us in 24 hours, on a pretty gnarly course. Difficult, but enjoyable. Massively underestimated just how tired I’d be post-race though. Also visiting a friend with a hot tub as my recovery was definitely a good move (both to see him, and to use his hot tub 😂)
This week is split between life admin and preparation for the next month or so. Got some DIY bits to solve before building work happens on the house, and I keep putting off paperwork that just needs doing.
Work: I’ve been building some editorial tooling for our journalists, and I think it might be one of the coolest things I’ve built solo for work in a long time. Can’t give too much details on it, but it’s really rewarding to build something that is really useful. A lot of my day job involves coordinating and facilitating, so when I get the chance to spin out my programming skills it’s a good reminder that I can get stuff done well and in a short amount of time.
Derw: I’ve started the process of rewriting the Derw compile from TypeScript to Derw. Very easy because of Derw’s TS interop making it possible to easily move things over file by file rather than everything at once.
I have been having a blast writing a tool that talks MongoDB Wire Protocol while using Postgres as the backend. It’s also my first rust project.
Still on early days and probably super buggy but covered a lot of ground already:
Had to work most of the day Saturday so I just vegged out on Sunday. So, hopefully actually getting back to my weekend plan :)
I spent a good portion of the weekend getting Debian installed on my MacBook, and now I need to make sure I can VPN into work, join meetings, and actually work with it. So far it looks like everything I need to work remote is working.
Other than that, at work I’m finishing up work on a small bug with our Creo importer, and then I’m getting back to work on some bugs in our Catia importer.
Not sure what I’m doing outside of work this week. Probably tweaking the laptop setup, biking, and trying to read more.
Improving logging! I’m going to re-do the logger in our application to include details like the request uri, user’s account number, etc in fields on each log message. Been wanting to do this for a while now and am finally getting the opportunity.
Nothing better than getting your logs improved.
On the last leg of my Euro journey in Munich and then head home Friday after two weeks of being here…! It’s been awesome. I miss computing a bit though :)
I may start programming once more… I have been hoping for a good while that someone appears that wants to play along but I guess I’ll need to do everything by myself. I’ve also been contemplating how to make money, it’s been too long since I last made a single cent and it’s starting to weigh on me how little control I have over my diet.
Back home after visiting a friend, and still have a couple days of vacation left. Maybe I’ll write a tar-like archive format just for fun.
Working on my draft PR to add some basic ActivityPub-federated features to Gitea.
I’ve written an xmake watch plugin that monitors changes to project files in real time and then automatically executes the build in these days. https://github.com/xmake-io/xmake/issues/2555#issuecomment-1193053808