I’m a big fan of HGTV and DIY Networks’ renovation shows. As a sysadmin, I have a huge respect for “doing it right” and getting the details done. I see a lot of shoddy construction work out there. I’m also a big fan of “doing it myself” so that I know it’s done right.
I bought a house last year. It’s 30 years old, and a lot of maintenance was neglected, but nothing seems to have been actively and maliciously destroyed by a lazy or stupid contractor. I can’t even list the things I like about the house. The light is great (uncommon in an 80′s era southern home), with south-facing clerestory windows that let light in without letting the heat of the day in during the summer (since the sun beats down from overhead to the north), the focus of the living room is not a space for the television, and it’s got a ton of other features I love, like a walk-through semi-private bathroom for the second bedroom. All of these things were features I looked for in a house, but couldn’t find at my price point unless I was willing to sacrifice something. In my case, my sacrifice is that I was going to need to do a lot of work on the house.
On the downside: It’s just not comfortable in a lot of ways. There’s a musty/moldy smell through most of the house, and I think that it’s connected to the insulation in the attic, which is old blown-in fiberglass. It’s difficult to keep the great room warm enough or cold enough in winter or summer. The great room has a cathedral ceiling, which complicates things. A lot of the drywall was installed incorrectly and the tape is cracking off (not due to movement, just due to setting compound failing over time.) The carpet is filthy, and the dogs only make it worse.
For the next few weeks, I’m going to be writing here about my renovation. I’m going to cover the process of discovery, the (limited) amount of planning that I did, the surprises I encountered, and the tools I used to get over them.
First, though, things that I did for the first time since I started on the 17th of December:
- Rented a 30 cubic yard dumpster.
- Removed carpet.
- Dropped a ceiling.
- Pulled a city permit.
- Passed an electrical inspection.
- Installed hardwired smoke detectors.
- Installed a new electrical circuit.
- Insulated.
- Installed a pre-hung door.
- Filled a 30 cubic yard dumpster.
- Rewired half the freaking house to correct mistakes the builder made or update things for code.
It’s been that kind of month.
This Forbes article on the recent Gawker hack is well researched and written. And if you weren’t aware of the hack, now you are. (You can go look up your email’s md5 hash in this google doc to find out if you’ve been compromised.)
One nitpick about the article: They pointed out that the Gawker servers were running Linux 2.6.18 — that likely means that they’re running Redhat Enterprise Linux, or CentOS, or a RHEL derivative. RHEL’s current kernel is 2.6.18-194.26.1 — the high final numbers mean that they’ve done a lot of backporting for security reasons. Of course, for those of us tied to RHEL, it serves as a reminder of why we should consider something a little fresher…
And man, doesn’t that make Gawker look like a bunch of incompetent dicks? You’ve got the iPhone thing, and now this…
Building out a small datacenter
For one of my consulting gigs, I had a requirement to build out a small virtualized datacenter cabinet as cheaply as possible (Less than $40,000 for necessary software and hardware in less than 13u) that was capable of high-availability web, database, and infrastructure hosting for an organization with about 25 employees worldwide and tens of thousands of daily visitors to sites for several different large customers. Per the requirements, all of the mission-critical equipment at the infrastructure layer MUST be supported by the vendor … that means the hypervisor, hardware, network equipment, and any non-replicated operating systems MUST have support. A notable exception is made for places like webheads where per our design we’ll spawn instances to handle traffic spikes.
The web servers are *mostly* running Drupal installations, backed by MySQL. Drupal is a fairly hefty CMS and for a long time we’ve used several physical servers fronted with Pound. This is very obviously expensive — two servers alone from Rackspace cost $1500/mo. While we could do it cheaper in the cloud, we weren’t comfortable with the faceless/nameless cloud’s ability to meet the uptime requirements in our SLA, nor were we comfortable with the ability of the cloud vendors to provide the support levels that were required by our customers.
Building this out —
First, I decided to use VMWare ESXi and vCenter to fulfill the high availability requirement. Since this was going to be a remote installation, I needed to be able to quickly and effectively diagnose problems and needed to have support due to the nature of the clients we were hosting. While I could’ve gone with Xen and SLES’s HA package, the license for a Essentials Plus version of VMWare was actually cheaper than the necessary bits from Novell and Citrix… and unlike those products, VMWare supports failover and migration between hosts out of the box instead of requiring weird Pacemaker/OpenAIS cluster configurations.
Second, after pricing comparable hardware solutions, we ended up going with Dell. We priced HP, Sun/Oracle, and SuperMicro systems. The SuperMicro systems were closest in cost, but ended up failing on support. Compared to Dell’s Same Day/Next Business Day offerings, SuperMicro’s “go through your reseller” strategy falls way short of business expectations. Also, one neat thing about the Dell MD3200/3220 is that it can handle up to 8 hosts connecting via 6 gb/s SAS at once to the same LUN. Since we don’t expect to have anywhere near that number of hosts in the short term, we can effectively use VMFS. In the longer term, if we outgrew that number of hosts without upgrading to a fiber SAN, we could share VM partitions out via NFS and offload our highest concurrent storage user, MySQL, to it’s own storage.
Third, for the gateway/router/etc, we chose the Cisco 5505 ASA Security + device. Two of them will fit in a 2u rack mount kit (actually 1.5, which is ideal for the crowded top of the colocation cabinet we’re in) and each has 8 1gb/s ports. They’re pretty full-featured little boxes (note that you MUST buy a support contract if you want a warranty past 90 days though!)… sort of like a home cable modem, they’ll gateway, NAT, provide DHCP, and other basic networking functions out of the box … unlike your average home gateway, though, they support active/standby failover, a ton of diagnostics, routing, and shaping, and speak the same asa/pix language that we’re all familiar with. They also do VPN via everyone’s favorite Cisco VPN client. My other choice, besides the comparable Juniper Networks equipment, was to build my own system using BSD & CARP or WRT-DD… while both of those might have been cheaper for the client, they didn’t fulfill the support requirement.
Last, we needed to provide an onsite and offsite backup capability. With 15k RPM disks running up to $1k, the best solution I could find was a 2TB Buffalo TeraScale NAS. I configured it as a 3-drive RAID5 with 1 hot spare.
When we were done, the total configuration looked something like this:
- 3x Dell R610 w/ dual X5620 + 32gb RAM + no drives (boot from internal USB)
- 1x Dell MD3200 w/ 2 MM, 7x 300gb 15k drives
- 1x 2tb Buffalo TeraScale III NAS
- 2x Cisco ASA 5505 + rack mount kit
- VMWare Essentials Plus
For a few of the infrastructure bits, we purchased a license for Redhat EL 5.5. For most of the webheads and other ‘disposable’ VMs, we use CentOS 5.5. VCenter runs in a Win2k8r2 VM.
tcprstat – TCP response time
Here’s a handy tool to help you troubleshoot busy servers — TCPRSTAT, beta software from the guys at Percona, who see a ton of problematic servers under load. Quality stuff.
Sorting a ListBox the C# WinForms way:
lstFooBar.sort = "true";
Sorting a ListBox the C# 4.0 Widows Presentation Foundation way:
lstFooBar.Items.SortDescriptions.Add(new System.ComponentModel.SortDescription("Content", System.ComponentModel.ListSortDirection.Descending));
… this is an improvement?!
Note: You can also do this in the XAML. I haven’t tested it, but it’d look something like:
<CollectionViewSource.SortDescriptions> <dat:PropertySortDescription Direction="Descending" PropertyName="Content" /> </CollectionViewSource.SortDescriptions>
Trek Tech Today
I remember when the Motorola StarTac came out — the first “flip” phone. It reminded me of the Star Trek communicators from The Original Series.
Now we’ve got the iPad — which resembles, even in name, the PADD from Star Trek: The Next Generation. (We’ve got a lot of other things, too, including flat panel TVs and room controls, voice recognition…) Chris Foreman of Ars Technica wrote a great feature about the similarities.
The article ends on an interesting note: What’s really going to happen next? Unfortunately, Star Trek stopped innovating in the technical set design that’s guided our tech for the past thirty years or so.
Obviously, the “Minority Report” style of motion detection is probably going to start developing further. You’ve got the Wii’s motion input controls, and the coming Microsoft Kinect, not to mention the multi-touch interfaces that are in development for various purposes.
Voice control isn’t a very efficient method of input. However, one place I can see voice control used is for brief instructions — such as the household “lights: dim” instructions in ST:TNG — and in places where the other “input devices” on the human body are already in use, such as for helicopter pilots or in industrial applications. Another issue with voice control is privacy. We’ve got the Jawbone inductor microphone headsets, which work well when they’re in contact with your jawbone. We’ve already seen (literally) bleeding-edge scientists implant chips in their own bodies — and now they’re working on implanting computer chips in individual cells. How long before you can implant a Jawbone in your … jawbone?
Oracle’s Really (not) Ruining Things
MySQL and Java are apparently doing horribly under Oracle. </sarcasm> … despite all the temper-tantrums the OSol guys are throwing.
Windows 7 Home First Boot Experience
A friend of mine is doing me a favor with some house stuff this week, and in return, I set up his new computers this weekend.
What. A. Pain. In. The. Arse.
Just as even Windows developers are waking up and smelling the coffee where the iPad’s concerned, it’s plain how badly that most PC manufacturers miss the boat. It took me two hours to boot a new Compaq laptop running Windows 7 Home Premium, to click through all of the ‘user experience aids’ that you have to accept or decline before you can even get to the desktop, and then to install updates, reboot several times, and install Firefox and an antivirus application. And this is a dual core machine with 2 GB of RAM, a 250 GB hard drive, a DVD-RW, and a 15″ screen. $329 new from Best Buy, for the record.
It’s a sign of how spoiled Apple people are that we bitch, moan, piss, whine, and complain to all comers that we have to plug the iPad into a USB port before we can use it.
Abstract of NTSB Report on US Air Flight 1549 — worth reading by or forwarding to Frequent Fliers or those interested in aviation.
We’ve been barreling rapidly towards a Microsoft environment at work with a migration to using Exchange, which I’m sure will be followed quickly by all the other Microsoft things since MS refuses to let them talk to anything else. Since I need an organization suite BADLY, I tried out OneNote for giggles and kicks. I like it, but there’s a few big killers. First, you can’t export things smoothly except to PDF. “Blog This” — yeah, right, I use WordPress. You can’t even copy and paste things to Word. Second, the layout and mind mapping functions suck. I still haven’t figured out how to re-color a text box.
I’ll probably be posting reviews separately as I try each one for a week or two, but here’s my personal list of organization and note-taking software that I want to try…
- Together
- Circuis Ponies Notebook
- MacJournal, seems focused mostly on blogging and groupware.
- Curio
- EverNote – I have tried Evernote in the past and liked it — until I hit a place where I didn’t have internet coverage on the iPhone and it crashed pretty hard. That was a deal killer and I haven’t tried it again.
- SoHo Notes
- Scrivener – More towards writers, but a lot of what I do is writing.
I have been a long-time user of OmniOutliner, but it doesn’t quite make the cut in my mind because of it’s very hierarchical outline form. I usually think in trees, not outlines — which are almost the same, but when the thoughts branch like a tree an outline can quickly become unwieldy.
Worth noting that Journaler used to be around, but it’s development was discontinued in Sept 2009.
I’ll link reviews as I write them.