summaryrefslogtreecommitdiff
path: root/content/toolbox/_index.md
blob: 5b457803e5f44678c79163e89ce8c80bf7ec0add (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
+++
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](http://furius.ca/xxdiff/): 2 and 3-way graphical diff tool, 
  I use it because of nostalgia (aka: I got used to it).

## 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.

## 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

* [openSUSE Build Service](https://build.opensuse.org/): for building
  release packages in the cloud.
* [Travis CI](http://travis-ci.org/): for continuous integration on Mac OSX.
* 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/): 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](http://notion.sourceforge.net/).  
  Read [http://raboof.github.io/notion/tour/](http://raboof.github.io/notion/tour/)
  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 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.
* [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 a combination of [OfflineIMAP](http://www.offlineimap.org)
  and good old [Mutt](http://mutt.org).
* [Seamonkey](http://www.seamonkey-project.org/): back to old SeaMonkey,
  fast, no clue what they did to Firefox to make it so slow.