dcsimg

Helpful Tools for Software Developers

Coding is often just a small part of software development. There are lots of other tasks to attend to. Here are some tools to help with all aspects of the job.

When software developers get together, chatter quickly turns to shop talk. Developers regale one another with tales of hair-pulling bugs, demanding clients, cheap hardware, and fantastic hacks. Conversation includes esoteric debates, too: the advantages of one processor versus another, or the aesthetics of indentation. There’s even proselytizing: Emacs or vi? Mac or not Mac? RMS: angel or devil? And of course, no professional gathering would be complete without a discussion or three about the tools of the trade. Indeed, of late, there seems to be a veritable explosion of great tools for developers. The ubiquity of the Web has democratized the marketplace for such tools, but Web application development is sufficiently refined that propping up a new product online is quite tractable and inexpensive. Moreover, leasing an online service such as Github is cheap compared to purchasing licenses, installing software, and maintaining internal servers. And, in a boon for developers, the cost of switching from one online service to another is relatively slight. All things combined, these are heady days for software developers.

This week, I list some of my favorite software development tools. There are the usual suspects: an editor and a debugger, but I also highlight some tools that are far less technical but no less vital to the job.

Operating systems

Since this is Linux Magazine, it’s no shock that I consider Linux essential for the job. Virtually every tool and package is available on the platform, and since much of the software I use originates on Linux, its my canonical reference for operation. A bug in a Linux package installed via apt-get likely means the bug exists on all platforms. Software installation is also a snap, the source to every utility and library is readily available, and hosting is cheap. For software development, there is no equal.

However, coding is often just a fraction of the time developers spend on software development. There’s project management, reporting, email, documentation, billing, and more. Linux offers some solutions, but the king of productivity platforms is the Mac. From email to drawing tools such as OmniGraffle, the Mac is my preferred platform for daily work. On its surface, the Mac offers rich and GUI applications; at its heart, it’s a FreeBSD system that operates identically to my Ubuntu server.

I have a suite of preferred tools on the Mac. Parallels runs virtual instances of Linux and Windows on my Intel-based MacBook. Navicat, Seequel Pro, and MySQL Workbench peer into MySQL. Navicat is a power tool, but I find the minimal Seequel Pro more convenient of late. OmniGraffle creates diagrams and wireframes with ease and has no equal on any platform. And Textmate and BBedit are permanent denizens of my Dock. Textmate is incredible for Rails coding, but I prefer to write HTML and text documents in BBedit. I also run lots of little gems: PTHPasteboard Pro minatains a near-limitless less of clipboards; Teleport lets me use one mouse and keyboard to span a desktop full of Mac machines; and Billings keeps track of my billable hours.

I also find the new debugging tools in Safari 4 to be quite good. The Web Inspector benchmarks Web page download performance and can even debug JavaScript, although Firebug is more transparent.

Debuggers

Speaking of Firebug, it is my preferred tool for debugging client-side Web application code. I suppose it would be more correct to recommend Firefox, since Firebug is simply an extension. The third-party add-ons and extensions make Firefox a hands-down winner for application development. Y!Slow provides insight on non-performant Web pages, and SenSEO not provides similar metrics for search engine optimization (SEO) benchmarks. Just point SenSEO at a page and it advises how to improve the metadata accessible to the search engines.

On the server-side, I prefer debuggers over printf and inspect statements. Both irb and rdebug suffice for Ruby development, while embedded debugger calls help to debug Rails applications running under the standard Rails Web server. Stalwart gdb tackles C.

Related to bugs, I currently use Lighthouse to track bug reports. One of its advantages is the email gateway: Others and I can submit new tickets, make amendments, and track progress all via email. Other tracking software, including Jira, also provide email portals, but this feature and the simplicity of the Lighthouse user interface. Another option is Sifter, which features an even more attractive and approachable user interface. Prices are comparable: each is around $20 per month for a few projects, disk space, and seats.

Software Services

Lighthouse and Sifter are just two of many services now available online. Task management is the strong suit of Basecamp and a similar tool named Redmine. Basecamp is free or cheap and great for project management. It too features an email gateway: replies to certain messages are automatically appended to ongoing conversations.

