Saturday, October 16, 2010

October 2 - Endurace Aventure Race

This is a recap of the adventure race put on by Endurance Aventure on October 2nd, 2010.

Adrienne and I made the drive up to Saint-Donat, QC starting about 3:30 on Friday night so we could make it up for registration which closed at 9 pm. We weren't nearly as organized for this race as we were for the Bitter Pill, since each of us were coming off busy work weeks. Thanks to Adrienne for taking a little extra time off on Friday we had everything we needed even if we hadn't organized our packs.
After the race check in we got together with the other team that I knew up there from Dealer.com and went out for a couple drinks. After that both of us were exhausted and we needed to get some Zs.

Here's an overview of the course that I put together.

In the morning we had to get to the place we registered by 8 am with a couple of detours on the way to drop off our bikes and our pfds and paddles. When we got to the registration place again we got our maps and had about 1/2 hour to look them over. Then we got to listen to about 30 minutes of French, followed by about 10 minutes of quick English instructions. There was only one part that was confusing to me, but I thought I got it. I'll admit I was disappointed since I was hoping for some nav challenges, but other than a 200 meter trek off trail (which they apologized for and as it turned out a trail was available) it was all on trail. As we'll see, though it might have been for the best that they didn't have any serious nav challenges (though I'd like to think it would've woken me up...).

When everyone was ready they load us into a couple buses and drove us to downtown Saint-Donat. We had a bit of time to wait and the temperature was a little on the chilly side, but at 9:30 we were given the green light and everyone started moving. We had about a 1/2 mile jog to where our bikes were. We quickly got on our bikes and got on the trail. Unfortunately, Adrienne's bike was again not quite tuned up. After running into a couple issues we switched so I could check it out (not that I could do much for it, but I also was determined for her to not have two crappy mountain biking experiences in a row :) ). As it turns out the front derailleur wouldn't allow it into third and the rear one had trouble going from fifth to fourth. On top of that the tires created so much drag that the bike was horrible going up hills and through sand. Fun.

The bike to TR2 was on an easy trail, unfortunately during this trip we realized that we had no idea what the scale of the map was. (Afterwards we learned - though I think it was relearned in my case - that there are two standard scales and the maps we were using were 1:50.) Additionally, the area that I didn't understand from the directions got us. They told us Chemine Wall would be going down hill in the opposite direction and we'd see a blue trail marker for the cycling trail. For some reason I took opposite to mean it would be on the other side of a four way intersection. So when we came to a three way intersection with the road to the right kindof doubling back and going down hill it didn't make me think we were there. It didn't help that of the two teams we saw at that intersection one went each way. We discovered our mistake when we saw a sign for for Route 329 back 1.8 km the way we came.

The biking took us a lot longer than I would've liked, but neither of us are especially strong at that. Regardless around 11:30 we were making our way into the woods for what looked like a quick three checkpoints. Sadly my brain had turned off. Every intersection I was guessing where we were and forgetting to confirm what was around us and what the terrain looked like. Part of that was due to us not knowing the scale, but a lot of it was me just not looking around and confirm where a freekin' lake was. Or where a hill should be. Heck, even what direction we're going (though I did do a little of that towards the end). Needless to say this did not make for an enjoyable hike in the woods. We ran into a team a couple times that was making similar mistakes, but at least one of them was able to piece things together and get us back on the right track. We got all three checkpoints and made it back out without any more issues.

We came off the mountain just before 2 pm and not in a great state of mind. I was severaly disappointed with myself for messing up the navigation so much. After discussing our options we decided that we'd just assume not do the technical mountain biking, but just get on with the kayaking. So we stayed on the road around to the TR3. (After the race we heard that a number of teams had trouble with CP4. So given my navigation issues it made me even happy that we made that choice.)

