www.bundesbrandschatzamt.de
Babblings about Systems Administration.

Emacs

I’ve been using EMACS for the better part of my sysadmin live. Back in the days I’ve learned the basics of editing. Every now and then I learned another shortcut or command.

Things changed with my current position of a Senior Sysadmin: Now I spend most of the day in Emacs. Writing hundreds of lines of code and configfiles I figured it was time to dig deeper into Emacs to save time and make my life easier.

Like many other people I have multiple computers. Saving my configs in git was the first step. You can clone it if you want:

git clone http://git.bundesbrandschatzamt.de/emacsconfig.git ~/.emacs

Then I came across using template.el and writing templates for perl and bash.

Probably one of the biggest timesavers in the day of a sysadmin is the tramp.el. Now you can use your local customized editor of choice and change things via sftp. I am using tramp for years now.

Twittering-mode is something I have to setup finally. It’s worth saving searches like #emacs or #cfengine and check out news every other day. You will learn a lot with this method.

auto-complete-config.el is a huge timesaver. I am still trying to figure out how I can extend it with online documentation for things like cfengine.

Talking about cfengine: For sure I am using cfengine3-mode.

Have you heard of dns-mode? Besides highlighting it adjusts your SOA serial for you while saving.

Every now and then I stumble on the keyboard with my fingers and hit C-x C-c by accident. setq confirm-kill-emacs saves my day now.

Thanks to emacswiki I was able to configure other nice tidbits like RecentFiles, stack minibuffers, completion in mini-buffer or highlight text between parens.

For changelogs you need quite often a timestamp with your name and email. Having my own shortcut for it is very handy.

Using tags files for cfengine I wrote my own function for loading a specific tag file and opening my main config file in cfengine. Here can I start my little task or search for tags and do something bigger.

Learning some elisp opened new windows for me: In my CFEngine config file I have block defining useraccounts. Some of this data is from a LDAP system. Instead of using a different programm to fetch the data and edit by hand I wrote a small elisp function. Now I call the function, enter the username and the complete blog is written to my file and filled with data. Awesome!

Getting familiar with org-mode will probably take one or another week.