Re-inaugural post! I’ve put nothing up here for a year and a half, and the last post before this one was about how I intended to write more.
Internet, I break all of my promises to you.
I had in the intervening period written a couple of blog entries for a previous employer, although they’ve done several replacements of their home page and I can no longer find the blog (if it still exists). I may put them up here, because I liked them.
Wiki: Can Has
I had not ever run a personal wiki before last year. It turns out this is incredibly easy and useful. I’ve spent countless hours on the incredible C2 Wiki , which is fun and informative . If you write software and have not ever visited the C2 Wiki, you really ought to pay it a visit. It’s got a ton of fascinating information and opinions about concepts and various technologies . Being the first wiki written, C2 is a little quirky compared to the set of wikis that are patterned after MediaWiki , the wiki engine powering Wikipedia, but it’s also much simpler and more charming. It also refreshingly lacks any pretense of neutrality .
Patterned after the C2 wiki is AwkiAwki . If you have ever tried to set up MediaWiki, you’ll probably understand why there are so many wiki hosts: it’s a royal pain.
AwkiAwki gives you a wiki with almost zero headache. It’s written as a CGI script, and uses the wonderful Awk programming language. (An aside: if you are a fan of DSLs, Awk is one of the best examples of a well-designed and useful language; it takes perhaps an hour to learn if you are already familiar with programming, and is immediately useful. See An Awk Primer or Awk is a boon if you don’t believe me. I have solved a couple of Project Euler problems in Awk, and the solutions are on Github. Aside from all of that, it’s an incredibly fast language.).
In keeping with all this simplicity, AwkiAwki (being written in a simple language and cloning a simple piece of software) is very simple to set up. I went from tarball to working wiki in about 30 minutes (which is roughly the amount of time it takes to run “gem install rails”): you drop some scripts in your cgi-bin, you edit a config file, you make a directory with appropriate permissions, and you have a wiki. It’s incredibly speedy, too: it hovers around 10ms for rendering and transfer, per a series of 1000-request ridiculous, non-scientific benchmarks I just now ran through ApacheBench. So, you can get a fully functional (and fast) wiki with minimal effort. I had not suspected this.
I Accidentally a Whole Wiki…Is This Dangerous?
I originally installed it to play with Awk a little more, but within a couple of days I had accidentally become addicted to having a personal wiki. All the commands I forget, articles I have to look up repeatedly, lyrics to sea shanties. It has also replaced bookmarks and for me, and in some cases, has allowed me to free things from Tab Purgatory (where a tab is indefinitely open, always to be read “later”). Bookmarks (as well as ReadItLater and similar) being a hierarchy of disconnected links (minimally annotated—if at all), requiring syncing and generally being tied to the browser, have tended towards uselessness for me (and I suspect others), but brief write-ups in a private wiki have actually rescued things from Tab Purgatory, given context to URLs, and in general made itself useful with no effort on my part. Bookmarks are URL-centric, but a a collection of notes with links is topic-centric.
Consequently, though, I’ve been cranking out write-ups about various things on a private wiki that no one (as far as I know) reads. I bookmarked it on my phone, so I can take notes from anywhere. IN THE CLOUD.
I highly recommend trying this out. I tried it just for fun, but it gets addictive fast. If you’re reading this, you’re pretty likely to have a web server somewhere, and you’re pretty likely to have Awk installed on it. If not, prgmr.com has a 64MB VM they’ll sell you for just shy of $50 a year, and it’s definitely enough to run lighttpd and awk.
I Have Abandoned VPS Hosting, and You Can, Too!
Slicehost is getting wrecked by the cloud, and so I had to find a new place for my site, mail server, DNS, etc., to live. Linode or pmrgmr.com were the main candidates, but a thought occurred: why pay these jokers for a VM when I could have an actual M? Stuff a box in a colo; couldn’t be that much more expensive, could it?
Coincident with this was the appearance of a spare machine in my house. I had been using it to test out Xen (which I’ve since abandoned for KVM). It’s got a $20 desktop case, not exactly fit for colocation, but the hardware is more than adequate: 8GB RAM, quad-core 3.0GHZ CPU, 2TB disk. Why pay $50 a month for a VM with 512MB of RAM, weird disk I/O performance, and a shared CPU when I have that?
So…what about just putting a fat pipe in my house?
Bandwidth is Cheap, Double-Talk is Expensive
The planned uses for the machine were a mail server, a DNS server, and a web server. My first thought was to grab a DSL line, for which I had to go through AT&T, as they’re the only game in town for DSL here. (This recap is off the top of my head, but the TL;DR is that AT&T does not have what you want if you are trying to do this, but they will sell it to you anyway.) $80 per month for 1Mb/s upstream. The sales rep said a static IP would cost another $15, and I didn’t mind coughing up. It would take a week, and they’d send a technician.
A modem arrived after a week, but no technician. Didn’t work, no connection. Another couple of phone calls and another couple of days and a tech installed a dry loop. The interface came up, but I had a new IP every time I bounced it. More phone calls, and it turns out that I didn’t have a static IP. I got transferred to Sales, who said they didn’t sell static IPs, only “sticky” IPs, but that it was the same thing. What is a “sticky” IP address? Your guess is as good as mine would have been at the time, but I was assured that it would never change, and transferred back to tech support, who also assured me that it wouldn’t change, ever, and that it was suitable for serving DNS and mail.
It turns out, sticky IPs don’t change…unless your server goes down and someone else grabs the IP before you can. So, it’s essentially exactly as useless as a dynamic IP.
I Don’t Want to Like Time Warner, but I Do
Their sales rep knew what a DNS server was and why I might not want ns1 to have a different IP address if the server goes down for a while. I asked and was assured multiple times that there was no way the IP address would change as long as I paid my bill. They sold bigger upstream, the connection has yet to go down (even when the power was out, even when my residential, non-business connection was down), and it’s been speedy and reliable forever. They showed up a day after I called.
So, it’s not difficult or expensive to just run everything out of your house, apparently, provided you go with the appropriate company. I didn’t want to like them (they merged with AOL, ffs!) but they have been nothing but great for residential service for the four years I’ve used them, and the business service has been similarly excellent.
The Call is Coming from Inside the House!
My server is next to my desk, plugged into a UPS. If there is a disk failure, if I do something ridiculous like accidentally hose the sshd, if anything ever happens to it that will cause me to need physical access, I don’t have to drive to 1 Wilshire, I don’t have to email tech support, I just walk upstairs. If I want to upgrade the hardware, I just do it. If the machine starts swapping, I can hear it. It’s got an ethernet interface connected to the LAN, too, so passing large files happens at 1000Mb/s. And, if I miss the coziness of an underpowered VM, I do have KVM installed on it.
Issues with AT&T aside, the whole thing was so simple and cheap that I wonder why my friends are still handing money to Slicehost/Linode/Heroku/whoever. (Although I will be sending some cash to prgmr.com for a cheap VM to act as a backup, just in case.)
So, the bits you’re reading originated in my house, were copied to the server across the LAN, and are making their way to you via a pipe with an endpoint at my desk. In short, the call is coming from inside the house.
I’ve got some ramblings about interesting technology I’ve been poking at. They’ll eventually make their way here, and a few of them will probably come from copy-pasta’d wiki pages, briefly cleaned up to remove scatalogical references to unpleasant technology.
There’s half an entry on Plan 9 and Inferno that I’ll be posting shortly, but please keep in mind the disclaimer at the beginning of this post.
<< Previous: "New Danged Blog"
Next: "Plan 9 and Inferno" >>