Monthly Archives: April 2006

IT'S WORKING!!

[update] More coverage on Jon’s blog. [/update]

We made serious progress on our FountainServer tonight. We found some tricky networking bugs on the server side, as well as one or two on the PLC ladder. Fixing those resulted in our first truly, correctly, fully functional, successful test of all the components of the networking interconnections. They all work at full speed for the first time ever, and we can even cleanly shut down the connection between the FountainServer and the PLC, to boot.

Check it out: The script running here is sending 4 valve state commands within 1 ms at 300 ms intervals. We used to have to insert arbitrary 10 ms delays between every command to get it to work. Awesome!

[XviD 1.8MB] [QuickTime 1.8MB]
[Digital camera at night without tripod warning.]

I guess studying decided to wait…

On my flight back from San Antonio a week and a half ago, I got a Brazilian can of Pepsi. Cool.

The fountain looked really cool with all the trees in bud. Too bad those buds plug it up.

Tim’s To Do List:

  1. Vertical Rings shoot way out of the fountain

    Even the gravel can’t drain it fast enough, much less the grass…

  2. These don’t work:

Thanks Tim!

Fröhe Ostern!

Happy Easter everyone!

Yesterday we went to my cousins for the relatives’ Easter dinner. Then today we dyed eggs, went to church, and had our own Easter lunch. Since there’s not really much more to say about that, here’s a couple pictures to illustrate the point:

My mom made an excellent lunch. And Susie Welcome, her home-ec teacher, would be proud. Look how colorful it was:

My mom also got creative with eggs this year:

Makes for a colorful basket:

ICPC World Finals: Day 4

Adjectively Speaking

Because it’s already 1:15am as I start this, and we have to get up early tomorrow to pack up and get to the airport, I’m going to try and cut back on my usual excessive verbosity.

This morning, before the contest

  • confident
  • anticipatory
  • nervous
  • excited
  • hungry

During the contest

  • dwindlingly confident
  • increasingly apprehensive
  • frustrated
  • cranially sore
  • agitated

Post-mortem

  • unsuccessful
  • disbelieving
  • extremely frustrated
  • angry
  • embarassed
  • disappointed

Afternoon and recuperation

  • contemplative
  • reflective
  • better-humored
  • resigned
  • accepting
  • comfortable
  • content

“Celebration”

  • surprised
  • initially disappointed
  • reconsiderative (I damn near made that word up)
  • competitive
  • excited

Now

  • tired
  • content
  • satisfied

As you may have surmised, the competition went poorly. All in all though, it was a great experience, and I don’t have any regrets. I didn’t have the time to devote to studying more beforehand, largely because I chose other priorities, and I felt we did the best we could given our level of preparation. Plus, we achieved two of our goals for the competition: 1) We beat the University of Nebraska-Lincoln, who beat us in the regional contest, and 2) We beat the South Dakota School of Mines & Technology, which is a) my dad’s alma mater, and b) the other team that beat us in the North Central North America region.

Hooray for Team Amphisbaena!

ICPC World Finals: Day 3

Modulo 3. Damn.

Today was our first of two competitions. We competed in the IBM Java Challenge, which is, on one level, a PR stunt for IBM to promote their open source development platform, Eclipse. On another level though, it was a really fun competition where we essentially had to design an AI player for a game. The game was called “Code Invaders” though it bore no resemblance to Space Invaders. The basic premise is that 6 teams are put in a 1000×1000 unit piece of 2D space. You have a homeworld, a “SpaceShip” and 3 “drones.” The world contains Energy (in radioactive-iconed cans). Your ships have two weapons: bullets & “pulse” (a radially-expanding impulse that takes out 25% of an affected target’s energy). Your computer player has to use the drones & spaceship to score points, by either damaging enemies or collecting energy which you then beam to your homeworld. The competition was a lot of fun to work on, and was pretty cool because once you create your AI player in code, it is animated in realtime in a simulator, where you can visually see what your and your opponents’ ships are doing.

After we submitted all of our AI players before lunch, the judges checked to be sure they were within the rules, and then at supper, we had a live tournament to determine the champion. Regrettably, our player did not do very well. The reason? We were only allowing it to beam energy back to the home world once per every three turns. i.e.,
if (World.getCurrentTurn() % 3 == 0) { SpaceShip.beamEnergy(); }
We realized our error literally seconds after they announced the end of the competition. That was a bit disappointing, especially because we then tested the code again in the simulator, and found that it scored about twice as many points. Bummer. But it was a lot of fun anyway, and we are thinking about doing something similar at Madison next year, just because it was so cool. (The game wasn’t over-the-top exciting in and of itself, but competing in it was.)

