Hopefully you’ve noticed some drastic improvements in load times, as I’ve moved Gyrate Dot Org to new hardware. My old “server” was a little Mini-ITX box with a 1Ghz VIA Nehemiah CPU, 256MB of memory, and a laptop hard drive. It certainly was quiet and power efficient, but it was frustratingly slow sometimes. The new server is actually my old desktop with an AMD Athlon XP 2500+ CPU, 512MB of memory, and two brand new 750GB WD Caviars running in a RAID 1 array (yes, these drives are dead silent like the reviews say). I decided to go with Linux software raid after reading some interesting opinions on Linux Software RAID vs Hardware RAID. I also found some surprising benchmarks showing that Linux software RAID is actually faster than a lot of consumer-level SATA RAID cards.
Compared to the old hardware…
root@old-server:~# hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 278 MB in 2.01 seconds = 138.26 MB/sec
Timing buffered disk reads: 88 MB in 3.00 seconds = 29.32 MB/sec
the new hardware shows huge improvements in disk transfer rates, pretty much in line with what I expected.
root@new-server:~# hdparm -tT /dev/md0
/dev/md0:
Timing cached reads: 950 MB in 2.00 seconds = 474.49 MB/sec
Timing buffered disk reads: 222 MB in 3.01 seconds = 73.81 MB/sec
With twice as much memory as before, I’m also not swapping nearly as much (or really at all for that matter). But what I didn’t expect was for Linux software RAID and LVM2 to have such a big impact on my load average. It actually seems to be around 10-20% higher on average, even with a much faster CPU. Interesting…
One of my biggest IT-related pet peeves is a broken DNS infrastructure. Since nobody seems to know how to implement this properly, I have decided to write a little howto to help put an end to the insanity.
Don’t just use whatever the hell domain name you want and justify it by saying “we’ll only be using this domain internally, so it doesn’t matter if we actually own it or not.” That’s just as dumb as using someone else’s public IP addresses on your LAN, and if you don’t understand what’s wrong with that, you’re fired. Make sure the domain you want to use is unique on the internet, and register it.
Do use a standard TLD; not that .local bullshit. Using a non-standard TLD like .local is a great way of showing the world that your IT staff doesn’t know what the hell they’re doing.
Do use different internal and external namespaces. If your external namespace is example.com, don’t use example.com for your internal (i.e. Active Directory) namespace too. Otherwise, you’ll run into problems when your internal users can’t resolve external resources (like your website which may be hosted off-site). If you were stupid enough to make this mistake, one solution is to mirror all your external resource records on your internal DNS servers, but then you’ll have to make every change in two places (your punishment for being an idiot).
Don’t go out and register two entirely different domains (e.g. example.com and example.net) for your internal and external namespaces. This is unnecessary, will confuse your users, and will tell the world that you don’t understand how DNS works. Just use sub-domains (e.g. hq.example.com, office.example.com, etc.) for your internal networks, and reserve the root domain (i.e. example.com) for your external resources.
Do run your internal and external namespaces on separate servers. It’s not a good idea to make your internal resource records available to the whole world in the first place, but if you’re using proper private IP addresses on your LAN, this won’t help anyone access your servers over the internet anyway.
Before you ask, if you think you have a good reason not to follow any of the above rules, you are wrong. Don’t do it. I’m begging you.
I still have backups of every database containing every post and comment from every version of my site going back almost 10 years. I was looking through them last night with the intention of possibly importing them into WordPress, but man, most of them are pretty embarrassing! I sure spent a lot of time being a jerk and bashing people back then. Oh well, I guess I’ll chalk it up to teenage (and early-twenties) angst. I still haven’t decided if I should do the import though. If not, maybe I’ll do a weekly thing where I repost some of the good ones.
Reh Dogg has some really groundbreaking visuals in his music videos, such as washing dishes, taking showers, and whatever you call that thing he does at 3:07 in this video.
I decided to modernize the old Gyrate theme a little in order to remind myself of why I hate web design. Okay, so maybe that wasn’t the original intent, but it was the result. I know this is taboo, and I’m well aware of all the arguments against them, but I miss “layout tables.” I’m sorry, but CSS positioning is overly complicated bullshit. And why is there still no simple way to do rounded corners? I can’t believe people are still using the same stupid hacks (e.g. transparent .gifs) I used back in 1997. That’s it, rounded corners are hereby banned from Gyrate.org until the major browsers start implementing that part of the CSS3 spec. I would ban CSS positioning too, but I already figured out a nice ugly hack to solve the problem I was having. That doesn’t mean its off the hook though. CSS positioning, you are on probation until further notice!