Sunday 18 October 2009

Insert Witty Couch Reference Here

As a sideline to my research for storm-cloud I ran into a post about a new service from ubuntu one. The post referenced a data store known as CouchDB which is a is a document-oriented database written in Erlang. As I am currently interested in how to store unstructured document data for my RestMS implementation I continued through to a book published by O’Reilly Media on the subject. The book is available to read online for free at CouchDB: The Definitive Guide. I found the first chapter very interesting with a break down of the reason for the project as well as some very insightful quotes from people in the industry relating to distributed data, and access to it.

One thing I find intriguing about this database is it's use of Erlang, a programming language designed at the Ericsson Computer Science Laboratory. Having recently had a peek at scala this language was mentioned quite a bit as "another functional language", however I didn't really look into what it was. Having now had a read over the free first chapter of Erlang and OTP in Action and considering my keen interest in concurrency this looks like a must investigate.

So with this all in mind I set out to install couchdb on my opensolaris box in a zone.

Saturday 3 October 2009

Surveying the land scape

After spending the obligatory time setting up my java project and being led off in many and varied directions chasing shiny new APIs and tools I have come REST back at Java and Maven.

There are certainly a myriad of new frameworks in the JVM, especially with the inclusion of such a diverse array of new languages like JRuby, Groovy and Scala. In the last few weeks I have kicked the tyres of most of them, and certainly the odd one a good test drive. But at this stage I have decided to stick with the old trusty Java and Maven team.

This is not say I am any worse off for the trip having seen some great ideas, new features and tricks I will surely call upon in the future, however in my case all of the building blocks I need for my RestMS server are all written in Java, and for a basic functional 1.0 will be fine bound together using Java.

The reason for sticking with Maven is just the sheer array of plugins, tools and overall power of this build tool. God knows I fight with it, dodging and weaving through it's more complex areas but at the end of the day it does a lot of shit I just cannot be bothered with, or didn't even think was possible. And all with a small tweak here and sometimes bit of head bashing. This paired with the ability to stand on the shoulders of giants, borrowing ideas from the wide array of large projects already using it makes it quite an attractive path.

In addition to development toolsets is the wide variety of open source hosting environments, with http://sourceforge.net, http://code.google.com and http://github.com to name a few. Having also given them all a try again lately I have selected github.com for my storm-cloud project. I can summarise the reason for this by saying I am amazed by how it is entirely focused on the code, how it is browsed, how it is shared. Their interface for code browsing is much more interactive than the other project sites. This paired with the ability to add a nice welcome page to your project is very cool.

So my new project site is http://github.com/wolfeidau/storm-cloud

I am currently, albeit slowly, chipping away at my todo list, adding structure, function and of course tests :)