Older blog entries for MAK (starting at number 8)

Back again after another long break.

Haven't worked on much worth mentioning here in the meantime, which partly explains my silence here. Built a simple code-paste site in Python, but haven't released the code yet. I'll put it up once its in a more usable state (if ever). I also tinkered with making a simple interpreter (also in Python). My efforts are available at online. Its been up for some time now and I don't think I'll get around to completing it anytime soon.

My day job leaves little time for much else. But I hope to post something (perhaps updates on my projects) soon.

Back after a long break, mostly because of exams.

Got eliminated after round-2 in this year's GCJ. It was fun, but I was hoping for a better performance this year.

Read an old blog post by Steve Yegge, that got me trying something I've been putting off doing for a long time. Started by coding a simple arithmetic expression evaluator. I'll probably start on something slightly bigger next.

ncm: Really good points. I read that blog post, and it is hard to believe that guy was actually involved in HotSpot. Most of what he says sound like "I refuse to believe it is that bad. It isn't Java's fault, it's your code that's doing it in a bad way". You comment wasn't offensive at all. I don't hate Java, and actually was a big fan not long ago, but simply denying Java has any weak points sounds highly idiotic.

Very happy today. Did very well in today's topcoder match. This is also the first time I got myself a slight advantage there by using a language with built in big number support.

Reading a lot of open source code. I must admit reading code from real world, living breathing projects (as opposed to quick and dirty hacks to solve a particular algorithmic problem, often deliberately aiming to minimize characters typed as well) has greatly improved my coding style.

While reading about memoization, I stumbled into decorators and decorator libraries for python. Really useful. Wrote my own memoization decorator for python, using ideas lifted from some perl and python code and a few additions of my own. I'll probably make it available online soon.

I've started reading SICP. Fascinating book. But can't build mit-scheme on my machine because I simply don't have enough memory. The ubuntu repositories are no help either because I use 7.04, which they just stopped supporting. I can find compiled binaries elsewhere, but I guess I might as well use this excuse to install 8.04LTS.

Moved my blog from LiveJournal to WordPress. WordPress looks so much cooler, and its open source to boot. The only catch was that LiveJournal only allows one month to be exported at a time. But this wasn't a problem for me since I only started there this month.

Just solved this problem at SPOJ. Pretty easy, but didn't risk getting a time limit exceeded verdict with Python and coded in C++ instead. The problem could be made slightly more interesting by increasing the number of jobs and the range of priorities (e.g. 10^5 perhaps).

24 Jan 2009 (updated 24 Jan 2009 at 22:02 UTC) »

Downloaded and built from source xmlrpc-c. I still prefer Python (or even Java) for xmlrpc, but knowing how to do it in C will surely prove useful later. Its fun to set up clients and servers in different languages and have them talk to each other.

I'm certified as an Apprentice now! Thanks to fzort, badvogato, zanee, and ncm.

22 Jan 2009 (updated 23 Jan 2009 at 06:11 UTC) »

Got pwned at the last TopCoder single round match. The easy problem could be solved by using a O(n) string search method. I tried Rabin-Karp, but made a very stupid mistake. A learning experience nonetheless. Posted a longer rant/post-match analysis in my LiveJournal blog.

Downloaded source of quite a few open source projects in the last few days. Going through them very carefully. mod_virgule code still baffles me. But I'm slowly making progress. The fact that many of the projects in the projects page here are either dead or have broken links (some even sound bogus) is also causing me some frustration.

Solved another problem at SPOJ. Currently mine is the only accepted Python solution there, but probably not for long.

Just noticed that fzort certified me as apprentice. Thanks fzort! However, advogato still considers me an observer.

Sent example code in Python for blogspam. Got a reply within a few minutes that it will be included with other sample code in Perl and Ruby (already done at this moment see here). Thanks Stevey!

Started reading up on Primitive Roots, trying to solve a problem related to Diffie-Hellman.

Here's a link to my small webapp on google app engine. It's a very simple pastebin clone. I just hacked it together from looking at the example code for appengine. Right now it is barely usable, and I have plans to make major improvements when I have time.

Just created my Advogato account. I had actually heard of Advogato quite a few years ago, but had not signed up. This time I actually stumbled in here while searching for hints on a SPOJ problem. But this time I actually took a good look and realised that this was a lot more than a mere blog site.

Looking at projects from the projects page now. Hopefully will find something to work on soon.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!