I like Erlang and that's why I clicked on the link but independent of language I have to say the "let's fix a bug together" approach is a pretty cool tutorial format which I hadn't seen before. It's almost a more valuable takeaway to think about this than the actual content (for me).
Interesting way for someone familiar with a language to find good tutorial ideas (just wade through some project and diff some patches)
I agree. One place I had seen this approach before was Russ Cox's "A Tour of the Acme Editor" video[1]. He fixes an issue in a go library towards the end of the video as a workflow demonstration.
I always have loved CouchDB from a far, and every time I see it here and elsewhere in these contexts, I say I will learn Erlang and really dive deep it into it. As a young know-nothing developer, a few years ago, their NoSQL Web-DB of the future elevator pitches seemed amazing.
I know the downsides have been oft-repeated here, but does anyone use it? Also do people here use it without JS, and use like pure Erlang-driven views? It sounds super powerful that way.
We use it in production, and we're slowly migrating some data out of SQL into CouchDB. It's very stable, operates over an HTTP API, and the 2.0 release will have better clustering/sharding built in. We don't use the views or JS at all, just as a document store.
CouchDB is a great database. It unfairly got a bad rap for performance/scaling due to the client libraries (I know Ruby for sure) being written so poorly. I've used it on a few projects with great success. I'm hoping I can try out clustering features in 2.0 sometime soon.
We use it in production, but are migrating away from it for some projects since that data is better suited for a relational DB. Some developers were too quick to jump onto the NoSQL bandwagon a few years ago.
For certain uses it's great, once you've wrapped your head around writing map/reduce views. It really shines when you need to provide a read-heavy JSON backend.
I've never written views in Erlang (actually, I've opted for higher abstraction and used Coffeescript), but now that I have a little functional programming experience with Haskell, I'd like to try it out.
Use and love it. I don't know of any other databases that handle master-master replication so nicely. Few handle crash-only design as well (that is using append-only files such that a hard crash will not corrupt the data).
And BTW IBM/Cloudant is supporting a lot of development of CouchDB and 2.0 will be even more awesome -- clustering, MongoDB-like query language, a new and even better web viewer/console and many other goodies.
Interesting way for someone familiar with a language to find good tutorial ideas (just wade through some project and diff some patches)