I’ve been having a lot of fun with Emacs since I last wrote about it. I’m gradually starting to get comfortable with it, by doing as much as possible of my text editing (as well as other kinds of tasks) in Emacs. For example, I had to write some new lectures this Semester, and used Org mode to write them, using the built-in converter to make a Beamer PDF. I used the ability to include another file in the header to set up all the stuff needed to use the Metropolis Beamer theme, which I could then easily include in each lecture file. It was a delightful way to work. I split my frame into the org file for the lecture, a
dired buffer showing the image files I wanted to include so that I could easily copy the filename into my lecture file (just move the cursor to the line in
dired and hit
w to copy the filename so you can yank it in your file), and a
docview window showing the generated PDF file.
I feel like this post could be subtitled “For real this time”. Let’s just say that it’s certainly not my first time down an Emacs rabbit hole. I’ve used Spacemacs, then given up because I found it hard to maintain and fix small issues that arose. Then I moved to Doom Emacs, and liked it a lot. It was more compact and less monolithic than Spacemacs, but it still required more Emacs knowledge than I had at the time to understand how all the working parts fitted together. Then I went back to Neovim, and so the bouncing between Vim and Emacs cycle began again. This time, something struck me: what if I was approaching Emacs in the wrong way, trying to make it into something it isn’t, namely Vim? What if I actually took the time to learn how to do things the Emacs Way, and built up my configuration from scratch, adding only what I needed and understood? It was a crazy idea, but it might just work…
My recent tinkering with Slipstream and micro.blog has been going quite well. The convenience of automatically piping my social media activity elsewhere to Tumblr has certainly resulted in more frequent posting there, which was my main goal. While IFTTT is easy to use, it has its limitations, but I didn’t know of any alternatives. That was until I accidentally came across Huginn.
It has been a long time since I’ve published anything, as I’ve had a frantically busy month or so at work. I’ve had barely any time for anything else. I haven’t sewn any garments for a while, and the only creative thing I’ve done with my hands is to start knitting a pair of socks, which I then had to unravel back to the start half-way down the foot when I made a catastrophic mistake. Things are getting a little quieter now and I hope to get back to my sewing projects, but the only productive, non-work thing I have done lately is to tinker a bit with my Spacemacs configuration. The first thing I did was to switch from the stable release of Spacemacs to the
develop branch. This is slightly risky, because of course things tend to be in flux in development. However, the general consensus in the Spacemacs chat room is that
develop is pretty stable and fine for everyday use with a bit of care. You do get the latest and greatest improvements, including a choice between using
ivy for completion. After trying
ivy for a bit, I ended up sticking with
helm, as I prefer the way it presents the completions and allows you to work flexibly with them.
It has been about 18 months since I started using Spacemacs, and I am still constantly learning wondrous new things about it, and about Emacs more generally. I go through waves of tinkering and learning, but I find myself using Spacemacs for more and more things. I’ve had a recent tinkering bout — partly inspired by some helpful resources — so I thought it was probably worth documenting what I’ve done here for anyone interested, and so that I remind myself what I did when I inevitably forget a few months down the line! This is going to be quite a long article, so whether you are an Emacs fan, or just Emacs-curious, you might want to get a drink of your choice and settle back.
It started while we were on holiday in Norfolk earlier in the year. Mr. Bsag had just got a (new to him) camera on eBay (an Olympus OM-D), and was trying it out as we wandered around enjoying the sun. I was using my Sony RX100, which I love, but in the bright sunshine, I couldn’t see what I was framing. The screen is quite good, but in bright sunlight you are basically holding the camera up, pointing it in what you hope is vaguely the right direction, and pressing the shutter. It is very hit and miss. Mr. Bsag’s Olympus had a viewfinder, and he passed it over for me to try. And oh, I had forgotten just how much I love pressing my eye up against that tiny window and looking out at the world through it. It’s not just that you can actually see what you’re doing at when it’s sunny, but — to me at least — it is a much more direct experience. That tiny window on the world is all that you can see, but that makes what you want to capture much more obvious.
And that was it, really. While I still love the Sony for its impossibly tiny size, I really wanted to get a camera with a viewfinder again, and peer out of that little window on the world. After a lot of weighing up of pros and cons, I settled on a Fujifilm X100T, and managed to find a used, but good quality one with a lot of extras on eBay.
If you use TextExpander at all, or follow people who do on App.net or Twitter, you will have noted that there was something of a kerfuffle after Smile (who make TextExpander) announced that they were changing to a subscription model (and thereby increasing the price of using the software substantially). I won’t go into all the arguments (you can read a round up of various opinions collected by Michael Tsai here). Smile have since altered their position, providing a much reduced lifetime subscription cost for current TextExpander customers, and promising to maintain the current version 5 for those who preferred its features to those of the new version. I’m not a great fan of subscriptions, except for more conventional services (like Dropbox and so on) where it makes more sense, so by this point, I had already looked around for an alternative and switched. I was reminded that I already own and run plenty of applications that provide snippet expansion as one of their features: LaunchBar, Alfred, Dash, Keyboard Maestro, and it is even built into the operating system in El Capitan. After a bit of thinking, I went with Keyboard Maestro and have been very happy with the switch.
When I set up this blog to use Hugo with Git hooks on my server, I had in mind that this setup might allow me to publish articles from my iPhone or iPad as well as from my computer. This would require an iOS app that would allow me to push to my own Git repository and also create files in the app. I had trouble finding such a thing until I stumbled on Working Copy.
As I wrote about earlier, I’ve just finished moving this blog from Pelican to Hugo. I was so impressed with Hugo after setting up Slipstream to use it, that I fancied trying it here as well. Not that there’s really anything wrong with Pelican — it’s a great system, with a lot of flexibility. It’s just that Hugo has two big advantages, the first of which is particularly useful to me, as I’ve got such a large site: speed.
It seems like only yesterday that I was converting my neglected Slipstream snippets blog to a Wordpress installation. I originally did it so that I could use IFTTT to provide some of the content automatically by pulling in stuff I had posted elsewhere (like Flickr, Pinboard and so on). That was a good idea, and it worked reasonably well, but two things became apparent quite quickly:
- I am really bad about keeping Wordpress updated, and with all the hackers out there trying to spam Wordpress sites, that’s a dangerous game to play. I hadn’t yet been targeted, but my feeling was that it was only a matter of time. You should be able to hit a button in the Wordpress dashboard to update, but due to my particular set up, that wasn’t working and it had to be done manually, which is to say, never.
- I was never really happy with the styling. Ideally, I wanted to format each of the types of post differently depending on the content. I’m sure if I was better at modifying Wordpress templates, I could have accomplished it, but that was beyond my abilities.