Hacker News new | past | comments | ask | show | jobs | submit login
Let’s learn Erlang and fix a bug on a CouchDB Cluster (robert-kowalski.de)
105 points by signa11 on July 30, 2015 | hide | past | favorite | 18 comments



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.

[1] https://www.youtube.com/watch?v=dP1xVpMPn8M


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.

https://wiki.apache.org/couchdb/EnableErlangViews


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.


Very cool. As much as fun as the hype or hating is, I like to hear from frontline people how it goes.

Will have to invest some time in it sooner rather than later!


We use it in production and it's open-source https://github.com/dimagi/commcare-hq


I skimmed your work and starred the project on Github. Will definitely come back to this later.


Yes, i've tried to use Clojure, JS and native(erlang) view servers. Native view fns are significantly faster


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.


This looks promising. Will try and go through the entire thing.

On a similar note about learning Erlang, can't stress how well written http://learnyousomeerlang.com/content is.

Really sets the standards of how tutorials to learn a new language should be.


I preferred Erlang Programming [1] to LYSE.

http://shop.oreilly.com/product/9780596518189.do


Check out the book that was created based on the tutorials: Learn you some Erlang for the greater good


Definitely, I shall!


Thanks! This post will help me learn Erlang, and it has given me a great idea on how to write new blog posts!


Cool thank you all for the great feedback, I'm Robert!

Right now I am writing a book on improving Erlang performance written in the same style like my blogpost!

I will also add a few more articles in the future. :)


Nicely written and a good template to think about using for similar work. Really cool to see Erlang.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: