I have finally upgraded to my own VPS. Dreamhost was a great host, but I prefer being able to setup and break everything all by myself. Also, having dedicated resources makes things like photo galleries work much better. As such, and all of its related sites are now running on a 256 slice from Slicehost. I’m running Ubuntu Hardy with Lighttpd as the web server.

When I was setting up the server I initially used Apache as it is what I am most familiar with and it is pretty easy to get up and running. But when I was trying to use my site, I realized that Apache is far too heavy with its memory usage. Even caching various things there was still not enough memory available for any kind of load. I had used Lighttpd once at work for a Rails app and had heard that it was significantly lighter than Apache. As such, I decided to try getting it up and working. That was easier said than done…

Problem: PHP wouldn’t work
Solution: Install php5-cgi and then activate the fcgi module (not the other way around)

Problem: Multiple virtual hosts by hostname?

Problem: No .htaccess support (for mod_rewrite, mod_deflate)
Solution: No ideal solution for this one really, but you can setup mod_rewrite/mod_deflate rules in the config for each vhost. I prefer the .htaccess method, but this works for now. For most popular apps you should be able to find lighttpd rules to replace the .htaccess rewrite rules.

On the off-chance, you want to signup for Slicehost and wouldn’t mind using me as a referral, here is my affiliate link:

Google Chrome

Everyone else is talking about it, so why shouldn’t I? Actually, that’s a terrible reason to talk about it, but I will anyways.

As just about everyone who does anything with computers knows, Google has released a beta of their very own browser called Google Chrome. Currently the beta is only available for Windows, but they claim to be working on Linux and Mac versions as well. I sincerely hope this is the case as after using it for a while on both my work and home Windows computers, it seems to have great potential. Currently it has two major things going for it:

  1. It separates tabs into different processes. Thus, if one tab is being stupid, it doesn’t destroy the whole browser.
  2. It is fast. Not just any kind of fast though. Ridiculously fast. If you have the bandwidth to handle it, you will notice a huge increase in page render times.

There are other interesting things about it, but those two are the most pertinent for regular users.

What is in a name?

So…this site is You already know that as you’re here and that is the address. Long ago, that stood for 3 dumb guys online (the online part because 3dg was taken). It made sense at the time because there were three of us. Since then we have grown apart and there is currently just me. Therefore the site name no longer makes a whole lot of sense.

The domain name will not change. I’ve had it for a long time and have grown rather attached to it. Also, it is short (and my email address/openid). But I would like to come up with a meaning. Or just a name for the site that at least vaguely fits the domain.

Any suggestions?

PHP vs Ruby on Rails

Over the past many months, I have seen many articles explaining how PHP is a bad programming language for various reasons. This one is the only one I have read which gives a well thought out reason for it though.

PHP has long been considered something of a standard in modern web development.  Comparatively, Java and .Net have their respective camps, but I’m not sure they match the market-penetration, if you will, that PHP has enjoyed.  And yet, PHP feels like an unintutive language.

To me, PHP has been the C++ of the web world.  Yeah, it’s powerful and can do pretty much anything, but it doesn’t exactly feel good to code with it.

This seems to me to be a fair statement. The article goes on to explain how Ruby on Rails is a much more elegant language and based on my extremely limited experience with RoR, I probably agree. But my argument against that is this:

Rails is a framework. Ruby is the language. PHP is just a language. A lot of effort has been put into Rails to make it easy to use and that effort has paid off for them. Well enough so that people tend to forget that Ruby on Rails is not a language in and of itself.

There are many frameworks that have been written for PHP. Perhaps the most popular at the moment is the Zend Framework. I have used bits and pieces of this in projects for Cornell and it has done well. Another good one is CakePHP which I have started (though never finished) a couple of projects with.

Working with both of these frameworks is much easier (in some cases) than working with the core of PHP. But at the same time, it is extremely easy for me to put together a quick site using the core of PHP and deploy it on just about any host available. A Rails project (as best as I can tell) requires much more effort to create a deploy.

Vista…and other things

I am now part of the wide world of people using Vista. This is not something I was particularly looking forward to, but I’m pretty sure it has progressed far enough that it will turn out all right. Also, I upgraded the core bits of my computer so I should have more than enough power for Vista to play with while leaving me plenty for all that oh so very important stuff that I do.

New components (Upgraded From):

  • AMD Phenom 9850 Quad-Core (AMD Athlon X2 3800)
  • AMD 4850 Radeon (Nvidia 7900 GT)
  • 4 GB GSkill DDR2 1066 (2.5 GB DDR 400)

Having 4 GB of RAM means that Vista can suck up about as much as it wants and I still have plenty to play TF2 or any of the other games of the moment.