The rest of the day was pretty tame. We got the problem for the Java Challenge at breakfast, and got an hour and a half to think about it before coding began. After the Challenge, we went to the IMAX theater and saw a short movie from 1987 about the Alamo. Somewhat interesting, but rather old… I had no idea they even had IMAX back then. For supper, as I mentioned earlier, they ran the Java Challenge contest live, and projected it on huge screens in this heritage museum nearby. It was pretty cool to watch, even though we did poorly.

After supper it was back to the CyberCafe for some more chess & wifi. I believe I forgot to mention that I lost last night to Ray, who plays amazingly, especially considering he just learned what pieces move what ways like two days ago. Tonight, Matt and I played on the big board, and despite me embarassing myself in front of the crowd watching by giving away my queen after no more than a dozen moves, I managed to checkmate him with a pair of rooks. I guess being in Bergman’s chess club freshman and part of sophomore year of high school did pay off. I even got to use the practice we once did on how to checkmate with only a rook and a king versus an opponent who has only his king, when Ray & Brian’s game came down to that.

I think that’s all the excitement we had today, other than playing games with the human sign posts. On the way back from the heritage museum, we decided to take a wrong turn in front of them to see if they would notice. They did, in fact, though they took it in good fun that we knew we were going the wrong way. Very good times.

Well, that’s it for tonight, as tomorrow is the big day. The competition begins bright and early at 8am, so I have to get up at 6:15. Boo. Wish us luck, and watch for live contest rankings at http://icpc.baylor.edu somewhere (they said there would be a link, but I don’t see it up as of yet… you might need to go to the World Finals page first, I’m not sure.) Look for Team UW-Madison Amphisbaena, and cheer us on!

G’night y’all.

p.s. We’ve gotten lots of IBM swag, including a mini retractable USB B -> USB A cord that fits my camera, but unfortunately it doesn’t seem to work between my camera and my mac, so you’ll have to wait on pictures until I get home. I forgot the cable. Sorry; I know you wanted to see geeks in sombreros.

ICPC World Finals: Day 2

Fastest elevator in the West

The elevator in our hotel drops from the 22nd floor conference area where we have our nightly “CyberCafe” to our room on the 8th floor so fast my ears pop. I’ll have to time it tomorrow.

Today was our orientation & practice day. After a pretty nice breakfast at which the coaches of South Dakota School of Mines & Technology came over to introduce themselves to “the son of an alumn,” we had our Opening Ceremony. Replete with a full orchestra, nonetheless. Felt like the Olympics, minus the part about the home countries actually caring. The Opening Ceremony wasn’t really much about us, the competitors, though. It was mostly about IBM and the ACM congratulating and thanking eachother at length. Not a total wash though, as IBM did show us some cool projects they’re working on.

Next up was lunch in Hemisfair park. The Baylor alumni staged a mini fiesta for us, complete with mariachi band. (Baylor is the university hosting the event, as they are the headquarters of the ACM.) They even forced some cheap sombreros on us. And by forced, I literally mean they walked around and put them on our heads. The Russians seemed to like them a lot. They also liked the straw cowboy hats we got yesterday. Not really sure why. Brings up an interesting point… I’m not sure how much the other countries here are enjoying the events that we’ve been doing, but for us in America, they’re a bit on the cheesy side. Especially the wranglers, who are literally dressed up as cattle wranglers, and spend their days pointing out the next direction we need to go to reach our destination. We wanted to ask the guy who directed us across the crosswalk half a block from our hotel where the hotel was, just to see if he was serious. Unforunately, I think he was. How retarded do you think I am, that I’m going to get lost on the next 200 yards to a 22-story hotel with Hilton Palacio del Rio in 20-foot letters on the side? Did you miss the memo that this is a competition of the smartest nerds in the world? Bah. Comic relief I guess.

