Posts Tagged development

Tools

In Star Trek, one need merely describe a desired application in vague terms, and the computer creates a program.  Instantaneously.  Completely satisfying the creator’s intent.  With no bugs.  Sadly, those of us stuck back here in reality aren’t so lucky, but there are things we can do to ease our own programming efforts.

All of modern civilization is built upon the effort and productivity of generations past.  So it goes in the software world.  For my quasi-stealth-mode computational photography project, I’m making use of some great tools:

  • Linux — Operating system.  Free.  Fast.  Familiar.
  • Apache — Web server.  Can be overkill, but it does a good job integrating with…
  • Ruby on Rails — Framework.  Ruby is a wonderful, modern language.  Rails is getting increasingly mature.   Also using a bunch of packages and related tools, like Mongrel, which make life easier.
  • Aptana/RadRails — Integrated Development Environment (IDE).  Specifically, RadRails.  Development for Rails in Aptana is made easier by the underlying Eclipse engine, the cooperation with the Ruby debugger, and the decent integration with…
  • Subversion — Version control.  Because I had it installed, Rails plays nicely with it, and I haven’t had a chance to get familiar with Git.
  • Octave — Numerical computation.  Very similar to Matlab in its vector-based programming language, but it has some nice features that make it particularly well-suited for my needs.  Also, it’s free, whereas acquiring Matlab would force me to mortgage my firstborn child.
  • FogBugz — Bug tracking.  And scheduling.  I thought I should give it a spin, seeing as how several of my friends from Rose and Stanford work at Fog Creek.
  • Amazon Flexible Payments Service — Payments.  A business is about money, and money requires being paid.  Amazon FPS makes accepting credit cards easier than, say, getting a merchant account and putting together a PCI-compliant server.   That, and Amazon doesn’t have the stigma of PayPal.

It hasn’t all been a smooth ride.  Aptana crashes at least twice a day.  I’m still in the process of learning Ruby (which is one of my motivations for using it).  I’ve had to patch bugs in Octave and Rails.  That said, it’s easier than doing everything from scratch in, say, C++.

At first, I felt a bit guilty for standing on the shoulders of others.  Hell, the entire motivation behind the project is based on decades of academic research.  But like the architects who use the steel alloys of others to build their skyscrapers, and the auto manufacturers who use minerals mined by others in the distant corners of the globe, I too will take pieces from others and combine them to make 2+2=5.  Perhaps one day, somebody will incorporate my work into their own, thus continuing the great cycle of humanity.

, ,

No Comments