So here I am, grinning ear to ear with a 256kbps connection. If everything goes fine, I plan to upgrade to 384kpbs and eventually to 512kbps. By the way, the BSNL customer service is quite nice actually. You just need the right contacts ;-). The people who visited my home for the connection were uniformly courteous and helpful.
Thursday, March 31, 2005
Wednesday, March 30, 2005
Monday, March 28, 2005
Preliminary data indicates that SQLite does slightly better for tmpfs databases for writes and much better for reads. On normal disks, sqlite seems to do a whole lot better for writes. I'll post the test program in a couple of days. I noticed that the SQLite Btree take up only one third the size of Berkeley DB Btree on disk. That may explain the performance difference because the test program is I/O bound. Please note that these results are very preliminary, I am still learning the APIs.
Speaking about APIs, Berkeley DB is obviously well documented. For SQLite I had to go by the (well) commented source and a test program. Berkeley DB's transaction based API is a pain to use. Despite the lack of documentation, I found the SQLite API much more cleaner and simpler to use. In my next blog I'll present some numbers and the test program.
Sunday, March 27, 2005
I am looking for an embedded, transactional B-Tree database alternative to BerkeleyDB. You ask me what's wrong with Berkeley DB. Well, there are no technical issues but the license is not free for commercial use. Unfortunately I couldn't find one :-(. db-1.85 doesn't fit the bill because it doesn't support transactions. Same problem with gdbm. db.* looked promising but that requires a schema definition.
I already knew about SQLite and remembered reading that it's B-Tree API could possibly be used independently. This was in the back of my mind for a long time, so I set to find out if that's the case. I found that the SQLite's B-Tree API provides a surprisingly clean and complete B-Tree interface with transaction support. There is a TCL based test suite (test3.c) that serves as a good example of how the API can be used.
I am writing a test program to excercise the API. I'll blog my progress.
Saturday, March 05, 2005
Today was the online round for Google India Code Jam. I didn't make it. I didn't really expect to make it, so I am not too disappointed. The competition is too good. In case you're curious, I came it at the 60th place; only the first 50 get through the next round. A majority of the participants were still in college. I wonder if I am none of the oldest participants around ;-).
Wednesday, March 02, 2005
Tuesday, March 01, 2005
I haven't blogged for a while now. I was practising for the Google India Code Jam and I had a bad shoulder pain (the doctor says muscle has gone into a spasm). Let's give a could shoulder to my shoulder (sorry, bad pun ;-). I had a fairly high opinion about my coding skills but the practise problems in the GICJ Arena and general Topcoder arena deflated my ego considerably :-(. May be I've rusted by 10+ years of coding in the industry, but it's more likely that I was never the coding guru that I was ;-).
Any way, I did participate in the evaluation round yesterday and managed to get a reasonably decent score. The server experienced lots of problems and the results are still not yet out. I think I'll make it to the next round, but I doubt I'll go much further. I was surprised at the amount of obvious cheating that went on in the contest.