IOI - The contest begins!!

Tuesday, February 19th, 2008

If you ever wanted to see mummies in Egypt, here comes the chance. Sri Lankan Olympiad in Informatics is calling for contestants. If you are a school student under 20, just go ahead and register at www.ioi.lk.

If you want more info on IOI, read the wiki.

P.S - The LK DNS is very promising.. but just in case, if you can’t access ioi.lk, try http://ioi.ucsc.cmb.ac.lk/

Just for the record, photo was not my idea.

IOI Site is back

Tuesday, March 13th, 2007

Today, after going through a lot, I managed to get the ioi site running. Just drop in there if you are interested in programming.

The grader is written in C++, and the interface is written in PHP using AJAX. This whole project is open source, you can download it from the sourceforge project page. Current release version is bit old, hopefully I’ll upload the current working version tonight.

An AJAX mistake

Sunday, October 22nd, 2006

Yesterday (Saturday) I was running the IOI grader on university of moratuwa for their ACM selection tests. As far as the grader functionality is concerned, it worked perfectly. But unfortunately the grader interface was damn slow. There were only 26 contestants and it was on a 100 Mbps LAN. So, I had to restart the server time by time. So, I just looked at the log files and found out there was a huge number of requests. But why is that? Because our grader is using AJAX to grab the latest status. The AJAX script was generating a request for each 2-3 seconds. To make the things worst, those were keep-alive requests. So, not only that the server was using the maximum number of threads, the script keeps sending the requests to the same connection so the connection doesn’t break until it meets the maximum number of keep alive requests. When several guys are sending requests others have to wait in the queue. I simply changed the refresh time of the AJAX script and the number of maximum threads on the apache server. After that restarting the apache server solved the problem, more or less.