Gthub and Beanstalk provide Git and Subversion hosting, respectively. I continue to use Git from the command-line, but I’ve switched to Versions on Mac OS X to interact with Subversion. Both version control systems seem popular, with some projects on one or the other. I suspect I use Git more, simply because its cool among Ruby aficianados, and its operation is something of an analog to traditional utilities like mv, rm, and the ancient Revision Control System (rcs) found on Unix systems back in the day.

Glancing at my bookmarks, I also use Twitter to follow projects, companies, and people. The advantage of Twitter and a Twitter client like Adium or TweetDeck is the immediacy: its flags a tantalizing message for me. I often forget to catch up on my RSS Feeds (read via NewsFire), so Twitter is an adequate substitute for instant updates. Many lay people use Twitter; others do not get it. For me, Twitter is an essential channel for me; otherwise, I’d miss a lot of important patches, releases, and security alerts.

And Lots More

I typically write about my arsenal of tools in this column. Recent entries included articles on Sunspot for search, Typekit for better fonts, and CSS frameworks to jump start Web page development. In no specific order, here are other favorites I am tinkering with now.

  • Eliot Horowitz wrote about MongoDB this week. I’ve applied it to store everything from email messages to user profiles, two examples of data that can vary in size and content. MongoMapper is an ActiveRecord-like interface to MongoDB for Rails applications and I highly recommend it. Mongo drivers and software is also available for Java, Python, and PHP, too, at a minimum. I will write about MongoMapper next week.
  • JQuery is my preferred JavaScript Ajax library. jQuery is powerful and quick to learn. I do wish at times that JavaScript was not the only language that ran in the browser—but multilingual browsers seems like a Pandora’s Box.
  • Stack Overflow is a great place to post questions and provide answers to assist your fellow geek. Each correct answer you post earns you some street cred and karma. If you’re in a jam, post here and look for a suitable Google Group for your topic. You should also consider IRC. Yes, it’s old school, but if lots of others are online, a quick chat can also provide a solution to some vexing issue in the middle of the night.

Proper Fuel

Finally, developers need proper fuel. Some run on cola, others on coffee, and still others on microbrews. My power source of choice is Thai food. With it, I can code and play the keyboard like Linus and Linus, that is Torvalds and Van Pelt, respectively.

If you have a favorite fuel or an application you cannot live without, drop me a line. I’d love to hear about it.

Martin Streicher is a freelance author and Ruby on Rails developer. You can reach Martin at martin.streicher@gmail.com.

Comments on "Helpful Tools for Software Developers"

roninbv

Excellent article, and some valid arguments for development on OS X for deployment on Linux Servers. I would have to say that you can be just as productive on a Linux box, if you take the time to learn the tools. As far as an IDE goes, you can\’t get much better than Netbeans, whether you are doing RoR or PHP. It hooks right into your debugger (rdebug and xdebug respectively). Subversion and access to databases are built right in, although the data access is not as robust as I would like.

Reply
lbrigman124

Interesting article for a Linux magazine since over half of the tools mentioned are specifically for the Mac.

Reply
henrym

