My software stack revisited – Summary and Future

This is the last post in the series. It has taken me a while to write, edit, and then rewrite because I didn’t like the first outline (which I didn’t realize until I got to the end).

The software I have listed in these posts are there for a reason. While they work well in their own right, when put together, the whole forms something greater than the individual pieces.


Most of the software on the list is lightweight, almost a requirement as one of my systems is a netbook, and although the resources on my desktop seem almost infinite in comparison, I want to be able to work with my things on the netbook as well.


I go for CLI-apps rather than GUIs because that, more often than not, keep my fingers planted on the home row, instead of the right hand scurrying off to the mouse ever so often. Because, more often than not, the CLI-apps are more lightweight than the lightest of GUIs. And because more often than not, a CLI takes up less screen space to convey the same amount of information, as a GUI does.

CLI-based programs will also work when the X-server has broken down, and your stuck in a TTY, or you have your software on a server and are accessing it over SSH from a computer where either you or the system is unable to install the software.


I prefer plaintext over binary storage formats because it leaves me in control. If the worst comes to the worst, I can retrieve the data I need from a simple text-editor.

Not to mention that plaintext is easier to diff, which is good when you check it into version control and run into a conflict.

In the case of LaTeX, one of the best practices I picked up was to let each chapter be its own file, and then have a master-file which includes the chapters.

What this means is that when you want feedback on a specific chapter, you only need to send that, and not the entire project, which is bandwidth friendly.

And please, no comments about fancy gigabit infrastructure all over. You try sending an email or surfing on a long train ride when there are 10+ douche bags hogging all the bandwidth listening to Spotify…

Plaintext is also rather easy to parse. Combine this with a shell script, and your imagination is your only limit to the stuff you could do.

The future

There are definitely more uses for the server, such as VPN and perhaps a mumble server. Time will tell. I do know that I will spend the next couple of days trying to configure nginx and uwsgi so I could start doing some Python web-stuff.

I have been considering dropping Pidgin and instead give bitlbee a try. This would mean that all communication (with the exception of email and microblogging) would instead go through irssi. That would mean one less GUI-app, and also that all the logs would be gathered in one place (on the server) instead of the current situation where Pidgin logs are interspersed between the desktop and the netbook.

I have in a similar fashion thought about replacing Thunderbird with mutt. It would mean that I would replace one software (Thunderbird) with five (mutt, msmtp, offlineimap, abook and mairix).

Edit: Something very similar to this. (Thank you Thomas)

Well, four anyway, abook is already installed and operational.

msmtp is used to send emails (and thusly communicates with an smtp server.

offlineimap is used to sync an IMAP mailbox (fetch new mails, mark mails as read or deleted on the server, etc)

mairix is a full text search engine for Maildirs.

One of these days, I will also try to become better friends with zsh. It has many nice features which I think could increase my efficiency at least somewhat.

That’s all folks, I hope you have enjoyed reading the series as much as I enjoyed writing it. Comments are enabled in all the post, feel free to add questions or suggestions.


Tags: , , , , , , , , , ,

4 Responses to “My software stack revisited – Summary and Future”

  1. Thomas says:

    Hi, I really enjoyed your series since over the years I have come to very similar conclusions like yours.

    I have two remarks, or more a remark and an advertisement.
    1) Splitting LaTeX-files: I have never really understood the argument why you would do this because it makes search and jumping around in the file so much more of a hassle while saving only very little bandwidth (zero if you send patches instead of the files!) For me it was a real enlightment to drop this ‘each chapter one file’ policy when writing my thesis. Since then I have also migrated my .emacs and other configurations back to ‘big-one-file’. These files can have sections and comments that highlight jumping points, but having a gazillion files seemed just stupid over-organization to me.

    2) For offlineimap and msmtp you could check out my freshly written guide:


  2. Patrik says:

    Hiya Thomas. Thank you for visiting, and for your kind words :D

    I can’t really explain why I took to liking the splitting of (LaTeX) chapters into their own individual files, but for some reason I find it a lot easier to structure my work that way. It might just be that my mind works better that way. Obviously YMMV but everyone at least has the choice of working in whatever way works best for them :)

    And I will be reading your guide the second I have posted this reply.

    Thank you for visiting, and welcome back :D


  3. mina86 says:

    I never really got to liking zsh. Its “disrespect” to the POSIX standard repulses me from it. Also, at one point, I found that I use none of the features of zsh that are not found in bash so I got back to the latter. I mean, sure, the interface for completion (eg. list you can navigate) seemed cool at start but then it started annoying me (as a matter of fact, I find too much of tab-completion destructive to my productivity).

    At any event, knowing your shell can really help. I remember when I first discovered ctrl+r (for incremental search in previous commands) — it was such a productivity burst. Recently I’ve learned to use “!$” and other ”!…” and again it proved to be such a productivity burst.

    As for bitlbee, as I mentioned in comments to one of the previous entries, I cannot recommend it enough.

    As for mail, you could always switch to Emacs and Gnus. :P

  4. Patrik says:

    Hello again :D

    I haven’t looked closely enough at zsh to get a firm grasp about the pros and cons. Just have friends having recommended me looking into it. For the time being I am however quite pleased with bash. My personal bash-revelation was “ESC.”

    Yeah, bitlbee is one of the software I’ll be looking into sooner rather than later.

    And here I thought I had carefully taken the time to phrase myself as to not get into a vim/emacs flame war… ;)
    Emacs is out of the question. Been there, got the emacs-pinky ;P