My Open-Source Web Development Workflow

July 31st, 2008

Open-source is a nice buzzword these days. Besides being free, open-source code is often of higher-quality than paid applications. Plus, you can always contribute, which gives you the warm fuzzies (I’m told).

Nowadays, my work is entirely done on free, open-source tools. Part of the reason is the fact that I use Linux on my development laptop, part of this is that I’m still a relatively poor student, and part of it is that I’m just used to it now. Anyhow, here’s the software that I use.

Operating System

On this laptop, this one right here, I use Ubuntu Hardy Heron (as I’ve mentioned before). Linux is an excellent environment for setting up sandbox servers using lampp, django, ruby on rails, and whatever else I feel like. I also enjoy navigating by command line, which is faster than the graphical way once you get used to it. The multiple desktops feature, combined with compiz-fusion, is a nice productivity boost. Plus, I get all sorts of geek cred.

Graphic Design

I use GIMP and Inkscape for all my graphics needs. GIMP is an excellent piece of free software, which despite a steep learning curve which I overcame long ago, can do just about anything that can be done in Photoshop – although usually with more steps. I’ve been meaning to write some GIMP tutorials, but I haven’t had the time. C’est la vie.

Inkscape cannot do everything Illustrator can, but it can do plenty. Unlike with GIMP and Photoshop, though, following Illustrator tutorials using Inkscape is right out; the programs are just plain different. But if anyone needs some Inkscape or Gimp help, let me know.

HTML/CSS/JS/PHP development

I’ve written about Aptana Studio before, so I won’t get too much into it, save to say that I still use it quite contently. I’ve fallen into the habit of creating a separate workspace for each client to manage projects, and maintaining an SVN connection to my mostly dormant Windows desktop for backups. I also use it to manage and synchronize FTP connections, which is very handy indeed.

Browsing

I use Firefox, and it would take some doing to convince me to do otherwise. It’s just great.

Others

I use Openoffice a lot for office tasks (I have mentioned that before), and I find it does the job just fine. I even have more luck opening Office 2007 documents than some friends who have never downloaded the compatability update for 2003.

I also use Pidgin to unify my instant messaging needs, and to post to twitter if they ever get it back up.

Open-source apps are a great way to cut costs and feel nerdy.

3-D Surround Sound With Two Speakers

July 23rd, 2008

As you probably don’t know, I am currently in the Electrical Engineering program, with a specialization in DSP. I’ve just finished a project for my Audio Signal Processing course, which let me (and you too, if you care to read my report, featuring source code) create surround sound using only two speakers.

Typical two-speaker stereo sound can only render sound sources from between the two speakers. However, using this method, sounds can be made to come from 90 degrees left or right, above, or even behind the listener. Pretty neat, eh?

How it Works

At MIT in 1995, some crazy guys decided to record the impulse response of sounds from a bunch of different angles using microphones crammed in the ear canals of a fake human head. Using the impulse responses they measured, we can simulate the frequency characteristics of sound reflecting off your outer ears and shoulders and passing through your head. Then we can apply those characteristics to any source wav file we want.

Then, we use some crazy math (detailed in the report) to use the impulse responses measured at the positions of the speakers relative to your head to cancel out the directional effect of sound coming from the speakers.

Give it a Listen

If you have headphones handy, you can listen to a short sample. If you’re crazy enough to be more deeply interested than what this post supplies have any questions about it, I practically insist that you leave a comment, or send an email to design(a)adambard period com.