The core of my Emacs setup revolving around Org-mode, plus my Emacs-styled web browser Conkeror, do not change their configuration very often at all, so time is not wasted on that, and yet they make the stuff I actually do go very smoothly as they are setup carefully to make that happen. The problem is that the rest of my computing setup isn’t quite so slick. There is stuff lumped into Emacs that makes it throw random errors and refuse to do things and to load slowly; it now takes upwards of thirty seconds to open my diary on my laptop, for example, and another 30 seconds to switch to view a day other than today. Solving these issues tends to be mini-projects: I’ll sit down for three or four hours and get things fixed.
I think that spending this time would be appropriate if computing were my main occupation. If I was a programmer or sysadmin, having my setup tweaked for maximal efficiency in all these operations would make sense. But I’m not. I have maximal efficiency for web browsing which everybody does and for flinging text around, which is what I do in studying philosophy, and because I do this so often, the argument that it is worth spending the time setting these things up because of the time savings later on applies. But for computing stuff this isn’t really true. Using a graphical file manager would be stupid if I was always moving things around servers and whatever, but I don’t do very much file management outside of saving and loading files in Emacs, so my semi-broken Emacs file manager and the command line aren’t worth tweaking. Spending a lot of time making sure Org-mode does exactly what I want, though, makes sense, since I depend on it for the things I do pretty much every single day of my life.
Now, to CRUX, the distribution I use underlying all this, and a representation of the big issue here. CRUX is really, really cool. The super-fast boot time brought about by a slick kernel is great to watch: why use things like initrd and GRUB when you can get by with the likes of LILO and a simpler kernel? The package management system is also very elegant. I love the way prt-get works. The two main things attaching me to my current setup are this sense of coolness, and secondly, the fact that I’ve put a lot of time into all this stuff and it feels like a waste to throw it all away.
The truth of the matter is that the vast majority of what I perceive as cool here and securely fasten my ego to is really not worth having because of the downsides above which are only worth overcoming if computing were a major part of my life. Computing is a part of my life but it is bigger than it should be, because I occupy myself with the essentially easy task of fixing these problems which aren’t really worth fixing; I’m fooling myself with them.
Of course all this could be interpreted as another restless move to a new window manager. Debian Stable with Xfce would be the way to go because it is something that I will definitely not ever be forced into messing around with: old, safe versions of software one can rely on, and no need to compile it all as I presently have to do with CRUX. Indeed, my experience this morning has been like my experiences in the past when I get a new computing setup idea. I can’t stop thinking about it. The idea occurred to me about an hour into my work this morning and I could see my concentration and focus drop off a cliff, and stay like that until I’d done a little research and started writing this post. The fever returns, and grips as hard as ever.
However, I think that this is in fact a sensible conclusion to the whole affair of perfecting my computing setup. I took my enthusiasm too far in the following ways: I let it escape outside what was actually useful in my life, that is, it extended to the window manager and operating system level, and that added on a massive maintenance burden which I’d rather hand off to Debian; secondly my obsession with putting everything inside Emacs made Emacs rather worse at what I actually want it for. Also my minimalist let’s-make-everything-fast stuff isn’t really true. My setup uses masses of ram once running and boot time is mostly irrelevant because I always use suspend rather than turning off nowadays (except when library scout unplugs suspended battery-free laptop overnight, grr).
So I now face the heart-rending task of removing these things I see as really cool. I’ll go through my Emacs config and be like, argh, I never use the features offered by this minor mode, but I feel like I’m not adequate if I remove it from my modeline and stop it from slowing things down. This will be very hard. Then I’ll have to get used to some new window manager keybindings. This will be easier, as I tend to adapt to such things quickly. Then I’ll have to get used to the feeling that something I was addicted to for my comfort that I always had this construction of mine to come back to won’t be there anymore, I’ll just have a cold and clinical Emacs staring back at me, waiting for me to do something useful. I think this is probably a good idea. To make it easier I’m not going to delete Emacs config lines, just comment them out; it doesn’t make any actual difference of course.
Hopefully I have got across the sense in which I am addicted to my setup in this post and how I think that’s bad outside of core Emacs and Conkeror, which really are worth the time. I am taking the best aspects of my software setup project through with me and attempting to throw off all the unnecessary emotional connection with the rest of it.
I should note that I also want to switch back to mutt from Gnus. I like Gnus for some fancy features I have setup for quoting and forwarding messages, and how I can read my webcomics inline, and I like the integration with Org-mode. However for each one of these advantages I can quote to you a problem of how it doesn’t quite work right and it’s not worth fixing. E-mail is less important to me now that I don’t do things like Wikipedia. I just want to get through it basically. So I will need to spend some time configuring mutt to do a good job of that—keybindings and integration with my running Emacs session.
So, here’s a list of things I need to accomplish to make this happen. I am currently ahead on work so I think I might spend this evening on this, leaving computers on overnight to copy files between each other; git-annex is presently very slow.
- Do and carefully document a Debian Squeeze setup to get the software I use in place. This includes OpenVPN and network mounts and e-mail routing. Do this on desktop computer. May need to backport some things e.g. a decent version of wine for StarCraft.
- Do and document and/or check into git (not sure how well this will work) a customised Xfce, carrying over bindings for the window manager shortcuts I actually use regularly (there are maybe six of these). This will include setting up a terminal emulator for quick access.
- Get alternative software going for e.g. my music player.
- Sync files etc.etc. so that computer is usable.
- Set up mutt for e-mail with Emacs and offlineimap. This will take a while.
- Hack Emacs config to pieces as described. This will take even longer. This will end up dropping e.g. my IRC client so replace this with something like xchat, since I almost never use it anyway. Maybe drop bitlbee after all these years too, not sure.
- Once sure this all works, re-install laptop to match desktop once more. This step can wait because of course all my files will still be kept in sync with my epic backup and sync setup.