August 31, 2006

CouchDb 0.2

CouchDb 0.2 is now available for download here (Windows only):

Apache/PHP CouchDb simple discussion demo files:

GPL licensed source here:

Also the new project website is live. Thanks to William Beh for his hard work getting it ready.

The new build has new features and better debugging and feedback that I haven't actually documented yet. It's a priority for tomorrow.


GPL CouchDb

Ok, I'm just hours away from releasing the next alpha of CouchDb as GPL code.

Anyone care to talk me out of it? My Coin in the Couch post from a few months ago outlines the plan, which can be summarized thusly:

1. Release the core for free.
2. Charge for closed source add-ons.

So that's the plan, but for that plan to work I need funding. So over then next couple of months, I'm going try to attract some funding for this project.

The question is, if I GPL the project, will that substantially hamper my ability to get funding? The consensus from the few people I've polled is that it will. Most money guys aren't going to see value in a project that's been GPL'd.

But will it hamper my ability to get quality funding? I mean, I don't want to do business with most VCs. The VC ranks are filled with pressure driven MBA types overly concerned with the big payoff.

I'm not interested in making myself a buyout target for MegaRich Corp. I want to change the world and have fun doing it. Goddammit, that's what I'm going to do. Whoring myself out for big dollars isn't fun. It's soul crushing. Trust me, I know this.

So is GPL'ing my source code a bad idea? Will it make it harder for me to attract good funding? I think the answer is no, but feel free to try to convince me otherwise.

BTW, if you've never actually dealt with investors or ran a business, you are going to have a double hard time convincing me.


August 28, 2006

Let me tell you about Ferdinard Katz



Re: Next of Kin

My name is Ben Mekk I work as an executive partner for the firm
Sunderland consulting and Parker Investment Brokers and Security Consultants
U.K.We are conducting an end of year consolidated financial statement
for the year ending March 2005 under conjunctional agreement with
Deutsche Bank the German conglomerate banking giants.

This notary enquiry involves a client who bears your surname and also
the circumstances surrounding investments made by this client at
Deutsche Bank offshore group a commercial and investment arm of the parent
Bank. It was brought to our knowledge that the formentioned client died in
testate and nominated no next of kin to the title over the investments
made with the Bank leaving over $15,000,000.00 with nobody to claim it.
We came to know of you via the London Global Database Center (L.G.D.C.)
and we strongly believe that you are the only person closest to her and
bearing the same last name with her. Hence making you her only
surviving next of kin and heir to her funds and investments that worths over

The essence of this communication with you is to ask you to come
forward and claim this fund which according to our investigation results
shows that you are the only person that can claim this money.

I am now in United States for this purpose and will stay two weeks in
Newyork and then back to London.
Fill the below form and send it to me via email as soon as you receive
this letter: My email address is UUTTBB@YAHOO.COM.

Full Name:
Home, Work and Cell Phone Numbers:
Email Address:

Thank-you for your co-operation.

Ben Mekk

This letter is intended only for the use of the individual or entity to
which it is addressed and may contain confidential information
belonging to the sender which is protected by the business-client privilege. If
you are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution, or the taking of any action in
reliance on the contents of this information is strictly prohibited. If you
have received this letter in error, please distroy immediately.

Oh Ben Mekk, this is is just sad. Who falls for this stuff? And how does it keep getting through Yahoo's spam filter? Exactly one 409 scam attempt makes it through every day. One and only one. Every day.

Anyway, Brian Mekk, your attempt is sad. Pathetic really. "This notary enquiry involves a client who bears your surname blah blah blah..."

Bears my surname? That's it? That's the connection? I'm expected to believe you're contacting me as heir to a $15,0000,000 estate, and you can't even be bothered to type out the actual name? KATZ! Is that so hard? Do you really think anyone's going to fall for your form letter if you can't customize it even slightly? Look at my email,, you already have my name you lazy asshole! You'll never scam anyone like that, type in a fucking name you loser!

I once got a email about a distant cousin of mine, Ferdinard Katz. It's so tragic, it's still hard for me to write about. Ferdinard, a businessman using his wealth to create orphanages in Burkina Faso, was killed in violent car crash, along with the rest of family, his wife and two small children. And apparently the wife's extended family too (or maybe she was an orphan). Very very tragic.

He and his whole family had so much to live for. 9 million USD for example. So much. Poor Ferdinard. With no close relatives. Who will remember you Ferdinard? Who? Who Ferdinard?