So we dropped our bikes off at TR3 and made the short walk to the kayaks. I'll confess - Adrienne was hoping for a jog, but my right knee was bugging me almost all day and I wasn't up for it. We dropped our packs, put on our PFDs, and grabbed paddles and an inflatable kayak. Nice thing about these kayaks - easy to carry. Not so nice thing - they can deflate. (After the race a team told us there's was losing air on one side and by the end of the paddle they had to lean to the right to stay afloat.) The paddle was a nice change and we didn't have any issues with it other than a cloud blocking the sun from us for most of the time.

crossing rope bridgeWe left our kayaks, paddles, and PDFs, snagged up our packs and made our way back up to where we left the bikes. From there we had to go up the ski slope which wasn't too bad - though I was certainly not charging up it. At CP9 they a two rope bridges setup across the slope. We each went across which wasn't too difficult (as long as I wasn't trying to catch up to Adrienne). My arms were sore for the next couple days, but I only noticed it when I held them above my head.

Then we made it to the top - found the final checkpoint, took a couple pictures David at the topAdrienne at the top, and traipsed back down the hill. Even found enough energy at the end to run to the finish - it helps that they have the podium with the loud speaker and I was able to understand enough French to know they were talking about us.

Somehow we ended up 23 out of 33 and 2 in our division of 6. The scenary was nice and that does seem to be there focus, but I was disappointed by the lack of a technical navigation section. So in the end, while we had a good time and met with a challenge I don't think I'll make the trip back up for more of their races.

Monday, August 9, 2010

2010 Bitter Pill Adventure Race Recap

Here's my recap of how things went for the Passing Grade team in the 2010 Bitter Pill. I put together a loose representation of the course in google maps.

During check-in at the Town & Country Resort at Stowe we were told that we had to be ready for 3:45 am on race day. A little earlier than usual and Darren moved up his wake-up time to 2:15. I'll admit I was dreading that time - especially as we were still awake around 10, but in the end it gave me plenty of time to get fully awake.

On our way to the restaurant where we were to gather we saw the three buses pulling into the parking lot. Once all the teams had gathered we piled onto the buses. There was a lot of speculation as to where we were going and it turned out to be a 45 minute drive as we drove into Waterbury, took a left onto Route 2 and eventually found our way to the Crosset Brook Middle School in Waterbury. Chris gave the instructions, then handed out maps. This year when they allowed us to open the maps the race would be started - no chance to scope things out ahead of time. Things went quicker than expected and we ended up waiting for 5 to come around for the race to start. Needless to say it was a little chilly and I felt the need to do a little warming dance while waiting for the start.

Finally, the start was announced. I cracked open the map, set the declination on my compass, considered trying to figure out where we were and where we needed to go, then just said let's jog. So we jogged after the other teams. In hind sight, this wasn't horrible, but we did follow through some pricker bushes and wet grass. Taking a moment to follow the road back out might have been the smarter move, but alas - I'm still trying to improve my brain at the start of the race.

After a bit of a jog we made it to the canoes. We already had our paddles which they gave out at the start, so we grabbed a canoe and got in. Darren was up front, Adrienne in the middle, with me left to steer. The water was low enough in certain areas and we didn't pay attention well enough that we found ourselves bottoming out a couple times along the river. After about 4 miles we reached the portage.

There were two landing spots for getting out of the water. We nicely chose the one with the steeper slope. As we were pulling in the team in front of us flipped their canoe. Darren jumped out to help and quickly realized the water was up to his chest. After helping them get their canoe sorted out, we were able to get ours out of the water and start the portage. The portage was nothing compared to last years, but it did involve going over a small hill. So after about a 1/4 mile we were able to put our canoe back in the water.

Next we had three check points to get along the water with a mile or so of canoeing between each. We also decided to switch positions in the canoe and put Adrienne up front and Darren in the middle. Darren's height made it easy for him to lay back, but still get an effective paddle on, which seemed to be a good choice. The first two check points were simple - the only issue being trying not to cause a collision with the other canoes going for it. The last check point we made the mistake of letting Adrienne off at one end of the island when we bottomed out again and agreed to pick her up at the other end. 1) We split up; 2) the island was covered with some pretty thick growth which made moving from the far end difficult; 3) Adrienne found out later that she got some poison ivy. Fortunately, she did get the check point and we got back in the boat. Just a little further and we got to drop the canoe off and get on the bike.

We took time to look at the maps, rearrange our gear, and get a nice photo before mounting up. We went East on Cochran Road to Duxbury Road to Honey Hollow Road. During this leg it seemed that Darren was having trouble keeping up, so I pulled up after turning on to Honey Hollow Road to make sure everything was okay. Turns out both Darren and Adrienne's derailleurs were messed up. Adrienne couldn't get to her upper gears and Darren was limited to only four. With Darren's hip not being 100%, this ended up giving him a lot of trouble through the day. That, combined with the how steep the road was we did a lot of walking up Honey Hollow Road. (I still don't think Adrienne believes me that top teams will bike most if not all of that.)

Finally, after getting to the top of the trail (after Honey Hollow Road was done) we were at TA3. We had a great transition time here, though we used most of it to wander off into the woods and pee. While walking up the hill we'd already conferred and decided we'd Northern CPs and work our way South with the hope that the trail we could see on our maps leading towards CP9, would give us an easy walk back to TA4. (Sadly, I found out later that going South was the better choice.) While we had some doubt going to CP6 we didn't have too much trouble. CP4 wasn't any more difficult, though we did slide East some to try avoiding what looked like a steeper slope. We made our way toward CP5, but tried finding it on the first ravine we came to. I missed on the map that there were a couple of ravines before the one we wanted. After a while of not finding CP5 we opted to continue on for CP8. Sadly, in hindsight the third stream we reached was the one we needed and if we'd gone further up it we would've found it. Finding CP8 wasn't an issue - though we did find a HUGE patch of nettles that we went through on the way. From there we set off for CP7. We found the stream easy enough and went up it quite a bit, but as the terrain started getting steeper we began doubting and thinking we missed it. So we made the choice to double back. About 20 minutes later we found CP9 and realized we must have been very close to it. We burned too much time and made the choice to continue back to TA4.

After a brief rest and a little whining about the missed points we got back on our bikes for a short ride before getting on the Catamount Trail where we had to walk (and lift over some fallen trees) our bikes. As we followed the trail through the gap there were two optional points on the peak to the North, but the cut off for the swimming portion was 4 o'clock and we weren't going to make it if we didn't keep moving. After CP10, we took a series of improving roads down into Huntington for a stop at Beaudry's to buy a toy frog for a $1. (Jim, the race designer, had mentioned this place a couple times and now I know where it is!)

Next we took Bridge Road to Pond Road to get to TA5. We had to leave our bikes by the road and make our way down a steep slope to water. Let me tell you, this was some fine water. Think Lake Tahoe. Maybe the Caribbean. A beautiful blue and so crystal clear you can see 10 feet down. Got that in you mind? Great, now think the exact opposite. There you go. Murky water, with a great alge green tinge, and lots of seaweed. Did I mention the leeches? Adrienne had the pleasure of seeing one swimming on the water. The check points were simple, but we had some fun on the way. Darren picked up some trash floating in the water and notice that it was a passport. As we got to CP12 the team there was searching around for it. Darren the hero again. I had some fun with my left arm and leg cramping up - thankfully at different times. I didn't think I was doing bad up till this point, but the swim got my muscles good and tired.

Then it was back onto the bikes for what seemed like a short bit North to Cochran Road to Duxbury Road to Honey Hollow Road. As we came down the final hill and saw a bus, Darren made the comment that he'd never been so happy to see a school bus before.

Overall, we were in the woods for 11 and 1/2 hours. We loved the course and recognized that it beat us up. Adrienne got her first taste of adventure racing and wants more. In previous years I'd had issues keeping myself fueled since I had no easy way to get to my food during the race. The purchase of shoulder strap pouch helped me have some gel and a bar available for when I didn't want to take the time to get my pack off. I was disappointed about not getting all of the nav points, especially when we were in the area for them. Unfortunately, we had started feeling the press of time (and possibly disappointment) so we didn't take as much time to think about it as we probably should have. Also, I learned some subtle benefits to the order CPs are approached. If we had gone South for CP9 first we would've known that we needed to keep going for CP7. Additionally, the trek from CP8 to CP5 would've been shorter, which would've left CP6 as the possibly trickier nav given the other streams we encountered. Next year is definitely in the plans for me (I'm pretty certain there will be enough Passing Grade alumni pushing me to race even if I wasn't :) ) and I hope to improve the navigation part of my game and get them all for next year. (Uh...to any GMARA course designers reading this - no, that isn't a challenge to make it the hardest nav ever.)

Tuesday, May 18, 2010

Locking in estimates before design!?

Getting some ball park estimates in for a project at the beginning, to give an idea of what is expected is fine. Locking them in and indicating that missing them is very bad (note - no designing has been done), seems irresponsible.

Hopefully I can get some idea as to what is driving the need for them to be solidified that early. I suspect it has something to do with a weekly meeting, but I'll have to have some conversations first.

Thursday, March 4, 2010

LDAP PagedResultsResponseControl

I'm guessing there's a logic reason for it, but I find it extremely annoying that the PagedResultsResponseControl is not available until the after the results have been walked through. This forces me to handle the list in some way at the point I'm making the LDAP request (when I wouldn't think the system would be aware of the object being worked on just that it's got a query) or have some way of going back for it (which makes the rest of the system have to be aware that it's working with LDAP and paging).

