After reading my friend Jerry Cheung's post about his most used web development tools, I felt like I wanted to also share my "basic necessities of development"; but not just that-- I also want to share some regular system tools that I find essential to a desktop/portable computer. This doesn't reflect my workplace development environment, which is extremely locked down and provides little leeway for customization. These are personal favorite go-to apps that greatly ease my computing life.
Like Jerry, I switched primarily to Chrome in 2010, and it just felt like a better experience. I read the stats on memory usage, and saw that it doesn't offer any significant improvement over Firefox. It also lacks the many great add-ons that Mozilla has like Firebug, Live HTTP headers, Add N Edit Cookies, and YSlow. But I am so used to it I often get jarred into reality when I enter search terms into the URL bar of other browsers.
As far as multi-chat clients go, Adium is fairly standard for OSX. I like the OTR (Off-the-record) encryption for chatting with other Adium users, and the fact that it supports nearly every chat protocol. Skype is still the way to go for video, until Apple fixes FaceTime for Mac.
Nothing beats the coverage of things you can develop in Eclipse. For me, it's Java. And it's great that I don't have to change IDE's when I want to work in Google AppEngine, GWT, Android, and PyDev. There might be better faster IDEs out there, but Eclipse is definitely a bang-for-the-buck tool that I cannot do without. And it's a divide by zero value because Eclipse is free! VMWare Fusion
Inevitably, we need to test how Windows users view our applications. I also find it funny that Adobe Flash uses what appears to be less resources when run in a Windows VM on IE8, then it does when running natively on Firefox/Chrome.
"The Missing Text Editor for OSX". I have to agree. Syntax highlighting for most every language is quite delightful to view (except, amusingly enough, for ASP.NET). This is where Ruby and django development happens (if not in vim).
And now for some regular workstation utilities
The above list is fairly innocuous, and even standard for most developers. They are part and parcel to almost all things programmatic that I do on my machine. Of course, there are at least a half dozen terminal windows open as well.
It is nice to see, at a glance, what your system is up to. I don't need a dedicated windowed application telling me all kinds of running graphs and alerts, I just need a little HAL-like widget in the corner of my screen that I can reference every once in a while if my system is slowing down.
Little Snitch likes to tell me when some rogue program is trying to talk to the Internet. I use it as a line of defense against trojans or applications that I have not explicitly told to report to a server out there.
This application encrypts specific applications and folders. While it's much like encrypting .dmg image files, it takes the manual process out of it and is very convenient. I use it mostly to lock down applications that might be storing PII in places on the filesystem I am not aware.
You have rehearsed your backup/recovery strategy, right? JungleDisk is not the cheapest among the cloud backup solutions out there, but I like that I can use my own AWS S3 buckets; and that files are stored encrypted and immediately available if I need them. I just set it and forget it, and I know that my system isn't the only repository of my photos, documents, and code.
Don't obsess over the tool, just work
I know it's easy to debate this or that best tool for the job. Whole project portfolios have been lost in analysis paralysis. I am always checking out what others are using, but what drives it is getting to the task at hand: Creating cool stuff.
What are your favorite tools? Feel free to share in the comments.