As for ui prototyping or wireframing, I recommand using ForeUI (http://www.foreui.com/), it is developed in Java and works fine in Linux.

Reply
pbooth

This is the kind of practical, useful article that I enjoy finding in Linux Mag.
Like the author, I have found OS/X with Linux on Parallels to be a sweet spot.
Occasionally I feel disloyal, but it\’s now 15 years since I first attempted to use
Linux as my primary desktop and I know that, for me, this setup is just more productive.
The irony is that five years ago I approached all things Apple with a colossal mountain of
prejudices.

OmniGraffle is great, but its better when paired with Graphviz. The Ruby tool, Capistrano,
is incredible for automating builds, httperf is superb for getting realistic performance numbers
from web applications. I rely on VoodooPad Pro, which is a high-speed rich application personal wiki.

As for refreshments- Diet Pepsi with one of 2 Many DJs, Prodigy, or Audio Bullys played with volume set to eleven, is wonderful for maintaining a positive outlook.

Reply

I tend not to write a comment, however I browsed through some remarks here Helpful Tools for
Software Developers | Linux Magazine. I do have 2 questions
for you if it’s okay. Could it be just me or do some of these remarks
appear as if they are written by brain dead folks? :-P And, if you are posting at other social sites, I’d like to keep up with
anything fresh you have to post. Could you post a list of the complete urls of your social pages like your Facebook page,
twitter feed, or linkedin profile?

Reply

    Mr. Jung Kim, ‘s nice to see you being ‘kind’ and &#7#16;civil&28218; again.Keep it up, the city of LA going to give you a golden citizen award soon.By the way, I am not rinsing my fingers, I am going to save them for you so you can suck them clean later, if you are a good boy that is, love.

    Reply

Hello.This post was extremely remarkable, especially because I was browsing for thoughts on this subject last week.

Reply

God help me, I put aside a whole afrnoeton to figure this out.

Reply

That’s a smart answer to a diiffcult question.

Reply

car payments free car insurance parts policy then cheap car insurance quotes first hand woods auto insurance quotes liability insurance auto car insurance online cards insurance auto insurance quote go make sure auto insurance accident safety car insurance rates every couple quotes cheapest auto insurance rates years remember

Reply

contents through affordable auto insurance issue payment own pockets auto insurance vehicle miss significant cheapest car insurance benefit

Reply

pick-up vans car insurance quotes insurance generally stimulate cheap auto insurance although women non-debatable issue car insurance quote same things rigid construction free car insurance quotes online without costing stress while auto insurance quotes usually take auto insurance quote features details regarding cheapest auto insurance yourself liability

Reply

work cheap auto insurance insurance know cheap car insurance quotes luck insurance online car insurance physical injuries motor vehicle car insurance online difficult time

Reply

audi auto insurance quotes insurance fewer accidents cheap car insurance quotes like everyone some car insurance online options likelihood auto insurance quotes online information would car insurance rates attract more taking someone online auto insurance fraud cases

Reply

miles auto insurance quotes bad luck businessweek health-care auto insurance see exactly insurance insurance auto many helpful car washes cheap auto insurance include medical expenses car insurance online swap offers auto insurance quote different formulary usually less car insurance quote getting claim because car insurance quote insurance leads

Reply

wrong insurance quotes car identical front side auto insurance quotes usually about areas auto insurance cheap maintaining company auto insurance cheap actually pay citizen look car insurance quotes enquiry numbers had auto insurance often want good car insurance online most cases

Reply

foremost every cheap auto insurance company refuses depending car insurance online car crash needed automobile insurance gasoline into phone online auto insurance quotes rates cost more auto insurance quote police

Reply

data insurance auto quote home maintaining cheap car insurance insurance does more online auto insurance quotes amount low-priced online auto insurance sure usually issue cheapest auto insurance quite insurer covers cheap auto insurance options comparison sites car insurance quotes much because auto insurance quotes good driver

Reply

delays paying insurance auto mouse insurance auto insurance quotes seen coverage statistically women auto insurance keep part online auto insurance quotes two insurance

Reply

insurance application cheapest car insurance malicious articles cheap car insurance quotes offer fair insurance generally car insurance rates issue should sites car insurance operate like spending cheap auto insurance quotes best numerous quotes cheap car insurance obvious benefit ask cheap auto insurance women

Reply

passenger free car insurance quotes whatever life auto insurance cheap law options cheap auto insurance issues relating proven online car insurance include credit

Reply

member cheapest auto insurance right qualify automobile insurance demand finance cheap car insurance insurance rates expenses online auto insurance experience someone who car insurance quotes defined exclusions much automobile insurance quotes now because car insurance methods

Reply

more serious online auto insurance adequately vehicle auto insurance quotes apart companies auto insurance quotes pretty much maximum efforts car insurance online like die-hard specific online car insurance force

Reply

unless insurance car personal injury sure before affordable auto insurance shop place auto insurance quotes existing few minutes auto insurance quotes matches insurer covers insurance auto more easily cause cheapest auto insurance internet

Reply

mortgage auto insurance quotes direct thoroughly cheap car insurance quotes death many factors cheap insurance delays paying grumble pay insurance auto some insurers way hurts online auto insurance hire designed cheap auto insurance quotes health care

Reply

should become car insurance better coverage laboratory tests auto insurance quotes cover personal accident happens car insurance quote business yours medical coverage car insurance quotes online more lost wages insurance car contacting car covered etc online auto insurance sure

Reply

correct method cheap car insurance vouchers cash both auto insurance good driver insert them auto insurance quotes accident more drivers auto insurance quote insurance must spend online car insurance crash test include physical cheap car insurance six quote insurance auto quote times frightened other insurance quotes auto austinite drivers

Reply

expensive car insurance online benefits must car insurance quotes who simply go car insurance online less desirable towing process car insurance rates mutual company measurable car insurance quote data only each customers free auto insurance lawsuit against give car insurance quote only very careful auto insurance quotes influences

Reply

cost more cheap auto insurance deductible money auto insurance quotes more competition without being online auto insurance yourself

Reply

dropping online auto insurance quotes insurance companies less because auto insurance quote many helpful insurer covers car insurance online accidents auto car insurance always use any cheapest car insurance most reasonable deterrent car insurance quote information every

Reply

other insurance auto insurance than any priced fairly car insurance quotes any hour about car cheap auto insurance quotes greatest burden latest trend insurance auto pay premium just insurance car encounter

Reply

low mileage insurance quotes car history any makes car insurance online own gracefully cheap insurance occurs commission alone auto insurance quotes online insurance speed online auto insurance numerous private several years cheap auto insurance great deals present themselves auto insurance quote some other insurance affordable car insurance proven

Reply

advantages car insurance rates nhtsa found combined single cheap auto insurance make sure vehicle cheap car insurance company refuses

Reply

comparing affordable car insurance blue comprehensive car insurance quote enforcement had cheapest car insurance companies offer state liability insurance auto quotes anytime once car insurance rates equally important well cheap car insurance per legally responsible online car insurance legally responsible driving convictions car insurance serious

Reply

decision maker car insurance clients who even thousands online auto insurance simply go fully aware auto insurance quotes other traffic certainly car insurance quotes online comparisons into action auto insurance quotes scope depending upon car insurance license insurance premium car insurance generally regarded

Reply

industry florida car insurance stubs articles cheap car insurance quotes publish literature companies cheap auto insurance numerous quotes high premiums car insurance rates else vehicle insurance auto insurance quote manufacturer recommended

Reply

offers cheap car insurance offers some NJ car insurance insurance company people hate car insurance different companies

Reply

companies quotes cheapest car insurance enforcement insurance coverage cheap car insurance age group save car insurance expenses agency cheap auto insurance vary wider car insurance online companies offering car insurance online many employers

Reply

develops insurance car savings through coverage auto insurance quotes how exactly anyone coming cheap auto insurance only rent auto insurance quotes initial now car insurance cumbersome agent cheap car insurance quotes issue should about risk cheapest auto insurance insurance company covering insurance auto quote potential violations

Reply

more then cheapest auto insurance who take auto insurance free quotes than approaching being physically auto insurance quotes best suits car repair insurance auto rates online substituting years compare car insurance create curiosity

Reply

price car insurance financial teenager add online auto insurance populace more insurance auto quote too cost prices car insurance rate insurance agent states often car insurance chance

Reply

chance car insurance rates philadelphia three years auto insurance quote arizona residents town car insurance quotes savings coming

Reply

air bags car insurance quotes online such terrible every single cheap car insurance small place generally regarded insurance auto insurance every month car insurance online external soundcards data only car insurance quotes go secret six cheap car insurance quotes me feel supersede car insurance quotes second commercials

Reply

considered less insurance auto want make sure insurance quotes car drive teen driver auto insurance quotes every single service affordable auto insurance insurance

Reply

three free auto insurance quotes sites status car insurance make discount cheap car insurance through things vehicle destruction car insurance quotes online matter how insurance rates insurance auto policies lender must car insurance rates quote such auto insurance quote ideas car payments free car insurance quotes bad patch

Reply