Archive for the ‘IT’ Category

I Love Linode

Wednesday, August 15th, 2007

I just signed up for a new Linode account. This is the fourth account I’ve created with them over the years, and I’ve always been very pleased. I wish I do a side-by-side comparison with another VPS host, but I’ve never had any reason to shop around.

I guess I did administer a Windows 2003 VPS on GoDaddy for a while. The experience was too horrific to even try to compare to Linode. Why anyone would want a Windows web server is beyond me. At the time we had been fooled into using ASP.NET to build a huge web application. I’ll never make that mistake again.

Linode is a VPS provider which uses User Mode Linux to create virtual Linux servers which run as a process on top of a physical Linux server. While Xen seems to be the one getting all of the hype these days, UML is extremely stable, secure, and mature. Each user is allocated a pool of IO tokens which refills at a static rate. This allows servers to have high burst IO rates while preventing any single virtual server from hogging the IO. It seems to work quite well.

Registration was quick and easy. My only minor complaint is that there’s about an hour wait between when you’re billed and when you’re account is activated. When I asked their support about this I got a fast reply from Thomas Asaro:

Every signup is manually reviewed and approved by staff. This is to prevent fraudulent signups, protect the credit card holders, and protect our network. Our average activation time is 1 hour.

That’s probably my favorite thing about Linode: excellent support. Whether its via e-mail, their wiki, IRC, or forums, the Linode staff and users have always been quick to help.

I started using Linode years ago when I worked for Synthesys Solutions. At the time we were using some terrible shared hosting provider that was constantly having problems. We decided not to risk our luck with another shared hosting provider, and I configured a Linode for hosting our web sites and e-mail.

The only performance issues I had with Linode were caused by spam. We scanned all of our e-mail for viruses with ClamAV. While ClamAV is a fantastic solution, like all virus scanners its very resource intensive. So a spam bomb would hit our server and bring it to an unusable crawl for anywhere from 30 minutes to over an hour. A faster Linode would have helped, but administering an e-mail server is always going to be a constant battle (unless you don’t care about your users).

For now I plan on still using DreamHost for e-mail hosting to avoid the spam battle. While the stability isn’t what I would like, POP3 users rarely, if ever, notice. And right now I don’t host enough e-mail addresses to warrant the headache of managing it myself.

I highly recommend Linode to anyone looking for an extremely reliable Linux hosting service who doesn’t want to spend a lot on a dedicated server.

System Information for Windows on Linux

Thursday, February 15th, 2007

I saw System Information for Windows posted on Lifehacker and couldn’t resist:

SIW on Linux

System Information for Windows works on Linux. :)

For the record I’m running Debian Sid and Wine 0.9.30.

Handy .Net Service Template

Thursday, February 15th, 2007

I love .Net Services. Its a handy way to create background processes, and they work beautifully in both Windows and Linux (thanks to Mono!).

However, every time I create one I find myself writing a lot of the same code with minor variations:

  • OnStart: start a worker thread, make it sure it didn’t die, exit
  • OnStop: try to stop the worker thread nicely, wait, abort it, exit

Depending on how “nice” you want to be to your worker thread, you can come up with some pretty crazy code to deal with your worker thread (volatile class variables, wait loops, etc.).

I’ve created a basic template for new .Net Services:

ServiceTemplate (2007-02-15)

It was inspired by a service I wrote to read a firewall log file into a database:

Lumberjack (2007-02-15)

The template doesn’t contain any complex worker thread stopping code. Lumberjack uses a mess of methods to try and nicely stop the worker. I’m not sure what Lumberjack does is really any more useful than just using Abort(), but I didn’t want to leave a database connection open.

Both zips contain MonoDevelop solution files, although Main.cs is the only important file in both of them.

The other highlight of both the template and Lumberjack is the SmartLog() method which logs to syslog in Linux and the Event Log in Windows. Although you probably have to comment out the syslog reference to build the source in Windows.

I’m sure I’ll update and keep using this code in the future… I need to find some way to manage my mini-projects and code snippets… any ideas?

Vista Package Manager

Tuesday, January 30th, 2007

Ars Technica has an article describing Microsoft Windows Vista’s “Anytime Upgrade” feature. In the patent for the technology Microsoft describes it as “modular OS updates.”

So far it sounds like Microsoft got a clue from Linux and Apple: users want timely, incremental updates. Not years of silence followed by a monolithic change.

“Modular OS updates” sound exactly like packages and package managers in Linux distributions. Both systems even have facilities to verify the updates. However, in Microsoft’s case the verification isn’t to protect the user like Linux does with checksums and GPG keys. With Microsoft the verification is to make sure you’ve paid for the extra bloat you’re installing.

BBC Article Comparing Vista, OSX, and Linux

Monday, January 29th, 2007

The BBC has an excellent article where 4 users describe their favorite operating system. It seems extremely balanced and accurate to me. Although I can’t help but point out one Windows user’s admission that OSX is better:

I really think that this one’s going to give Apple Macs a run for their money.

It appears Office 2007 and Vista come with my school’s Volume Licensing package, so I plan on dual-booting into my Windows XP partition for the first time in months to try them out. I’m sure they’re both improvements over their predecessors, but at this point I’m just more comfortable with Linux and OpenOffice.org.

Also, spending half of my day running Windows Update and various spyware removal tools has made me despise the platform more than Steve Ballmer’s ridiculous tirades ever could.

Administering Multiple Linux Servers Remotely

Friday, January 26th, 2007

So I was playing around with recordMyDesktop, and I decided I might as well make something useful with it.

Administering Multiple Linux Servers Remotely (Administering Multiple Linux Servers Remotely (ogg format)

If you can’t play Ogg Theora video files, download VLC - it can play anything (or get Linux ;) ).

Anyway, what I’m demonstrating here is how I setup drawers and launchers on my Gnome panel to start Synaptic and a Terminal on the remote servers I administer. What makes this really handy is that I don’t have to login as SSH support Kerberos, and since all of my Linux computers are granted tickets by Active Directory: Single Sign-On Nirvana. (Many many thanks to Earl Tom for patiently helping me get SSO setup initially.)

To accomplish all of this beautiful remote administration magic requires getting your Linux boxes to authenticate against Active Directory or just using SSH keys.

Make sure you have the following settings in your /etc/ssh/sshd_config file:

# If you’re using AD instead of key pairs:
GSSAPIAuthentication yes
# Make sure X Windows programs (like Synaptic) will run:
X11Forwarding yes

Happy hacking, and let me know if I should record more videos! (Or if you know of a better video recorder than recordMyDesktop. It works perfectly, but Ogg Theora isn’t a very common codec.)