gemini://://carcosa.net/journal/20200929-some-computering.gmi
#

Finally, some recreational computering

I've been pretty swamped with family and $DAYJOB for the last few weeks, and I've had some recreational computing ideas that have just had to sit on the back burner for a while, because by the time in the evening I have time to play around, I don't have the energy. But last night, while waiting during eldest child's swim practice, I had a little bit of time to do a couple of things.

I *didn't* have a laptop with me, and this influenced my choice of mini-projects. I did both of these things from mosh on my cell phone, logged into my home server.

##

Compile the native-compilation branch of GNU Emacs

I'd been meaning to do this for a while, since I heard that the project to use libgccjit to native-compile Emacs Lisp to machine code had landed in a feature branch in the main Emacs git. I had already built from source a few weeks ago, to move onto Emacs 27.1, when my distro was still on 26 (it's updated since then). I followed some instructions from Emacswiki.

It was quite straightforward, but took a while. With just the system libraries compiled, it was pretty fast, but I went ahead and told it to AOT compile my ELPA directory. It froze for a couple of seconds, then started compiling in the background, and I let it run for a few hours.

This morning, Emacs is *fast*. It's honestly hard to overstate how much faster it is. Regular Emacs isn't by any means slow on any reasonable hardware, but I do run Spacemacs, which slows things down a lot. Nativecomp absolutely overcompensates for Spacemacs's slowness.

##

Install a local version of CAPCOM

I also had been meaning to install a local version of CAPCOM that uses the list of all known atom feeds on Gemini from GUS, and which updates more frequently than the main instance. So, I did that. It turns out, I'm only tracking 7 more feeds than the main instance, but at least I update every hour rather than every 6 hours. I do plan on scripting the update to the feeds list, so that it's always up to date with GUS.