Me -- that's who.

My eyes well up just thinking about you and your tragic death. To everyone else you're just a name, but to me, you're family. You lived with courage, died in tragedy! I know this! I will remember you, distant cousin Ferdinard Katz. I will remember, your death will not be in vain. You were a real person dammit! And I will put those millions to good use! FERDINARD!!!

See the difference Ben Mekk? See how you want to sell the tragedy? To play on emotions of family, sadness and greed? What you want is overwhelm your victim emotionally, so they're less able to make rational decisions. You really have to put a some thought and effort into it. Bulk emails and lines like "bears your surname" just won't cut it. Sorry, just won't.

Ben Mekk, give it up already. You suck as a scammer.


August 23, 2006

Best thing I've read all week

Is Hef really having a better time at the Playboy Mansion than you are at home?


August 21, 2006

The Alpha has landed

CouchDb Alpha 1 is the hands of my testers and I've gotten confirmation it actually works (in at least one instance anyway). Another milestone!

The project website will be live shortly, thanks to the efforts of William Beh and Bruce Elgort.

Thanks for the good word Raj!


August 16, 2006

New documentation on the Wiki

I've got the PHP demo's written and right now I'm working on the initial REST API documentation.

Anyone want to help write a tutorial?


August 14, 2006

CouchDb, like, totally rocks

Alpha testers, it's coming. Soon.

I've spent the last week exploring how CouchDb interfaces with PHP and web development in general, and I'm now finally seeing how well it all fits.

So what do I think? It's very very early yet, it's still missing big important features, and it's totally untuned and inefficient. But it rocks. Yes it does.

I'm trying not to get too excited at this point, because I understand I have just a *smidgen* of bias here.


That is all.


August 9, 2006

Needed: PHP Guru

I'm working on the first CouchDb demos and doing them in PHP. I chose PHP because it's supposed to be simple and easy.

Is anyone out available to field some (probably) easy PHP questions? My current frustration right now is trying to get the HTTP library working, everything appears to be in place but I can't call the library. The CURL library, my first choice for a HTTP client library, is working but apparently can't do simple POSTs without multipart-form encoding it.

Please help me before I hurt something.

I figured out the problem with HTTP lib. I was editing the wrong php.ini file. I'd still like to know how to POST arbitrary content-types with the CURL lib, but I fear it's not possible.


August 4, 2006

Abstraction isn't free

It costs a buck o' five.

Eric Gunnerson explains the #1 Deadly Sin of Programming, which is premature generalization, also know as the Turing Tar Pit. He uses the real life example of an overly complex and generalized GUI layout manager:

At that point, you often have to think about abandoning the code and redeveloping in the next version. And in the next cycle, this group *did* learn from their mistakes - instead of the uber-component, they built a small and simple library that different scenarios could use effectively. And it turned out that, overall, they wrote less code than before.

HaHA. I make joke.

What they really did was build *another* uber-component that looked really promising early (they always do), but ultimately was more complex than the last version and traded a new set of problems for the old ones. But, building it was a technical challenge for the developers involved, and that's what's really important...

As someone who's done his fair share of both over-engineering and under-engineering software, I must say that over-engineering seems just as bad as (and maybe worse than) under-engineering.

What is over engineering? Basically it's when engineering "best practices" are applied to the detriment of the project. In the above case of the layout manager, it's the "best practice" of software abstraction and reuse.

Like under-engineering, there are long term costs associated with over-engineering that continue to slow productivity, but unlike under-engineered code, over-engineered code is less likely to be addressed. Lots of work goes into over-engineering things, so it must be more valuable. And because the code is harder to understand, the impact of changing the code is harder to gauge. And so it lives on, frustrating developers for years to come who ask themselves "Why is this so hard?".

So how to know when you are over-engineering things? I struggle with that all the time, and there are no easy answers. Which leads to the point that there really are no best practices.


August 1, 2006

Domino Hosting

The first alpha release of Couch is very close to being done, the REST API is in place and right now I'm tying up some loose ends (there are lots of loose ends). My alpha testers should get something before next week.

In the meantime I need to get Domino hosting for the upcoming project website. Anyone want to donate to the CouchDb cause with some good reliable Domino hosting?


I've taken Bruce Elgort up on his offer to host the project site on his server. Bruce also founded the project site, a hugely popular site and community for Lotus Notes and Domino open source software. It's great news to have Bruce involved, as maybe some of that community will rub off onto CouchDb. ;)