Spring has a solution for this I should look at more to see if I'm missing something.

Tuesday, February 9, 2010

Unity Games XVI

How can 15 hours of games be wrong!? Especially when I got to play a bunch of games that I hadn't played before and they all were enjoyable. I'm really glad there are people willing to organize such an event. Here's my thoughts on the games I played through the day.

Endeavor - A resource balancing game that requires you to keep things balanced to avoid falling behind. The game is moderately long, taking an hour or two. I really liked how you had to balance your resources and weigh the worth of getting what you want versus giving your opponents the next thing you expose. While not my top pick of the day it's on my list of games that I want to own.

Saint Petersburg - A relatively simple game with some nice subtleties. Cards are flipped up that players buy, but only a maximum of eight cards can be shown at a time. So if people don't take the cards showing, the next round will have less cards flipped over for it. In general, the cards get you money or victory points. You need the money to buy the cards, but the victory points win you the game. Apparently there are a couple cards in the base version that aren't very well balanced that are fixed in the expansion. Regardless I really liked this game.

Ad Astar - Each player has a set of action cards that vary only slightly. Beginning with the starting player each player places one of their action cards on any of the available spots that dictate the order the cards are played in. Then the cards are turned over in order and players take the action of the card. There's an advantage to playing your own card, but, generally, you can take action on another player's card. In addition to this there are planets that provide resources or alien artifacts that you need to send a ship to explore. My first impression wasn't really favorable for this game. There's a lot going on, but it seems like a lot of randomness which sapped the fun of it from me. I'd be willing to give it another try and I suspect it will get better as I learn to better guess what other people would want. I'm just not sure that this would ever break it into the games that I want to own.

