Why CouchDB Sucks
CouchDB really sucks at doing some things. That should come as no surprise, as every technology has its advantages and its drawbacks. The thing is, when a new technology comes out that looks really promising and cool, everyone writes about all of its advantages, and none of its drawbacks. Then, people start to use it for things it isn't very good at, and they are disappointed. In that spirit, I would like to talk about some of the things that (in my experience) CouchDB is absolutely not good at, and that you shouldn't try to use it for. First, it doesn't support transactions in the way that most people typically think about them.
jQuery 1.4 iPhone reference app - O! Mr Speaker!
Thursday, January 14, 2010 [English got you down? Try this post in Belorussian!]
addSizes.js: Snazzy automatic link file-size generation
Often in the development of a site I come across the need to display the size of a document next to the link targeting it. I also like to display the type of file the link targets, for example, when linking to pdfs, mp3s or Word documents. These indications distinguish the 'attachment' link from a normal web link, whilst also giving the user some inkling of the time they will need to wait to view the resulting content. So I was pretty excited when Simon bounded in from work and enthusiastically demonstrated json-head , a Google App Engine application he built on the train home.
Exploring CouchDB
What is CouchDB? CouchDB is an open source document-oriented database-management system, accessible using a RESTful JavaScript Object Notation (JSON) API. The term "Couch" is an acronym for "Cluster Of Unreliable Commodity Hardware," reflecting the goal of CouchDB being extremely scalable, offering high availability and reliability, even while running on hardware that is typically prone to failure.
CouchDB Implementation
CouchDB is an Apache OpenSource project. It is Damien Katz's brain child and has a number of very attractive features based on very cool technologies. Such as ...RESTful APISchema-less document store (document in JSON format)Multi-Version-Concurrency-Control modelUser-defined query structured as map/reduce Incremental Index Update mechanismMulti-Master Replication modelWritten in Erlang (Erlang is good) There is a wide range of application scenarios where CouchDB can be a good solution fit, from an occasionally connected laptop-based application, high performance data cluster, and all the way up to virtual data storage in the cloud. To understand deeper about CouchDB design, I am very fortunate to have a conversation with Damien, who is so kind to share many details with me. Here I want to capture what I have learnt from this conversation. Underlying Storage StructureCouchDB is a “document-oriented” database where document is a JSON string (with an optional binary attachment).
Python 2.6 Quick Reference
Style chooser: Modern, Modern B&W, Modern Colored, Classic, High contrast or Printing [Hint: Use styles Modern B&W or Printing to print. If you get problems, try printing the PDF versions instead] Contents Front matter Version 2.6 (What's new?) Check updates at Please report errors, inaccuracies and suggestions to Richard Gruet (pqr at rgruet.net).
CSSHttpRequest - Hacks - nb.io
Cross-browser—supports IE6+, Firefox 2+, Safari 3+, iPhone 100% JavaScript—no Flash required Small—2.4KB minified Like JavaScript includes, this works because CSS is not subject to the same-origin policy that affects XMLHttpRequest. CSSHttpRequest functions similarly to JSONP, and is limited to making GET requests. Unlike JSONP, untrusted third-party JavaScript cannot execute in the context of the calling page. A request is invoked using the CSSHttpRequest.get(url, callback) function:
ongoing · WF XI: Results
This is the eleventh progress report from the Wide Finder Project; I’ll use it as the results accumulator, updating it in place even if I go on to write more on the subject, which seems very likely. [Update: Your new leader: Perl.] The Name · There’ve been a few posts wondering about the name “Wide Finder”. The original Ruby code came from my Beautiful Code chapter called “Finding Things”; thus it was a Finder.
Framework Inertia, CouchDB and the case of the missing R
There is nothing wrong in using frameworks, so long I can justify the cause. A language like Java leaves a lot for frameworks to implement. While Java offers idioms that promote separation of interfaces from implementation, yet we need dependency injection frameworks to get around the problems of wiring concrete implementations within the application.
Table of Contents
Hey there, it appears your Javascript is disabled. That's fine, the site works without it. However, you might prefer reading it with syntax highlighting, which requires Javascript! Introduction Starting Out Starting Out (for real)