Humor: Write in C

January 23, 2009 § Leave a comment

Someone post this on slashdot comment.

(Sing as if you were singing “Let it Be”)

When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
Write in C.

As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
Write in C.

Write in C, write in C,
Write in C, oh, write in C.
LOGO’s dead and buried,
Write in C.

I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.

If you’ve just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.

Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC’s not the answer.
Write in C.

Write in C, Write in C
Write in C, oh, Write in C.
Pascal won’t quite cut it.
Write in C.



CouchDB installation on OS X

January 8, 2009 § Leave a comment

Here’s a quick tutorial on how to install CouchDB on OS X Leopard:


  • Make sure you have darwinport installed because that’s how I install mine.
  • Make sure you have installed easy_install for Python.


  • Install Erlang: ‘sudo port install erlang
  • Install CouchDB: ‘sudo port install couchdb +server
  • Launch CouchDB: ‘sudo launchctl load -w /Library/LaunchDaemons/org.macports.CouchDB.plist
  • Install couchdb-python: ‘easy_install couchdb

See if CouchDB is running:


  • The most recent CouchDB in darwinport is 0.72. In this version, I’m having problem with creating an ad-hoc View. Reading some posts online, it seems that this problem is solved in version 0.8.


Languages: Bondage and Disipline

January 8, 2009 § Leave a comment

This is one old wiki post that’s continually being updated. There’s not much value in the posting other than entertainment.

QuickSort music video

January 8, 2009 § Leave a comment

non RDBMS, is it what web application needs?

January 6, 2009 § Leave a comment

Google, with its BigTable and Amazon’s S3 certainly paved this trends.

And nowadays, there are many emerging distributed file storage and key-value databases.

To name a few of those:

  • CouchDB – written in Erlang and use javascript for its View (map-reduce) functionality.
  • HadoopFS – Hadoop’s file system. Written in Java.
  • Hypertable – based on Google’s BigTable.
  • MemcacheDB – its benchmark claims 18868 writes per second. It uses BerkeleyDB and based on Memcache. I will definitely keep an eye on this one.
  • Ringo – Another key-value storage.

What would be the advantage and disadvantage?

Fast writes is certainly one of the big advantage of these systems. On top of that these systems are built to handle high concurrency by being simpler than RDBMS.

Not having SQL parser overhead is also another obvious advantage that immediately brings a disadvantage. It’s hard to perform various different reporting scheme without SQL. I would imagine that a lot of reporting attributes would have to be stored as part of the data so that reducer() function can be applied on them. That requires a lot of forward thinking.

I would not count “not having SQL increases learning curve” argument as disadvantage. Most of these storage systems have simple API calls for programmers to use. 

What kind of applications would benefit from such storage mechanism?

Usage for Photo and Video sharing sites is no brainer, each media file can be keyed to its hashed filename and stored in one of those distributed storage.

All sorts of publishing applications, such as blog, wiki, or forum can also use the same technique.


Other Resources:

Libraries for parsing MediaWiki syntax

January 4, 2009 § Leave a comment

MediaWiki has its own syntax for posting document.

For those who want to port these documents to other form, for example XHTML, Ruby and Python have the following libraries.  



Where Am I?

You are currently viewing the archives for January, 2009 at RAPD.