Every day open source developer tools
I am probably old fashioned developer and a kind of dinosaur between all other developers so my tools might not be the programs used by the most of people writing code.
Some people say Emacs is a good operating system but a poor editor. I have to disagree with this statement. It is excellent and very flexible editor.
Don't you know how to exit it, how to save a document? You need to learn some basics regardless the program you use. It might be equally difficult to exit from or save a file in Vim, until you learn how to do it.
Well, the main reason that I use Emacs is not even the fact that it is a good editor. A support for virtually all programming languages is a thing appealing to me. I write code in at least 5 languages every day. Most of my code is in Java, I also write scripts in Bash, Gawk, Groovy, PHP and some XML almost every day. But I have to work also on project written in Python, Perl, C and C++ quite regularly.
Using Emacs for me is like using Jabber. Emacs one tool for all programming tasks - Jabber one system to communicate with all other people. Of course Emacs needs smart plug-ins to efficiently aid with Java programming and the same way Jabber needs transports for communication with people in different IM networks. Jabber allows me to use just one IM client for communication, Emacs allows me to use just one tools for programming tasks.
On top of that I also create scripts in Tigase Test Suite scripting language (which doesn't have any name yet) and I am writing these articles off-line in something what is similar to HTML but it is not really valid HTML or XML. There is no support for those 2 "languages" in any known to me editing application. Writing a simple aid plug-in for Emacs is just a matter of few lines of code and I have a syntax highlighting and simple macros to speed writing up.
It used to be a heavy and memory consuming application. Not anymore. It uses almost the same amount of memory as 10 years ago. But now those 20-30 MB is insignificant number comparing to modern IDEs.
Enough about Emacs.
Second important tool is a text console. With a smart shell you can automate almost all your daily tasks. Well, except programming itself of course.
I use "modern" version of the old, good text console called Konsole available in Kde environment. It offers basically the same functionality as the old one, plus
tabs for multiple sessions, good UTF support and screen history as long as you wish assuming you have enough RAM for this.
Firefox is my every day tool. Well, not the Firefox itself. I should rather say WWW and the browser is just a window to look through. You can't even substitute it with good books because for most of my tasks they are outdated at the moment when authors finished writing them. Magazines are usually more up to date but offer much less technical information. The knowledge is what I need every day in my work and the Firefox is a tool for accessing this knowledge in efficient way.
YourKit Java Profiler is my new acquisition. YourKit was so kind to offer full license for free to Tigase project. I used to use a few other Java profilers available on the market and I must say this one is the best I have ever used.
Easy to install which is not always a case for some other products (even for me). Very easy to use. Well the screen is similar to almost all others but accessing to all commonly used functions and the information displayed on the window is exactly what you need.
I use it as a standalone application so I can really appreciate its very low resource consumption. Simple monitoring mode gives you a lot of useful information without affecting application performance.