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.
Well. That ended up being a long interval between posts. I’m not really sure what happened. I’ve certainly been busy, but I managed to get myself into a kind of procrastination dependency loop. I wanted to write a new article, but I also wanted to upgrade to Pelican 3 (I was previously using Pelican 2), and I somehow persuaded myself that I need to do that before I wrote a new article. I didn’t upgrade, because I was imagining that it would be a long, difficult process, and I needed time to do it properly.
In the intervening time since first setting up Spacemacs I have been getting more familiar with
org-mode, and becoming increasingly impressed by its power and flexibility. Consequently, I’ve started writing by default in
org-mode rather than Markdown. What I like about it is that it provides a lot of features for structuring, re-arranging and editing text. For example, text with headings, lists and so on is defined as a tree, and there are commands for moving nodes within this tree up and down, or promoting or demoting them. These nodes can also be shown or hidden selectively, and you can even ‘narrow’ a buffer to a particular sub-tree, which means that this particular section of the document temporarily appears to be the only contents of the buffer. This is wonderful in a long document when you want to focus on a specific part, but still have access to the rest of the document when needed. Table editing is also superbly easy in Org files — it’s almost worth using
org-mode for this alone if you often include tables in your documents. Of course, the point of writing in either Markdown or Org format is that it is human-readable and easy to edit, but can be transformed into many other final document formats using Pandoc. Originally, I used the Pandoc mode package with Spacemacs, which is excellent and works with any source file format, but for some reason it stopped working for me. I tried everything I could to get it working again, but had no luck, so I was looking around for another alternative.
Regular readers will know that when it comes to tinkering with text editors, I can’t leave well enough alone. I’ve used many different editors over the years, but have kept returning at various intervals to Vim. I like Vim a lot, and despite its various inconveniences, I find myself missing modal editing and the ease with which you can move around and edit text when I am using other editors. Despite that, I occasionally drop back into the comforting GUI territory of Sublime Text 2 or Textmate 2, purely because I’ve set up some fancy configuration in Vim, but forgotten to how to use it (or — in extreme cases — that it’s even there).