Toolbox
Some things I found to be useful for daily programming.
Programming
- Geany: very fast IDE, not the memory and CPU monsters out there like Eclipse/Netbeans.
- Valgrind: code analysis tool, I use mainly the memory checker and the profiler.
- KCachegrind: graphical profiler presenting runs of valgrind performance checks in a nice way.
- xxdiff: 2 and 3-way graphical diff tool, I use it because of nostalgia (aka: I got used to it).
- entr: for executing a command on changed files, e.g. make.
C Programming
- Gengetopt: parser for command line options
Database Modelling
- dbmodel: a very neat database modeller with PDF and image export. (For Qt5 there are fixed versions at http://git.andreasbaumann.cc/cgit/dbmodel/?h=qt5, branch ‘qt5’ or https://git.eckner.net/Erich/dbmodel/)
Data processing
- XMLStarlet: XML processing on the command line for fast and dirty XML processing
- JQ: JSON processing on the command line very much alike as with XMLStarlet
Infrastructure
- Using libvirtd now instead of VirtualBox (sorry, Oracle). Main reason: it’s still a little bit un-ready round the edges but hey, it’s really open source. :-)
- LXC: lightweight and surely nicer to use than Docker (IMHO). Still a little bit alpha quality though.
- unison: file synchronizer, I’m using it since years to sync my home directory between three or four machines, sort of a very easy backup.
- The backup from the local LAN to the cloud happens via FTP and some copy jobs within Bacula.
Books
- The Pragmatic Programmer: an absolute must for every programmer.
- The Mythical Man-Month: an absolute must for everybody doing a project.
- AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis: avoid mistakes by learing from bad examples.
Other
- Ion3: tiling window manager with
strong keyboard and Lua scripting support. Sadly the original author
got into fights with the open source community :-(
I’m currently using the fork Notion.
Read http://raboof.github.io/notion/ if you want to learn how to use such a window manager. - Joe: my editor for all quick editing jobs. Having used a lot of Wordstar and Turbo Pascal IDEs in my youth, jstar is the editor I can’t get rid of in my brain. :-)
- meh: as fast and easy an image viewer can possibly get. I use a fork which adds QOI support (see https://github.com/andreasbaumann/meh/tree/qoi)
- MuPDF: an equally fast PDF/XPS viewer.
- Trojitá: a simplistic and really fast mail reader for IMAP accounts. For long-term archiving of email I’m using Mutt with POP3 and a maildir directory (proved to be extremely stable over time).
- Luakit: webkit-based browser, highly customizable with Lua scripting
- irssi: for chatting (terminal)
- newsboat: a RSS feed reader looking like mutt (I’m using the old pure-C++/non-Rust version I forked as newsboat-og)
- Wordgrinder: really nice text editor if actually all you want to do is writting some text
- Suckless: pretty much every software there is 10 times smaller and easier to use than whatever makes up the default Linux user land. I’m a big fan of it.. it only should be the standard on every Linux system.
- Ripcord: way faster alternative to Discord (and yes, I also pay for software - Slack), no video capabilities though, just audio and chat but that’s usually all I need. The electron based Discord and Slack are just so unbearably slow, if I need that experience I can as well start the browser version.
Deprecated
The following tools I used in the past, but not anymore:
- Seamonkey: Seamonkey slowly gets all the “features” of Mozilla (slow, Rust build problems, out-of-memory when building and linking). So I lost interest in it. I replaced it with Luakit and mutt/trojita, irssi, etc..
- Librewolf: fork of Firefox, without all the built-in stuff from Mozilla nobody needs or asked for. I’m no longer using it, as compiling it is too much of a hazzle with frequent rust incompatibilities..
- openSUSE Build Service: for building release packages in the cloud. They deleted my home project and I’m no longer doing software development, really.
- Travis CI: for continuous integration on Mac OSX. Don’t care about building on Apple anymore due to all kind of reasons..