The RubeTube

Life's a cube.  Solve it.


October 13, 2006
I've recently taken to tracking my daily expenses. I'm not sure if I'm spending too little or too much that's why I started this new personal habit (my current guess is that I'm spending too little).

Because I didn't know about any good budget-tracking software, I went with an Excel spreadsheet loaded with formulas. I started working on it at home, on my personal laptop. Then I realized it would be great if I could work on my sheet from my office laptop, or from any computer for that matter. So I turned to two online office suites that recently made headlines: Google Docs & Spreadsheets (formerly Writely and Google Spreadsheets) and Zoho.

versus

I'm not here to give a comparative review of the two suites because I've only tried out Zoho Sheet, but from what I've seen, Zoho kicks Google's ass in terms of features and usability. Zoho feels a lot like Microsoft Office, something which millions of computer users are sure to appreciate. Also, Google's suite only offers two applications (word processing and spreadsheets) while Zoho has much, much more (presentations, planner, project management, instant messaging, etc.) and most of them are free.

I'd really like to see Zoho win this battle of the online office suites just so Google doesn't dominate everything on the web. Of course, there's still Microsoft's offering that's yet to come out and I'll be sure to try it out when they launch it.

Labels: , , , ,

September 16, 2006
I'm out. It's over for me. Here's the list of advancers to Round 2.


I just can't seem to get past Round 1 of Google Code Jam. Nevertheless, this year's result was better from last year's Code Jam. In Round 1, there are three problems worth 250, 500, and 1000 points each (as opposed to the qualifiers with just two problems: 250 and 1000). In 2005, I was only able to submit a solution for the 250-pointer, and it didn't make it past the Challenge Phase. (See the rules for more info; it's a 15-minute round where you can challenge the solutions of other people and make them fail.)

This year, I was only able to submit for the 250-pointer as well, but it was a solution solid enough not to get challenged. I did make a mistake though in unsuccessfully attempting to challenge, which got me a 25 point reduction. Still, I was able to submit my solution fast enough (208.61 points) so I netted 183.61 points in all. It would've been enough to advance (the "passing" score was 174.60) but my solution failed the System Testing Phase.

Tip for Code Jam 2007 participants: All you need to pass the Qualifying Round and Round 1 is a quick and correct submission for the 250-pointer.

The 250-point problem was like this: given a fraction in the form of n/d (where d and n are integers and d is positive) and a positive integer maxDenom, find a fraction n2/d2 such that d2 is less than or equal to maxDenom, d2 is positive, and the absolute difference between n/d and n2/d2 is as small as possible. If there are candidate ties, take the one with smaller d2; if the numerators are equal, take the one with smaller n2. My solution seemed correct, but my waterloo was floating-point number precision. Given that I was using C#, I should've used the decimal data type insted of double.

I just needed to do a find and replace from "double" to "decimal"! Argh!!! (pounds head in frustration)

Well, that's that. What really sucks is that I have to wait another year for the next Code Jam. But hey, at least I've got a shirt from last year!

Labels: , , , , ,

September 14, 2006
In case you didn't know yet, I made Round 1 of Google Code Jam 2006. I just registered for it officially via the Competition Arena. The coding phase begins at 10 PM local time, which gives me less than three hours to eat dinner and get rid of the nervous feeling in my gut. I'm going up against 999 of the world's best coders and it won't be any easier than last year, when I failed to advance past Round 1.

I'm the only representative from the Philippines to make it to Round 1 this year. I want to at least make it to Round 2 this time around. Maybe I can get national press coverage if that happens.

Nah...

Labels: , , ,

September 08, 2006
I advanced to Round 1 of Google Code Jam 2006! Woohoo!


I am officially one of the top 1000 coders in the world (if we use Code Jam as a benchmark). Also, I'm the only contestant from the Philippines who was able to advance so I've been given the opportunity to solely represent my motherland (I'm equally proud and dismayed). The complete list of qualifiers can be found here; look for "punzki".

The elimination round for Code Jam was held last Wednesday, starting 12 AM (local time) and ending 24 hours later (Thursday midnight). I came home terribly exhausted from work on Tuesday night, and was ready to sleep (at 11:59 PM) when Akie messaged me on YM to remind me that the elimination round was starting a minute later. I really wanted to go to bed but I might not have even less energy if I take it Wednesday night so I went ahead and took it.

The elimination round had five sets of problems; I was assigned to Set 1. Each set had two problems: one worth 250, and a harder one worth 750. The faster you submit a solution to a problem, the more points you get, but if it fails the system test, you get no points for it (detailed rules here). I was able to do the 250-point problem very quickly and got 236.12 points, but the second problem (a variant of Little Bishops, except that there are some unusable squares) proved much more difficult. I had a correct solution, but it was too slow and exceeded the two-second time limit no matter how many times I tried to optimize it. I'll have to take a look at the solutions of those who got it correct to see where I went wrong.

Here are some quick statistics that may help those who are aspiring to get past the elimination round for Code Jam 2007:
  • The lowest score that was able to qualify for Round 1 was a paltry 104.64. This was from Set 4, which had many qualifying scores in the low 100's.
  • For Set 1 (my set), the lowest qualifying score (rank 200) was 201.86. I got 236.12, which was enough to rank me 76th in Set 1.
  • For Set 1, only 27 were able to solve both problems. Four (ranked 28-31) got only the 750-point problem. All the rest (rank 32-200) were only able to solve the 250-pointer.
What do these numbers imply? To qualify for Round 1, you only need to solve the easy problem, but you must solve it relatively fast. This means that you should open the easy problem first (points don't get deducted until you open a problem) to make sure you have time to finish it. If you open the harder problem first and waste too much time on it, you might not have enough time for the easier one. Don't pressure yourself into getting both problems correct unless you were slow in solving the first problem. A score of 220 is generally safe; anything less than 200 is risky and will only qualify if the set is difficult. Some experienced contestants already know about this tip I'm giving you; they don't even bother to open the hard problem after they get the job done with the 250-point problem.

That's the only advice I can provide; I wasn't able to get past Round 1 last year, though I did get a free Code Jam 2005 shirt. Unfortunately, this year, they'll only be sending shirts to the top 250 from Round 2. Well, I guess that means that I'll just have to make the top 250 this year, right? Wish me luck!

Labels: , , , , ,


About me



Mark Punzalan
a.k.a. "Punzki"
Location: Redmond, WA
Occupation: Softie

Current tag-line:
I'm alive!
Now reading:
The Bible (really!)
Latest obsession:
NBA playoffs (via streaming)

Around the web:
punzki @ punzki.com
punzki @ Blogger
punzki @ del.icio.us
punzki @ LinkedIn
punzki @ Friendster
punzki @ Bloglines
punzki @ YouTube
punzki @ Multiply

Email me: punzki@gmail.com

Search

RSS feed



What is RSS?

AdSense


Et cetera




Locations of visitors to this page


Pinoy Top Blogs
Fantasy Sports Live!
Firefox 2

Creative Commons License
This work is licensed under a Creative Commons License.

Powered by Blogger
and Blogger Templates