Components in the "Real World"
05.03.06 9:50 PM


By dplass
TopCoder Member

During the Algorithms Semifinals, room 2, I got a chance to watch some talented coders try their best. Check out davidyang's blog entry about the round itself. I actually understood the 250-pointer, which might explain the high success rate (i.e., it was relatively easy).

I had two interesting conversations regarding component design and development. The first was more overhearing than an actual conversation with Pops, talking about the actual big-screen displays they use for the "leader board" (see my first blog entry for a picture.) He said that it can support up to 60 frames per second, which it can get up to near the end of the round. Little known secret: Pops is not just a top designer, he's a top developer as well. Amazingly, he has never submitted a development component. (Personally I'm glad about this, I have enough competition from folks like visualage and cnettel!)

Like many projects that evolve over time, the leader board has lots of "features" that have never seen the light of day. Not to give away the farm, but if they wanted to alternate left and right, or every 4 competitors, they could do it. Next year there might be even more changes, but I'll keep those under my hat. (Hint: it's like in the Olympics when they project the flag into the pool during swim meets. Rats! I gave it away! As Pops would say, "hyah, hyah, hyah.")

He also wrote the leader board for the design and development appeals phase. During the CDDC round earlier today, I was talking with someone (forgive me, but I forgot who), and we thought of a cool enhancement, to show the number of pending, approved, and rejected appeals for each competitor's review card. Great minds think alike, because when I mentioned to Pops that we thought of "an enhancement" he told me that he was thinking about (you guessed it!) adding a count of pending, approved, and rejected appeals for each competitor's review card. I've always had the ability to think of improvements in interfaces, or code -- it's thinking of the original idea that often eludes me.


The second interesting conversation was one that I just walked into, with a prospective client of TopCoder Software. mess and another admin were talking with them, and they were asking some really interesting questions, such as:
  • How are bugs in the custom (or generic) components handled? (Answer: reproduce the bug with a set of test cases, fix it, and make sure the regression tests still pass. Many bugs are resolved with 48 hours.)
  • What's the intellectual property rights of the developed components? How do you keep designers (or developers) from going to the client's competition with the same design or code? (Answer: TopCoder members agree that the IP belongs to either TopCoder or the client, depending on the arrangement. In no situation does the member retain any ownership of the design or code.)
I was able to field some of their other TopCoder Software process questions, and along the way, mess brought up my ugly mug on the 99 inch plasma display (thanks for that, by the way.) It was really gratifying to be able to help TopCoder promote its obviously successful business model, as someone who has been intimately involved with it. At least, I hope I helped!

I'm off tonight for a night on the town with my brother-in-law, who lives here in Vegas. Good luck to everyone in the poker tourney!

Peace out -DP

PS They just announced the winner of room 2 - misof and fuwenjie made it into the finals. I spoke with misof briefly, and find him very eager to explain solutions to people. Not surprisingly, his solutions are among the most readable!


AMD

NSA

VeriSign

UBS