summaryrefslogtreecommitdiff
path: root/content/toolbox/_index.md
blob: c4be5f4867feacf0ee6081bd1e88302a9c0c39b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
+++
title = "Toolbox"
type = "page"
+++

Some things I found to be useful for daily programming.

## Programming

* [Geany](http://www.geany.org/): very fast IDE,
  not the memory and CPU monsters out there like Eclipse/Netbeans.
* [Valgrind](http://valgrind.org/): code analysis tool,
  I use mainly the memory checker and the profiler.
* [KCachegrind](https://kcachegrind.github.io/html/Home.html): graphical 
  profiler presenting runs of valgrind performance checks in a nice way.
* [xxdiff](https://github.com/blais/xxdiff/): 2 and 3-way graphical diff tool, 
  I use it because of nostalgia (aka: I got used to it).
* [entr](http://eradman.com/entrproject/): for executing a command on
  changed files, e.g. make.

## C Programming

* [Gengetopt](http://www.gnu.org/software/gengetopt/gengetopt.html):
  parser for command line options

## Database Modelling

* [dbmodel](http://oxygene.sk/projects/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](http://xmlstar.sourceforge.net): XML processing on the
  command line for fast and dirty XML processing
* [JQ](https://stedolan.github.io/jq/): JSON processing on the command
  line very much alike as with XMLStarlet

## Infrastructure

* Using [libvirtd](http://libvirt.org) 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](https://linuxcontainers.org): lightweight and surely nicer to
  use than Docker (IMHO). Still a little bit alpha quality though.
* [unison](https://www.cis.upenn.edu/~bcpierce/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](http://www.baculasystems.com/).

## Books

* [The Pragmatic Programmer](http://en.wikipedia.org/wiki/The_Pragmatic_Programmer):
  an absolute must for every programmer.
* [The Mythical Man-Month](http://en.wikipedia.org/wiki/The_Mythical_Man-Month):
  an absolute must for everybody doing a project.
* [AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis](http://www.amazon.com/AntiPatterns-Refactoring-Software-Architectures-Projects/dp/0471197130):
  avoid mistakes by learing from bad examples.
  
## Other

* [Ion3](http://tuomov.iki.fi/software/ion/): 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](https://sourceforge.net/projects/notion/).  
  Read [http://raboof.github.io/notion/](http://raboof.github.io/notion/)
  if you want to learn how to use such a window manager.
* [Joe](http://en.wikipedia.org/wiki/Joe's_Own_Editor): 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](http://www.johnhawthorn.com/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](http://www.mupdf.com/): an equally fast PDF/XPS viewer.
* [Trojitá](https://en.wikipedia.org/wiki/Trojit%C3%A1): a simplistic
  and really fast mail reader for IMAP accounts. For long-term archiving
  of email I'm using [Mutt](http://mutt.org) with POP3 and a maildir
  directory (proved to be extremely stable over time).
* [Luakit](https://luakit.github.io/): webkit-based browser, highly customizable
  with Lua scripting
* [irssi](https://irssi.org/): for chatting (terminal)
* [newsboat](https://newsboat.org/): a RSS feed reader looking like mutt
  (I'm using the old pure-C++/non-Rust version I forked as
  [newsboat-og](https://github.com/andreasbaumann/newsboat-og))
* [Wordgrinder](https://cowlark.com/wordgrinder/): really nice text editor
  if actually all you want to do is writting some text
* [Suckless](https://suckless.org/): 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](https://cancel.fm/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](http://www.seamonkey-project.org/): 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](https://librewolf-community.gitlab.io/): 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](https://build.opensuse.org/): for building
  release packages in the cloud. They deleted my home project and I'm
  no longer doing software development, really.
* [Travis CI](http://travis-ci.org/): for continuous integration on Mac OSX.
  Don't care about building on Apple anymore due to all kind of reasons..