April 2009

Interesting automated software test system concept. The goal is to design this for the Linux kernel, but it should be very useful in other regards as well.

On Friday, EFF and the law firm of Fish and Richardson filed an emergency motion to quash and for the return of seized property on behalf of a Boston College computer science student whose computers, cell phone, and other property were seized as part of an investigation into who sent an e-mail to a school mailing list identifying another student as gay. The problem? Not only is there no indication that any crime was committed, the investigating officer argued that the computer expertise of the student itself supported a finding of probable cause to seize the student’s property.

“[The Person] reported that Mr. Calixte uses two different operating systems to hide his illegal activities. One is the regular B.C. operating system and the other is a black screen with white font which he uses prompt commands on”. What a nice college.

Interesting piece by Jeff Atwood on spaces versus tabs in code. I specifically enjoyed the reference to Whitespace and thank Jeff for introducing me to such a wonderful programming language. Out you go, Python.

Procedurally generated landscape flyby demo with impressive graphics and audio, and oh yeah — a total size of four kilobytes! Absolutely mind-blowing. You can run the original 4kb demo application (Windows) yourself if you have a powerful machine.

When you’re watching the flyby, keep in mind that it’s 41 times smaller than Notepad and 625 times smaller than the everyday Visual C++ alarm clock application I happen to be using. It’s quite amazing what can be accomplished with such a small amount of code.

This is an extract from Fred Brooks’ (Frederick P. Brooks, Jr.) book, The Mythical Man-Month. This is one of the best explanations of why programming is so interesting. It touches on all aspects of the mystique of programming. If you haven’t read the book, go out, buy it, and read it. The book was first published in 1974 and then republished in 1995. What Fred Brooks had to say then based on his experiences with the development of the OS/360 system is still relevant today.

Very good JavaScript deobfuscator for Windows. Especially useful for decoding packer functions. Example screenshot here.

“It seems like twittering is just randomly bragging about your unexceptional life”. Brilliant comedy clip. Twitter users beware, this may sadden you.

I was recently experimenting with my Apache configuration and accidentally added a zero too much to the maximum process count setting without noticing. Later, when I ran some benchmarking tools on my website, I was — sadly — forced to put down my swapping server. That was the first time the service of my VPS was interrupted since I purchased it, 231 days earlier, and I’m happy to say; it was completely and utterly my own fault.

Oops!

I was once a shared hosting customer. It was horrible. After having tried a multitude of different shared hosting providers, I gave up trying to find one that didn’t promise me near unlimited resources for only $5/month and then turned out to be extremely unreliable, oversold and ironically; restrictive (most providers hide away inode and file size restrictions deep within their terms, effectively making it impossible for you to use anywhere near the amount of space you’re promised). Eventually, I thought to myself, “There has to be something else, something better, but still something that isn’t crazily expensive”. Shortly after I started looking beyond shared hosting providers, I stumbled upon a website greeting me with the message:

We’re just like you. Sick of oversold, underperforming, ancient hosting companies. We took matters into our own hands. We built a hosting company for people who know their stuff. Give us a box, give us bandwidth, give us performance and we get to work. Fast machines, RAID-10 drives, Tier-1 bandwidth and root access. Managed with a customized Xen VPS backend to ensure that your resources are protected and guaranteed.

It was Slicehost.com.

Although the prices were higher than I was used to, and the resources I was being promised were …much more realistic, I was sold, instantly. It didn’t take much more than 20 minutes before my first 256mb “Slice” was purchased and running. With this Slice, I basically had my own machine, or virtual private server, completely to myself. If you’re a shared hosting customer, this may be hard to fathom… but with this Slice, I was able to do anything I wanted, without any hidden limits. For $20 a month, I had my own quad-core server with 10GB of disk space and 256mb of RAM, and more;

  • Full root access and rebooting
  • Choice of Linux distro
  • Dedicated IP address and Tier-1 redundant bandwidth
  • RAID-10 disk storage
  • Reserved RAM
  • Guaranteed CPU share and more when available
  • 4-core servers running Xen virtualization instances
  • Slicehost management portal for reboots and software installs
  • Mobile management portal for smartphones
  • Ajax console access
  • Bootable rescue mode
  • Private IPs for inter-slice communication
  • HA capabilities via shared IPs
  • Machines running with fixed usage limits, below full capacity

Some examples of what you can run with a VPS that just isn’t possible on shared hosting include:

  • Custom web servers and configurations (Nginx, Lighttpd, Django, Rails, you name it)
  • SCM applications (Git, Bazaar, Subversion, Mercurial, etc.)
  • Game servers (MUDs, Counter-Strike, Call of Duty 4, etc.)
  • VoIP (Ventrilo/Teamspeak) servers
  • IRC bots and bouncers
  • any other server process you want, on any port you want, as long as it runs on Linux.

Now, not everything about Slicehost is rainbows and unicorns;

  • You need to have some Linux experience to be able to set up your server properly (there are tons of guides on Slicehost’s Community site that help ease this process).
  • It’s difficult to set up a real server with only 256mb of RAM. Be ready to do a little tweaking (using Nginx instead of Apache, tweaking your MySQL config, etc.). Of course, this is not really a problem with larger slices.
  • The network isn’t perfect. There are short (~5 mins) downtimes every once in a while.

That being said, Slicehost’s smallest slice, the 256mb slice, beats the crap out of any shared hosting solution I have ever used — and I’m still running everything on the 256mb Slice I purchased almost a year ago. My resources might not be unlimited, but they are always guaranteed. It is nearly impossible for any fellow user to disrupt my service, whether it be by eating CPU cycles or using a lot of memory. Nothing ever just stops working for no apparent reason. I don’t have to worry nearly as much about security. And last but not least, when something actually does go wrong, their support is excellent (and very down-to-earth).

In short, Slicehost has my warmest recommendation. If you’re still a slave to shared hosting — stop.

If I’ve convinced you to get a Slice of your own, you can go straight to the order page, here. If you’d like to know more, head on over to Slicehost.com. If you do end up getting your own Slice, it’d be cool if you’d mention me as the referrer (my e-mail address is patrick at this domain).