So I’m grumbling a little bit, but not really. I’ve been watching this really interesting distributed document storage technology called CouchDb for several months now. I’ve wanted to start playing around with it, but I was taking the lazy route, and waiting for it to show up in my Debian repository; I remembered to check today, and boom! There it is. Joy.

Time for the grumble…CouchDb is built in friggin’ Erlang: a soft realtime, declarative, functional language designed for distributed systems and originally written by the telecom company Ericsson for telco-switches. Erlang was open sourced back in the late ’90s…but even geeks think this language is geeky. So *grumble*…but at the same time, a little woohoo! I haven’t really been on a language kick in quite awhile, so it could be quite fun. I don’t really need to learn Erlang to program against the db, of course; but why the heck not, eh?

And CouchDb itself looks amazing. It’s designed for distributed operation (with deterministic, versioned resolution in the case of merge conflicts), has clean atomic updates, can version indefinitely (ie, keep all changes to a document until you decide to compact the db and remove old versions), and has a adhoc schema model (add fields to a document on the fly). The thought of a completely custom contacts, notes, and todo db on a next-generation phone that automatically cleanly syncs to the cloud with proper merging, etc. makes me very happy.

Document databases like CouchDb make a lot of sense for semi-structured data. Don’t misunderstand…I like relational databases; in fact, I’m a professional DBA in my day job, and I have done database-backed web development since the mid-90s. But as tools like CouchDb, Amazon’s SimpleDB, and Thrudb (a similar service built on Facebook’s Thrift framework) continue to evolve, they allow us to explore other options more suitable to the document-db style, while maintaining the transactional reliability and robustness associated with RDBMSs. Lotus Notes was actually a great ahead of it’s time example of this technology, but suffered (IMO) primarily from lack of F/OSSness; this prevented it from gaining hard-core geek mindshare during the 90s and early 00s. As GNU/Linux and company gained traction, partial free software re-implementations were developed instead (hackers scratched their own itches). And now we’ve got CouchDb, and Notes runs in Eclipse. Geeks really do rule the world! *grin*

So I look forward to playing with CouchDb and exploring some new options for data storage. If I hit anything uber-exciting, I’ll make sure you all know first. *grin*

UPDATE: This thing is the freakin’ bomb. The Python CouchDb bindings are excellent, but they’ve got Hello World examples for about ten languages off of the main wiki page. I already have a use for this thing, too. Criminy! Too cool.

Note: I love Google. And I think Gmail rocks; I actually do use it for some mailing lists and unimportant stuff. But I’m wary of putting all my eggs in one basket (Google), and I’m VERY wary of the issues WRT 4th Amendment searches and privacy when one’s email isn’t really in one’s own possession. So I run my own IMAP mail server, in my own little house. They can come with their own little search warrants and serve ME, thank you very much.

But the downfall to that is search. You get USED to the power of the Google; archiving and tagging rather than saving to folders, and powerful search functionality at your fingertips. I knew there must be some tools for me to use, but I kept neglecting to do the *irony* search needed. But ah…thanks, muttwiki (I use mutt as my MUA) for links to mairix!

Da bomb. mairix has full-text search on headers and body, powerful operators, and setup properly, puts the results in a IMAP folder populated on the fly. Perfection!! I kick off a db update nightly (I could do it on demand if I wanted…but it’s just not THAT necessary), and I’ve already used it several times with great results. It integrates beautifully with mutt, too. Totally, totally recommended if you go the roll-your-own mail server route.

Wow…great overview and link: Torture, Same As It Ever Was — Powerful historical references, too: Some denied, on racial grounds, that Filipinos were owed the protective limits of civilized warfare. When, during the committee hearings, Senator Joseph Rawlins had asked General Robert Hughes whether the burning of Filipino homes by advancing U.S. troops was within the ordinary rules of civilized warfare, Hughes had replied succinctly, These people are not civilized.

I wonder what we’ll think of our mess in 100 years? Oh, heck…we’re on Internet time now. I’ll be fascinated to see what history makes of it in just a couple or three decades. Hopefully, I’ll be alive to see it.

I don’t think I’ve seen a better explanation of the telecomm immunity issue than this from Brad Templeton (Chairman of the EFF): Whose call is it to say what’s legal?. Thanks, Brad.