Smallworld - This game reminded me of a light version of Civilization. You take control of a race, conquer spaces on the board, and get points. Each race has a bonus and a random enhancement. As people start fighting for spaces you'll start losing people and reach a point where you can't do anything more with your race and you'll need to go into decline. The turn you go into decline you can't do anything but score points. The next turn you'll get your new race and start all over. I thought this was a decent game, but while in general I like the shorter games I think this is a case where I'd rather just play Civilization. Not that I'd object to this game, but it seemed there were some near useless race/enhancement combos and some really powerful ones (can you say Ghoul/Spirit).

Finca - A simple game to learn and a quick play, but a neat mechanism for messing with the other players. You're trying to deliver fruit to various areas of an island. You get fruit by moving your three farmers around a windmill of 12 fans. Each fan has the picture of a type of fruit. The trick with moving is that you move your farmer a number of spaces equal to the number of farmers on the space you're leaving (self included). Then you collect a number of fruit from the space you land on equal to the number of farmers there (again, self included). I really enjoyed this game and while still not my top for the day, it's one I'd like to own.

Tobago - And finally we come to my favorite game of the day. The goals is to collect the most gold. You get gold by raising the treasures (there are four at a time) that are hidden on the island. Each turn you may move your vehicle or play a card that narrows where the treasure is (things like, not in the largest forest or next to a palm tree). When there is just one place the treasure can be once a player reaches that spot they may raise the treasure. Players are dealt treasure cards equal to the number of clue cards they placed for it, plus one for the player raising the treasure, plus one unknown. The players may look at the treasure cards, but then they put together and shuffled. The top one is flip and players may decide to take it or not starting with the player raising the treasure and followed by the player who played each clue card in reverse order of how they were played. (If this isn't clear, trust me that the rules do a better job and make it clear.) Additionally after each treasure is raised, amulets appear on the island (wash up on shore) in predetermined areas that change after each raising. Amulets help allow you do extra things and you definitely want them (though you have to move to get them and not play a clue card). I found this to be a fairly quick game, with a neat mechanic and some great parts. Definitely on my list to buy and currently at the top!

Hell Rail - It was 11 pm and I was looking for another game. Someone walked up with this, so I figured what the heck. This is a pretty silly game where you're picking up train cars of sinners and dropping them of at different levels of hell. At each level there's a special power that you can use that will either benefit you or hinder the other players. While I've played various rail games, like EuroRails, and enjoyed them this didn't really match up. Not on my list to buy and not really on my list to play again.

LDAP Paging

This struggle came up because I was trying to generically handle paging for either a relational database or LDAP repository, since the end user can choose either type to store their information.

Databases have several ways of handling paging, both within the query itself or, if it supports scrollable cursors, specifying the position of the cursor in the result set and getting a page of data from there.

I figured there must be something similar for LDAP repositories. Sadly, no. The closest in functionality was an RFC proposal for Virtual List Views. It wasn't accepted and while some Java API was developed for it in the JNDI booster back released for Java 1.4, I've been unable to find any updates for Java 5.

What there is something called Simple Paged Results (RFC 2696). The way it works is you specify the size of your page and the server will give you that many records and a cookie that you must pass in on future requests. You can't change the cookie, which means you're limited to only going forward. This seems a bit annoying when compared to database paging and I just figured there must be something that was equivalent.

Finally I started thinking about what I was using it for and why I would need bi-directional paging. The plan was to use this paging to get thousands to tens of thousands of records at a time. If there was a need to display small pages (like for a UI screen, then I'd let it worry about making smaller pages. The only reason I can see for needing to page backwards would be for a user at a UI screen.

How likely is it that someone is going to want (let alone need) to go through tens of thousands of entries and be able to page backwards? Something, tells me having a limit on the number of requests returned is just fine for the UI. For anything needing to get all of the data there's still the Simple Paged Results that will work just fine.

Glad I stopped fixating on the differences between RDB and LDAP paging and thinking about how it was going to be used...