The Tangled Tale of My Career (by alaric)
So... what next?
So, first of all, I'm going to take a couple of weeks off of work to focus on domestic things. I've tried taking time off to relax before, and ended up not relaxing, because I'm still stressed about the backlog of domestic tasks. So, I theorise, if I take time off and strictly devote it to finishing off the rearrangement of rooms we did in a hurry to look after Sarah's mother, I can have a nice bedroom again and get all our books out of storage and onto shelves in another nice room, with a nice chair I can sit and read in. Not only will this improve daily life, it will also knock a big unpleasant task off my TODO list that has been hanging around for years, because it's been really hard to make progress on that in the odd free day here and there.
Maybe once I've done that, I'll be able to relax a bit more.
UPDATE: I did that. It was pretty good; I got a lot of progress done on the rearrangement of rooms. This has removed a big burden that was hanging over me, made a room of my house that was unusable usable again, and been moderately satisfying in terms of building and using skills (I also had to replace a missing roof tile we found). I didn't quite get as far as re-instating our library, but that is now something I can make progress on in spare half-days rather than being stuck behind a massive complicated task. So, yeah, it's been very positive, but I should probably do it again whenever I can afford the time, because there's plenty of stuff still hanging over me.
Secondly, I need to make work fun, by coming up with a concrete plan to move my career in the direction I want, that fits in with the company's goals. I can't really elaborate here, but I've discussed my situation with my colleagues and we can probably work something out. Maybe I'll do one of those management courses I've been looking it (although I'm scared of adding something else to my weekly burden), too.
And, hopefully, I can shift my daily routine to get to bed in time and be less stressed so I get to sleep in time to wake up in time with enough energy to get up and get into my workshop at 8am and work on some personal project for an hour before work, every weekday. Because if I can get into that routine, I might be able to actually start making progress on interesting personal projects again.
UPDATE: I actually got to my desk for 8:30am today - and did some work on this blog post 🙂
The Future
In order to help motivate myself, and to give some background to what these "personal projects" I'm so keen about are, here's a current list.
The Big Ones
- ARGON, a redesign of the whole software
development infrastructure; sort of a distributed operating system /
programming language / distributed database thing. I've been focusing mainly
on server-side applications since that's where it would be most useful and
easily adopted, but the design also includes embedded and client devices. What
work needs to be done?
- The final parts of the broad specification (the CARBON distributed knowledge base and the NEON programming language) are at a stage where I think I need to make some prototypes to test the design, as I'm reaching my limits of extrapolation.
- Build an actual implementation of HYDROGEN, the low-level hardware abstraction layer, so I can actually start building some real ARGON software on top. Enough to be useful for interesting tinkering, then enough to be useful for some actual projects, then maybe enough to be useful for other people to find it useful and build on top of... Maybe...
- Build implementations of the ARGON network protocols for other languages, so they can be prototyped and experimented with, and they'll also be useful for other projects.
- Ugarit,
a content-addressible storage system for backups and read-only content
(photos, music, stuff you download, completed projects, that sort of
thing). What needs doing?
- Performance work on the core: it currently copies too much data around in memory, and allocates loads of large buffers that it then throws to the garbage collector to deal with.
- The ability to synchronise nominated tags between vaults (useful for more distributed and offline-operation-from-intermittently-connected-device use cases)
- A nice web-based UI for browsing and updating archives
- Developing our little patch of woodland. I need to learn how to look after the trees. You might think "Surely if you just leave them, nature will do its nature thing?", and that's true, but the woodland was managed historically, as an industrial site, and we can do a lot to speed up its return to a more natural state. And with other nearby ecosystems being destroyed, the sooner we do that, the more chance there is of endangered species gaining a foothold in our woods before their current homes are gone. Plus, I'd like to build a little hut to hang out in there, and figure out how to get power to it, and maybe build a monorail...
- A top secret (because I don't want to spoil the surprise for players!) online massively-multiplayer game idea. This is the only software project I want to work on that I actually want to make closed-source, because it's a work of interactive fiction, and should be explored by playing it!
The Smaller Ones
- Magic Pipes, a bunch of command-line tools to make it easier to mess with data in interesting ways. The TODO page in the docs lists what I want to do.
- Separate from ARGON for pragmatic reasons, I also have aspirations on designing CPU architectures, as well as designs for local-area interconnections (like USB and Ethernet). I mean, this is very much in the vein of the ARGON project to redesign everything better, but I made a Decision to base ARGON on off-the-shelf computer hardware because then actual people could actually use it.
- My "Personal Mainframe" hosting system (what might these days be called a "private cloud", although it predates that concept) - which really needs a blog post of its own, I've criminally under-documented this project! I've been doing it as a DIY-type project (because the house networking and family hosting depends on it), but I want to tidy it up and release it to the world for everyone to use.
- As a prototype of the "knowledge base as the primary means of persistent and distributed storage" concept for ARGON, and because it would be really useful for me, I want to build a "Personal Information Manager" based around a knowledge base. This would be a combination of tuples entered directly into the knowledge base itself, and "gateways" that access data from my home directory filesystem and present it as tuples. This should replace my org-mode / denote.el - based emacs setup, which is where everything like that currently lives. For a taste of why I'm interested in this: Any property can be attached to any object, and inference rules can be used to generate extra propeties - so a rule can be written such that any person object with a birthdate, or other event marked as anniversary-worthy, can cause a flag to appear in my calendar for that data every year, linked back to the object it originates from. Stuff like that is hardcoded in software in contemporary calendar/address book systems - but with a knowledge base, I can have an extensible pool of everything - TODOs, journal entries, notes, projects, people, things I've bought (with the serial numbers and warranty expiry dates), you name it - all interlinked and user-extensible.
- A childhood dream: Wearable electronics! I want a wrist-based computer (with chord-keyer text entry, as entering text is important for me and a pain on a touchscreen mobile device), a head-mounted display, and a hiking staff packaged with LiFePO4 cells and integral lights for long duration outings.
- A bunch of novels and role playing games (one of which is published: Sideworld).
- Tinkering to learn electronics, as documented on our blog
By andyjpb, Wed 29th May 2024 @ 11:04 am
Good luck! It sounds like you're on the right path in the right direction so just keep on trucking!