Random thoughts

October 15, 2017

Modules within Emacs

The pitch Do you maintain your own .emacs.d and worry that it is a single pile of complected and unmaintainable logic? Fancy a bit of spacemacs’ layers? Modules, modules and more modules for the win. Tooling This approach requires a trivially small amount of elisp and a single plugin (ivy, actually counsel, all of which is confusingly called swiper!). The code The code in its entirety (be WARNED, this is my first entry into Emacs’ lisp): ... Read more

October 11, 2017

A new experiment

So I am trying a new experiment… Thanks to HUGO and ox-hugo there is now a feasibly blogging platform that doesn’t take me out of emacs. I am very bad at blogging. This at least removes a number of barriers (markdown, non-emacs-editor etc.). So, welcome, and let’s see where this takes us!

February 14, 2017

mpd, ncmpcdd, perl, CPAN and song ratings on OSX

Having grown tired of the weight and cost of a GUI I am returning to my lighter-weight roots as much as possible. I can’t quite reproduce the fantastic experience of i3 on the mac but using terminal based apps is a good first step. So, after experimenting with the excellent cmus I was sold on the convenience of terminal based music players (did I mention how fast these things are?!). However, cmus, whilst excellent had a few things that didn’t quite gel with me: ... Read more

December 8, 2016

SSH keys and unRAID

I wanted to rsync some data directly to and from my unRAID server. (And yes, the eagle eyed amongst you will remember I moved away from it previously. I’m back, but that’s for another post.) The problem is that sshd is a pig about permissions and whilst unRAID does come with some persistent SSH keys, because of the underlying file system (exFAT or FAT32) the permissions are too strict. ... Read more

December 2, 2016

Managing dependant projects with leiningen

Caveat For some reason the nicely aligned clojure snippets are rendered weirdly. Probably some proportional/fixed width issue somewhere. Apologies. About I strongly believe that ignorance is one of the most powerful tools we should employ when we build software. As a mechanism to enforce de-coupling it is great. What?! Huh?! No, I haven’t lost the plot (any more than usual), I simply mean that I strive to build small components that are as ignorant as possible. ... Read more

November 19, 2016

Seafile library history

Seafile has a really neat ‘history’ browser - on the web site you will see a little clock icon when viewing a library. If you click this you can navigate to a point-in-time and then either restore the entire library, a folder or a file from that snapshot. For example, from the list of libraries: pick a library: click on the history icon: choose a snapshot: navigate as you wish: ... Read more

November 18, 2016

Fun with NAS's

Fun with NAS’s. If you find that a contradiction in terms then you might not be the right audience for this post - all the best :-). I have about 2TB of data that I need to maintain. Some of it is (legally owned) media, some of it are documents, photos, machine backups etc. Having managed a bunch of IT infrastructure (why do people assume Software Engineers know the first thing about computers? ... Read more

November 17, 2016

A moan about Apple

About I don’t usually moan publicly as it never does any good and misery likes company. However, I am having a bad day, this is my personal blog and so Apple is the target. When I first started using computers the major contenders were DOS, NextStep or Apple I (or II?). There were also Linux variants such as the venerable twm and fvwm. I think Gnome 1 was just rising up as well. ... Read more

November 11, 2016

Speeding up ClojureScript compilation

About If you are using ClojureScript (and if not, why not? :-)) then I *strongly* recommend you enable parallel build. I mistakenly thought this meant that it would run separate builds in parallel, but no, it is far cleverer and more useful than that, it builds a single build in parallel. Also, to be crystal clear, this isn’t going to do anything to your runtime performance, only the build time. ... Read more

November 10, 2016

Restricting helm and ag to certain files

ag is great and searches through your code base in the blink of an eye. Coupled with helm it makes for a great experience finding things. If run in a git project then it helpfully ignores those in your .gitignore file. However, in most projects I have files with different extensions, maybe some .md for documentation, some .html for published documentation, .clj, .cljs, .cljc, .js etc. I often know in which files the thing I am searching for lives, but I hadn’t figured out a way to restrict ag. ... Read more

© Malte Kiefer 2016