Blogger integrity

When I got up this morning before my flight I was shocked to read this announcement at TechCrunch and Daniel’s response. Adam Jackson wrote one of the most reasoned responses with some good advice for Daniel.

I’ve known Daniel Brusilovsky for several years and I work with him as CTO of Teens In Tech Networks. I know he’s a good person and I find it hard to believe he would do this. I’ve heard several conflicting stories and I haven’t talked to Daniel yet, so I don’t know the real story. I’ve also heard from more than one source that it didn’t actually involve a MacBook Air.

I’m not a fan of Michael Arrington or TechCrunch. He loves to create drama (see the CrunchPad/JooJoo). When he has an axe to grind he’ll go out of his way to dig up unfavorable stories about a company and he usually ends up looking more like the Drudge Report than an impartial news source.

I wasn’t too thrilled when Daniel started working for TechCrunch for that reason. I was afraid he’d get caught up in some of Arrington’s drama and that’s exactly what happened.

What he allegedly did was wrong, but he’ll learn from it and move on. It’s not an isolated incident. There have been several Pay Per Post schemes which are very similar to what he supposedly did.

San Francisco

I’m leaving tomorrow for San Francisco to attend Teens in Tech Conference and Macworld Expo, as well as looking at some apartments in the city. I was lucky enough to get a non-stop flight from FLL to SFO (and with onboard WiFi).

My car (a 2009 Toyota Corolla) is on the recall list, so I’ll have to deal with it when I get back from the trip. I’m hoping I’ll be able to get out of the lease without too much trouble so I can get something not made by Toyota.

links for 2010-02-04

  • Arcade Fire, Partners in Health, the NFL, Merge Records and Bank Robber Music have collectively agreed upon a unique 100% for charity Superbowl licensing of “Wake Up” from Arcade Fire’s 2004 album Funeral. All proceeds from the use of the song on the live Superbowl broadcast and subsequent airings on the NFL Network will go directly to Partners In Health’s Stand With Haiti relief efforts.

Nginx update

After running Nginx for a day everything seems stable. The memory usage is much lower – I was able to reduce my PS from 458M to 304M. The sites seem faster & more responsive, and memory usage remains pretty much constant rather than fluctuating based on the number of connections, as it did with Apache.

Screen shot 2010-01-29 at 9.18.15 PM.png

Using Nginx at DreamHost

All of my sites are now running Nginx rather than Apache, which has several major advantages. Apache uses a separate process for each connection, so if you have a very busy site with lots of simultaneous connections it can use a huge amount of memory. Nginx, on the other hand, uses one worker process with a fixed number of CGI processes no matter how many connections it’s serving.

As you can see from my resource chart, the memory usage dropped dramatically when I switched over to Nginx.

Screen shot 2010-01-28 at 7.31.50 PM.png

Nginx has a few drawbacks, however. It doesn’t support Subversion or WebDAV, so I first had to move my Subversion repositories off my virtual private server. I ended up moving them to ProjectLocker. Most importantly, Nginx doesn’t use a .htaccess file. Instead, it uses its own configuration files, which DreamHost documents here.

Basically you need to create a nginx folder in your home directory, and make a subdirectory for each domain, for example ~/nginx/mcdevzone.com, and create a configuration file, which can be named anything. The syntax is different than .htaccess, although it has many of the same capabilities such as access control or rewriting URLs.

For a WordPress site, all you need is this:

#######################
# Permalinks

if (!-e $request_filename) {
  rewrite ^.*$ /index.php last;
}

DreamHost provides many more examples on their Wiki page, and you can find even more at the official Nginx site.

One important rule you should add to your config file, which DreamHost leaves out, is this one which will prevent users from viewing your .htaccess file, if you still have one.

location ~ /\.ht {
    deny  all;
}

I ran into a few gotchas, but once I figured them out I was able to get everything running smoothly. According to DreamHost’s documentation, the site-wide Nginx configuration file is at /dh/nginx/servers/httpd-psXXXXXX/nginx.conf, but I found that it didn’t exist, at least on my server. Instead it was named nginx.conf.pushing, so as a result Nginx refused to start. Once I renamed it, I was able to start nginx. You WILL need to have an admin user on your private server in order to access that file and restart nginx.

UPDATE: The problem I ran into with the missing config file was because the update didn’t finish properly for some reason.

DreamHost’s older virtual private servers don’t support Nginx, so if you want to use it, you may have to request to have your PS moved to a newer system.

If you have a very busy site, Nginx can help you deal with the load, so it’s worth checking out. Several major sites including WordPress.com, Hulu, and Github are using Nginx, so it’s definitely production quality.

Server Change

I’m having DreamHost move my private server to a newer system which will allow me to use Nginx instead of Apache, which should improve the speed and allow more connections.

This means that all of my sites may be down for an hour or so in the next few days and during that time the I Can Has Cheezburger app WILL NOT WORK, since it uses a feed proxy hosted on that server. After the change and after I switch the PS to Nginx, it should run much faster.

If no problems arise when I switch to Nginx, it will let my sites handle many more requests than Apache.

By signing up for DreamHost web hosting here you can help pay my hosting costs, which will let me increase the memory of my private server, and in turn make it even faster.