Kawigi's writing an editor. What else is new?
05.04.06 3:10 PM


By Kawigi
TopCoder Member

It's finished!

Ok, you're probably wondering what's finished. Well, I suppose I can get away with at least showing you a picture. Where the other bloggers are walking around with their cameras, you guys get a screen shot.



The other cool thing is it converts my handle tags, so if I want to mention how tomek is currently in the lead in semifinal 3, it looks like this:



Anyways, I started working on this on Tuesday night, and I had a few little weird issues I had to work through to get it working. It downloads the CSS used in the blog entries on the website to render stuff on top, and it downloads (and caches) the "coders" XML data feed provided by TopCoder (one such weird issue was that I apparently was working with an incomplete XML file at first, which made it so that some handles got converted and others didn't). Now it's refreshing to have it working and actually be writing a blog entry with it :-) Maybe I should send the others a copy, too, just because I'm such a nice guy. The problem is it doesn't appear to render images...

As always a quick web search tells me what the problem is. Of course, there's some website where some guy had a similar problem and had this great way of solving it. Except that the way he chose to solve it involved writing 2 or 3 new classes and doing all these hacks to get around stuff. On the bright side, he said just enough for me to realize what the more correct, easier fix was, and 2 lines of code later, I have images:



Anyways, Kawigi writing an editor is hardly ground-breaking news, I should get back to talking about what's happening here that's not about me.

With 12 minutes left, the third semifinal looks like probably the highest scoring one of all. All 16 people have at least *submitted* the 250, it looks like Krzysan and antimatter (who originally submitted second after tomek have both resubmitted at least once for the minimum score on the problem. Seven people have submitted the 500 with varying scores, John Dethridge has the highest score on that problem by some margin, assuming it's right ;-)

Since I haven't been watching the score board as religiously as in the last two rounds, I don't have as much to guess about what's going on, except that I know that John Dethridge opened the hard and then the medium problem at pretty much the same time, so the score counter has counted down further on his 1000 than others. We're getting down to the wire, but it will be interesting to see if anyone submits it.

One thing that's kind of weird with all this is I have this feeling that I'd like to be competing, but it's completely cured when I read the 250 each round. People know how to solve this stuff? This match's 250 is something that I think I could at least understand if someone explained it to me, which is true for most 1000-point problems in regular matches. I have this funny feeling that I'm not going to make it to the final any time soon, if I ever even make it onsite. The sad thing is that I'll probably be red by that time, and we all know that TopCoder will explode when I break 2200. Still, asaveljevs eventually did it, and it only took him about 90 matches. Maybe I'm just 20 away. But then again, maybe I'm not Eastern European enough to make it onsite. If I was fluent in both Polish and Russian, I could be in on so many more conversations around here.

The challenge phase is starting, let's see how this all unfolds.

I'm glad I was looking up at the monitors when this one started, and that I got my share of blinking in beforehand, because otherwise I would have missed even more than I already did with my eyes glued to the screens. Time yourself as you read this.

With seemingly only enough time to open the first few problems, Krzysan successfully challenged lucab 's 500, reid on kalmakka 's 500, and tomek challenged marek.cygan 's 500. By the time one could scan the macros at the beginning of someone's code, and definitely in the time it took me to just write down the handles of the first three challengers, gepa dropped halyavin 's 500 as well.

Possibly with the pressure set by the pace of the challenge phase, JongMan failed a challenge against liympanda 's 500 and John Dethridge failed another on ploh.

With momentum and confidence, we saw Krzysan and gepa both fail their second challenges, both against liympanda. In another few seconds, reid follows suit and fails a challenge on liympanda. Apparently, challenging liympanda as your second challenge isn't good luck - his 500 survived both the bloodbath of the challenge phase and the milder system test results (ooh, foreshadowing).

The action continued tomek gets his second challenge, this time on antimatter's 500. I was half expecting ntrefz 's voice to come over the speakers with a big

Double Kill!!!

ploh failed a challenge on reid 's 500, and somewhere in there, gepa failed two more challenges against ploh and John Dethridge.

Alright, stop time now. I had Rustyoldman come and say something to me while I was reading it, but I clocked myself at about 70 seconds. All that happened in the first two minutes of the challenge phase. All you people who complain in the forums about how the challenge phase is too much about being lucky enough to open the obviously wrong solution first. I have a funny feeling that if I had opened any of those solutions first, I still wouldn't have had a chance to challenge it before someone else did. And of course, this was definitely the fastest-paced challenge phase so far.

After the first two minutes, it seemed like nothing happened until the challenge phase was within 30 seconds of ending. Apparently the problem is that the competitors were out of wrong 500's, and apparently the real reason so many people challenged 500's is because they weren't sure what the answer was for the biggest test case. Finally, JongMan downed Ulan's 250 with seconds left, antimatter failed a challenge almost simultaneously, and reid took his chances with tomek's 500 to lose the rest of his challenge points from the beginning of the challenge phase. As the challenge phase ended, it was interesting to note that every 500 got challenged at least once, whether it was right or not.

Within a few minutes, the results were coming up from the system tests. Moving up the list, Ulan had been challenged out of his only points, and was the only person at 0 after the challenge phase. The system test results came in, one competitor at a time, starting from the bottom of the list.

antimatter 's 250 passed. With his resubmit and a failed challenge, his 50 points look like they probably won't be enough.

jakubr 's 250 passed.

Krzysan 's 250 passed.

gepa 's 250 failed, and he dropped to the bottom of the list with -25 points because of his assortment of failed challenges.

pawel12's 250 passed.

kalmakka's 250 passed.

halyavin 's 250 dropped and he fell down the list.

Moving on to the left monitor (which shows the top half of the leader board), lucab, marek.cygan and JongMan passed on the 250.

Finally, we were to the top 5 competitors, who all had two solutions to defend. liympanda passed on both problems, although he appeared to be everyone's favorite guy to challenge.

reid and ploh also pass on both.

We watched for the possibility of a big upset or unexpected shuffling in the standings as round favorites John Dethridge and tomek waited for their final results. With cheers (but maybe a little disappointment for some people), both of our targets passed both problems to advance to the final.

You can't ask for much more late action in an onsite match, and I'm really getting less and less skeptical that programming can be a spectator sport. I haven't had much opportunity to even watch the competitors' code, although I've taken a quick look at what some of the problems were in each match, but just watching the score board is exciting and interesting, presumably even with little or no understanding of the technical parts of the competition. Plenty of people stand around it, discussing what's happening and explaining to the uninitiated anything non-obvious that might be happening.

The Wildcard round is coming up this afternoon, and I'm not sure how much more action and excitement I can take.


AMD

NSA

VeriSign

UBS