It’s been difficult at times to watch the rhetoric here. When people say that you want the terrorists to win, or you’ll make this country less safe in the context of this issue, it’s (IMO) dangerous and unfair. As Brad makes so clear, we’re not even talking (at this point) about terrorism, or surveillance…we’re talking about the rule of law, and how we ensure that the checks and balances in our system of government endure. Legislating retroactive immunity for decisions like these is a really, REALLY bad idea.

I’ve done web development off and on for a long time (1995 or so), and I’ve done a fairly good job of keeping up on the backend, I think. From CGI/perl to Zope to Apache, mod_python, and Django, dashes of AJAX, with side journeys into .NET/Mono, Rails, and even more exotic toolkits and frameworks. But I’ll admit, I’ve been slow to pick up new tools on the desktop. In particular, for some bizarre reason, I’ve resisted using Firebug, the web development plugin for Firefox.

And boy, was that stupid! I finally bit the bullet last night and installed the Firefox 3 beta and Firebug, and wow. I worked on some CSS tweaks for some of my pages today, and got more work done in two hours, with less effort, than probably the last 4 months! Awesome. This is a killer tool, and I’m so glad I finally trusted all the folks who give it a 5-star rating. Heck…you learn something new every day!

I just finished His Majesty’s Dragon, Book 1 of the Temeraire series by Naomi Novik. Outstanding! In the fantasy/alternate history genre, it’s hard to get better than this; set in the Napoleanic Wars, with all the attendant pagentry of the era…but with dragons. Not bad at all, and the dragon characterizations are excellent. I bought this first one when were at the bookstore just last night; I’d been eyeing it occasionally, but never gotten around to buying it. Stayed up late last night with it and finished today (it’s a quick read), and just ordered the rest from Amazon.

Recommended. It’s apparently the author’s first book as well, which impresses me. Her style is very light; doesn’t get in the way of the story. It reminds me a bit of the Horatio Hornblower/Master and Commander stuff (the human protagonist is a British Navy Captain that ends up a dragon rider); she does a good job of exploring the era’s military and class issues in way reminiscent of those books. But it ends up a fun and easy read with characters I like (even some who aren’t that important to the plot…always a sign of a good author IMO).

Book 5 in the series, Victory of Eagles, is out later this year…I hope the series continues to entertain. I always enjoy having a book to look forward to!

Another ball drop for old-school crisis management. Amazon’s S3 service was down for a period of time this morning. Bad, REALLY bad. This knocked static file services offline for a HUGE number of web 2.0 sites. But the even worse thing (as noted by ZDNet ) is that as I’m writing this, 6+ hours after the situation was mostly resolved, there is NO acknowledgment of the issue on the AWS blog. Nada. Nothin’. Last post from 4 days ago.

Sure, there’s a developer’s forum thread that has been occasionally updated, and as always happens in these situations, they state “we’re heads down on the problem; no time to chat!”. But, um…that’s not where J. Random Web 2.0 CTO is going to start when checking on things. This informational black hole is simply unacceptable today…it shows a high-level managerial misunderstanding of the nature of the interactivity that’s expected today via our enhanced communication tools (blogging, micro blogs, SNSs, etc.)

There’s no technical reason not to throw up a quick post…”stuff is broken, we’re working on it. Updates to come.” and updating it as you go along. (Heck, just cut-and-paste from ZDNet if you’re unoriginal) Nothing except PHBs that don’t like information leaving before it’s tarted up, properly spun, and moved close to the smoke-and-mirror machine. I’m disappointed, Amazon. Not only does it show a lack of vision, it also allows other sources to get ahead of you in discussing the topic, and take control of the conversation. Which is what we’re having about you…even though you’re not participating. Funny…we just passed the 10 year anniversary of the The Cluetrain Manifesto…and sometimes I wonder exactly how much has changed.

Tor books is cranking up a new website at Tor.com, and they’re giving away a book a week in PDF form as a promo. Go to tor.com and sign up, and you’ll get email links for a Tor book a week until the launch. I just got Mistborn, by Brandon Sanderson, and next week’s will be Old Man’s War by John Scalzi (which I have in hardcover, and is a pretty good book). Great idea, Tor!