devops

The blog is currently being ported from WordPress to over 12 years of static pages of content. If there's an article missing that you're hoping to see, please contact me and let me know and I'll prioritize getting it online.

Project Sputnik XPS13: Initial Impressions

My XPS13 arrived today. While I hadn’t initially applied to Dell’s beta group for Project Sputnik, I’ve been pretty eager about it to the point of wanting to purchase a full-price XPS13 on which to test the software. The appeal of downloadable chef recipes to configure a box for programming different languages was too strong to resist. My hesitation was the limitation of 4GB of RAM on the laptop, which is an oft-asked upgrade.

Continue Reading

Search and Replace in Bash script

I recently had a colleague ask me how to do in-line regular expression matching for a Bash shell script. Since Bash v3 only offers a regex matching check and not the full s/foo/bar/ regex syntax, I offered to look into other alternatives. My natural instinct was to look for a Perl cmdline regex parser, which works great if you’re manipulating a file and not shell variables. In the end, since he only needed a simple search and replace, and not an actual regular express, this sufficed:

Continue Reading

Fixing NO_PUBKEY errors from Apt

I’ve been ignoring a problem updating Diodon (a great clipboard manager) whenever Ubuntu’s daily Update Manager tries to alert me of new software updates. I finally opened a shell prompt, ran apt-get update and got this error: signatures couldn't be verified because the public key is not available: NO_PUBKEY 751A20CF523884B2 Here’s how to fix any NO_PUBKEY error in two simple steps: $ gpg --recv-keys 751A20CF523884B2 gpg: requesting key 523884B2 from hkp server keys.

Continue Reading

Vendor Lock-in, and how Facebook was trapped in a MySQL 'fate worse than death'

Interesting how the writer of the article below mentions start-ups who use easy access to SQL skills to launch their business prototype, but then have to grow into more complex systems over time. Vendor lock-in can be a serious problem for startups who find themselves at a pivot point of maintain growth but needing to move to alternate technologies and platforms in order to sustain that growth in the first place.

Continue Reading

In-line upgrading to Ubuntu 11.04 on my workstation at the office.

I love Debian’s in-line upgrades, especially with how seamless Canonical has made it within Ubuntu. Still, I have to question the speed of their CDN when downloading 1800 packages is going to take 8 more hours. Comcast and Speedtest.net have verified we have 10Mbit-15Mbit connectivity, so why all the slowness? One of my favorite features about World of Warcraft was the bittorrent client in their upgrade/installer software, allowing you to download patches in a fraction of the time.

Continue Reading

Dare to Compare: Cloud Hosting vs Dedicated Hosting

My buddy Subash re-tweeted an article he read about [the real cost of cloud hosting])http://chrischandler.name/the-real-cost-of-cloud-hosting). While there’s nothing too surprising in the article when comparing basic hardware and data center costs to running on Amazon’s EC2 platform, I’m curious how well you could compare those costs to Google App Engine. Granted, there are more question marks when planning to use (or move to) App Engine for a web application, and that’s partly why I’m headed to Google IO to learn more and maybe chat with the team.

Continue Reading

Installing Gentoo on the Dell XPS15 ... hopefully it'll be a better low-power setup than ubuntu/win7

Updated April 26, 2011 I’ve been trying off and on for a few weeks, as I have free time with work and family (now with two kids), to install Gentoo on my Dell XPS15 laptop. Until recently, I had gotten the OS installed, including grub, in a tri-boot Gentoo/Ubuntu 10.10/Windows 7 configuration, and Gentoo was smart enough to start in text mode with the framebuffer on, so I got a full 1920x1080 with small text, and very little running in terms of services.

Continue Reading

HAProxy Won't Manage Multiple Wildcard SSL-Enabled Sites

Well, it was worth a shot. I spent some time at work over lunch trying to get HAProxy set up in such a way that we could have a wildcard SSL certificate on several Amazon EC2 instances, answering to different domains, and let HAProxy route the traffic accordingly. Unfortunately, SSL certificates still appear to require separate IP addresses per host that you’re securing. And since we can’t assign multiple Elastic IP addresses to our HAProxy instance at Amazon, I’m at a bit of a loss for how to run a software proxy server to manage multiple secured domains.

Continue Reading

Nginx and PostgreSQL full text search

I tinkered with PostgreSQL’s full-text-search (FTS) capabilities and I’m pretty impressed. On a table with 1.2 million rows of user profile information, I can do a token-based FTS search for usernames in under 90 milliseconds on a small-ish AWS instance. Unfortunately, the FTS token system doesn’t recognize MixedCaseUsernames, or numbers between words, as word separators. I did, however, fall quickly in love with the marker tag system which tells Postgres to prepend and append HTML 4 bold tags around matching portions of text.

Continue Reading