Software I use
This page was originally created for a software engineering assignment, but people ask me what I use relatively often so decided to keep it availiable.
I use Gentoo Linux as my main operating system, and Arch Linux for my laptop. Being on linux pretty much means you're using the GCC compiler.
Gentoo gives a lot of control over aspects of the system that you don't really get with other linux distributions (such as build-time options/features). Arch is fast.
Most of the software is open source and free of charge. Anything that isn't is stated.
- Desktop software
-
KDE
It's a reasonable desktop environment, and a lot of the functionality is common across the applications, as it's all contained in shared libraries so doesn't eat as much memory as other apps. Before I moved to 64 bit I'd have thought 4GB would be more than enough memory!
-
Eclipse
This is an IDE for the Java programming language. If only I could get the c/c++ plugin working.
-
KATE (K advanced text editor)
I use this for most development work, with the exception of Java, for which I use Eclipse. Really just your bog standard editor, but you can attach a terminal to the bottom of the window and it does syntax highlighting.
-
Yakuake (a KDE application http://extragear.kde.org/apps/yakuake/ )
This is a terminal app that you access with a hotkey. It behaves kind of like the console in games such as the quake-based ones.
-
Firefox
I use the plugins noscript and adblock. Noscript lets you whitelist scripts from the web on a per-domain basis, which is essential with all the drive-by exploits floating around.
-
IRSSI
This is a nice little IRC client. It runs in terminal mode and has an interface similar to BitchX - the advantage being that it is still maintained.
-
screen
This is an invaluable tool. it allows you to keep shell sessions running after you log out, and then come back to them later. I use it for irssi primarily.
-
Compiz
This is a window manager for X11 that pushes a lot of the work of the X server onto the GPU so that your CPU doesn't get eaten when dragging windows etc. Big performance increase (if you disable the silly effects). The older versions used to leak a lot of memory and there are a couple of compatibility issues (e.g. swt/awt with java). Also it chops down your openGL performance but I'm not a gamer.
-
KDE
- Development tools
As a programmer, there are tools I use for development. Eclipse and KATE are mentioned above.
-
gdb + kdbg
GDB is the standard debugger on linux. However it can sometimes be cumbersome to use. KDBG is a QT frontend that lets you step through more easily, keeping better track of memory contents. It's a multi-window interface similar to the gimp, which I quite like - especially on multi-monitor setups.
-
ALD
This is an assembly level debugger. It has an interface similar to gdb but single steps through assembly instructions. Now the assembly you see while it's running will probably be slightly different to what you typed into the assembler. The reason is a couple of instructions end up with the same opcode (they're symonyms for each other).
-
Subversion
A version control system. Simply, if you're working on any non-trivial project then you need version control.
You also need to think about when you commit. It can be as bad as simply taking a copy of the directory every now and then if you don't use it correctly. It's better to make one change at a time - which can be difficult during early development because there's so much to do. I generally check it in once there's something that runs, by then the structure is enough that you can better seperate the remaining tasks.
-
Valgrind
You must have heard of this one. It serves a lot of purposes, but probably the main one is the ability to look for memory leaks, unaligned accesses and generally things you do not want your program to do. It has also saved me from a couple of compiler misoptimizations.
-
gdb + kdbg
- Productivity software
- OpenOffice
This is a fork (or the continuation of) Sun's StarOffice package. It contains the standard classes of productivity software and is mostly compatible with Microsoft® office file formats. Mostly I use it when I'm given a file in
.docor.pptand need to either edit or view it - in which case I just dump it to a pdf or postscript file. - Kile
This is an IDE for LaTeX documents. For picking up where LyX left off.
- OpenOffice