In the afternoon we had two practice programming sessions and a brief informational meeting with Upsilon Pi Epsilon, the Computer Science honor society, which Madison does not have a chapter of. But they’re giving us money, so that’s cool. The first practice session saw us nearly disqualified for the second time. We had to write a simple program to sum the numbers from 1 to N, inclusively. It’s about 3 lines of code. We were too excited/distracted by the situation I guess, because it took us 43 minutes to get it right. Holy awful. The worst of it was, we accidentally read the wrong problem letter off the sheet… groups of about 10 teams were assigned to letters A-J, and although were were in group I, we submitted our solution to problem J. Then we got yelled at later for not reading the directions closely enough, which clearly specified in bold, italicized text, that we were not to submit solutions to any problem other than the one that our team was assigned. Oops. Our bad.

Then in the evening we had supper at the Alamo, got to tour that, watched a cowboy performer do lasso tricks & gun twirling. Pretty cool stuff. Only downside is that I managed to spill ice cream on myself. Twice. So I had to wash my “here’s your contest shirt, wear it for the next three days straight” shirt in the sink, and dried it with a handtowel, which was then returned to the hotel stained red. Sorry about that…

I think I’m going to wrap Day 2 up at this point, because I’m actually finishing this entry the evening of Day 3. I’m not doing so hot on keeping up to date it seems.

ICPC World Finals: Day 1

Bon Voyage, Bon Voyàge

that was from Anything Goes, the very first play I ever ran the soundboard for.

We flew down to San Antonio today via St. Louis for the Association of Computing Machinery’s International Collegiate Programming Contest World Finals (ACM ICPC). The trip was pretty quick and painless; both our flights left on time and arrived ahead of schedule, which was very nice.

On the travel: We flew a prop plane from Madison to St. Louis. That was the first prop plane I’ve ever ridden on, so that was pretty cool. Gave my half-awake mind the impression of flying to some remote destination reachable only by a small prop plane, which left me a renewed sense of wonder in the world. And then I fell asleep, with my neck at a rather awkward angle, so by the time we got to St. Louis I was a bit sore. St. Louis’s airport was a bit crummy and dirty without a whole lot of options for food. As a result, lunch was Burger King, served a la carte in the most confusing manner I have ever received food. The flight to San Antonio was nice. The jet engines were a auditory relief after sitting in the aisle right next to the prop going to St. Louis. Getting to the hotel was a nonevent until we had to check in… under Dieter’s name, who did not accompany us on the trip. That made for an interesting moment.

Afternoon & Evening:
We walked around the area near our hotel for a while before supper. Weather is definitely nice down here: 85 degrees when we got off the plane. We went through a park and a huge convention center across the street from our hotel, then saw a little bit of the nearby mall and riverwalk area. Unfortunately, I forgot to find a store to buy a razor, so by the time I get to do that tomorrow, I think I’ll be looking a bit rough around the edges… Good news is the people here won’t notice. No offense to us, and I don’t mean this in a demeaning way, but I’ve never seen such a collection of nerds in my entire life. Even with the foreign teams, it was pretty clear we were all the nerdier types.

After our brief sojourn through the neighborhood, we came back for a complimentary supper of Americanized Mexican food. I was hoping to get something more authentic, but at least it was good. All you can eat buffet = happy travlers.

Then came the excitement. We went to the registration booth to check in, and I nearly got our team disqualified. My horrible offense? I mixed up the order of pages in my copy of the reference library. The library is a three ring binder with 22 pages of notes that we have created on basic programming algorithms & ideas. We are all supposed to have identical copies, so that no one gets an advantage by having 75 pages of notes instead of 25. Since I had my pages in the wrong order (7-22, then 1-6 instead of 1-22), they were concerned about us cheating and instructed us that we had better fix it. Oops. Great start.

After dinner & registration, we hung out in the “CyberCafe”… aka “wifi access point, several dozen computer terminals running linux, a huge chess board (like big enough you can put both feet in each square), and a catering service to provide snack food.” So not really a cafe at all, but I can’t deny that it was connected to the net, so I guess the Cyber moniker is applicable. Unfortunately I got caught up in watching chess, and didn’t get this journal entry done up there where the internet is, so you had to wait until tonight. Oh well, you’ll survive. On the upshot, I beat Matt (the grad student coach who came down with us) in a game of chess, so that was a nice ego boost. I’m not ashamed to admit though that it was mostly luck, because I made some seriously dumb moves and gave away quite a few pieces.

All’s well that ends well I guess.

So, now tomorrow we have a lot of orientation type stuff, and then Tuesday starts the coding in earnest. Stay tuned!