Archive for February, 2007
Ugh. I hate think that we’re giving up on the season. Last year’s playoff run was so much fun that I was really hoping we’d be able to get at least one playoff series this year. However, with the Ryan Smyth trade that happened earlier today before the trade deadline, Kevin Lowe is throwing in the towel for this season. The oilers *might* still make the playoffs, but that’s looking pretty unlikely given how they played tonight against Phoenix.
Reading the Edmonton Oiler forums is mildly entertaining though. People are so attached to Smytty … and I admit I was too. But fans are so betrayed that Smyth was traded … but what they don’t realize is that Kevin Lowe was put in a rather awkward position. The Oil weren’t in good shape to make the playoffs, and the contract negotiations with Smyth weren’t going so hot. So what do you do? Keep him for the rest of a season that is unlikely to be a playoff year, and chance that he won’t re-sign at the end of the year? Or get what you can get for him and attempt to sign him in the offseason if you’d like to (or go after a higher impact guy if one is available). Seems like a pretty clear decision to me!
The age of franchise players is almost over. The number of players who actually stick with one team their entire career are diminishing quickly. Smyth is really one of the last of his kind … so I’m sorry fans — you’re gonna have to get used to this.
Now that I’ve got that out of the way, we can take a look at the trade. I think Kevin Lowe got an amazing deal. He picked up two players who were drafted in the first round, and a first round pick in the upcoming draft. That means we get THREE first round picks in the upcoming draft! Sounds like we’re in the position to either get some really good young talent, or trade some young talent for some current talent. As much as I hate the idea that my dear Oil are giving up on the year, I can’t complain about this trade that much.
Yup, that’s what I do.
Diane was away for a few days last week so I spent a lot of time finishing up my interpoker bonus for this month. Unfortunately I tanked, and ended up only up $190 for the month in poker plus all the associated bonuses ($300) and rakeback (probably around $150). So, while I made some money, I certainly wasn’t up near as much as I’d like to be.
The good news is that I sat down for a session at UB, and I think I’m gonna stick around there for a bit longer this time around. The players were noticeably worse than at interpoker. Where it was a struggle to win chips against some of the grinders at interpoker, UB was almost immediately profitable. Sure, it helped that I hit some hands, but some of those players were playing brutally. I made $180 in one two-tabling session tonight! Sweeet. A lot of that came on a hand where I rivered a full house against a maniac player who had actually flopped a straight. I couldn’t put him on a straight and had to call his all in with a set of queens. Another notable fact from tonight is I made TWO straight flushes. Its been weeks/months since my last straight flush and then I make two tonight … and both of them I stacked a guy (less than full stacks though). I did suffer a couple bad beats, including one where I flopped a set of deuces and lost to a guy who rivered a jack for a bigger set. Oh well, those things happen.
In other news, work continues at a good pace. I’m getting stuff done and that feels really nice. I have a pretty productive office environment which is helping me stay more focused than I was before. I’m pretty happy with where my life is at the moment. It is pretty exciting!
Another fabulous picture from our recent Marmot trip. I particularly like this shot because the clouds behind this particular mountain almost seem to be shotting rays out in 4 identifiable directions. Almost like it has a crown or something.
Tonight was a wild night for poker. I played a quick 45 minute session before dinner and raked in $70-ish dollars in short order. After dinner I played for several hours … but the first couple hours was pretty rough. One guy stacked my twice while playing $100NL. The first hand, I raised 24s from the button first in. I hit a 4, but not much else. However, I get to see the turn and river cheaply and hit running 2s for a full house. Unfortunately for me, the guy in the big blind had trip 3s which also filled up. There goes one stack!
A few hands later, I get AKs. Make a standard raise from late position and get called by the same guy who stacked me the first time. Hit top pair aces, so I continuation bet. I play this hand the same way as the last big hand … and hit an ace for trips on the river. Fully expecting to win, I get it all in on the river and … lose to another boat. Holy. Crap.
So, I was $200 in the hole at that point. However, those beats I didn’t feel too bad about. I wasn’t going to get away from those all that easily, so I felt like I played them alright. So I continued playing. I won back two stacks over the next half hour and crawled back to take a slight loss overall today (including the session before dinner). Oh well, it sure beats being down more than that. In good news, I’m still up a few hundred dollars this month at Interpoker and need to clear just 430 points or so to complete my remaining $200 bonus (so I’m more than 2/3 done the total $200 bonus). That plus rakeback should leave me in a pretty profitable position … assuming I can avoid being stacked too many times!
Been awhile since I last posted again – I kept starting posts, but not getting around to finishing them… so I apologize for the delay.
This past week was a busy one that included a couple of notable events. One was Valentine’s day which every year is a source of frustration for me. Why? It’s not that I don’t have a significant other that I wish to bestow upon my love and devotion to … it’s that I hate that there’s a specific day for it! It feels entirely too forced for me — one of these events that the general public (read: corporations) have decided is the time for all who are involved in a relationship must partake in. To me, that’s not how you should show your love! Showing your love and affection for your significant other is by all means great — but there’s no reason that it has to happen on a particular day! What’s wrong with … today, tomorrow, or … next Tuesday?!
So while Diane and I did spent the evening together, there wasn’t a lot of extra fanfare outside of spending a fairly ordinary evening together. I did cook dinner though … something I want to start doing a little more often. This time was cod fillets battered with flour and pan fried with oil and butter. It turned out pretty well! So Diane and I had a rather lovely evening, thank you very much corporate greed.
On a related note, a couple of my friends lent me some copies of Good Eats to watch. I have since gotten addicted to watching it. For those who haven’t heard of it, it is hosted by Alton Brown.. He’s kinda like the Bill Nye the Science Guy of cooking. Besides being really fun to watch, the show is also very informative. The food recipes are explained really well … but not only that, the reasons for the various steps are explained which means that the show builds understanding of cooking.
A couple days ago, Diane and I tried out the pan seared steak technique he shows in the first show. It turned out really well! The juices from the meat stayed on the inside which made the meat juicy and tender and oh so very tasty. I’ll definitely be trying out some more of Alton Brown’s recipes in the time to come! Mmmm … tasty meat.
This Saturday was my 24th Birthday, so I held a party to celebrate. The party was quite a success — many people attended, and I was really impressed with the food everyone brought. Very very tasty! After a poker tournament in the afternoon, we had our potluck, and then continued to play some video and board games. I think everyone had a good time. I certainly did — though I was unhappy that the oilers lost.
Hope everyone is having/had a good weekend (those outside of Alberta probably go back to work tomorrow — but most Albertans have Family day off tomorrow). I’m going to spend tomorrow playing some poker and doing some work.
I was talking to Michael Bowling yesterday on the train and somehow the topic of his experience in robocup competitions came up. He’s got lots of great stories about the odd things that happen at these competitions, and it’s always really cool to talk to him about his experiences. In this conversation, I had my own experience to talk about. You see, in CMPUT 366 a few years ago, our introductory course on AI held a robocup simulation tournament. For those who don’t know, robocup is the robot soccer competition, and it has many tournaments from a simulation based league to actual robots. Since this was an AI course, we were concentrating on the AI side of things and thus robots didn’t come into play. I figured that since it’s an interesting subject, I’d talk a bit about how I approached the problem and maybe give you an idea of what it is like to work in AI.
First of all, AI research is a whole lot more glitzy on the outside than it is internally. From the outside, game playing programs like Chinook and Deep Blue were able to make intelligent looking moves. On the inside though, the programs were unintelligently exploring millions of game states looking for the best move. So while I describe my approach to the soccer playing program, keep this in mind.
The tournament was run using a copy of the actual robocup simulation program. The simulation runs as follows: A server is started up that keeps track of where each player is, where the ball is, what the score is, etc. It enforces rules such as offside, and returns players to their half of the field after someone scores a goal. The server communicates with the programs that we, the students, wrote for the players taking in the actions that each player on the field makes at each timestep. One of the things that made this project a little difficult was that the actions the players were allowed to do were not very well documented and each student had to spend some time getting used to the interface to build their soccer playing program.
Each student was provided with a sample program that played elementary student style — all players run towards the ball and kick it towards the opponent goal. My expectation was that many students would not build programs that were much more complicated than this style. So my goal was to be able to beat that program reliably first.
I spent a great deal of time examining the documentation that did exist for the simulator, and stumbled across a very interesting piece of information about how goaltenders had a special ability. Apparently, the simulator allowed the goalie to ‘catch’ the ball, and then teleport to another spot in the crease area. I spent several hours figuring out just how to get this to work, and succeeded after not too long. This was the biggest step I made in beating the “swarm the ball” type teams. Since the goaltender was now capable of teleporting to the other side of the goal and kick it down field, I had an easy way of getting the ball away from a large number of players in a concentrated space.
Now that I had my defensive position setup, I had to figure out a good way to generate some offense. Due to time constraints, and my doubts on getting a slick system working with no bugs, I decided to avoid complicated and potentially dangerous attempts to getting real communication and passing between players. Instead, I decided to try building in a heuristic-like system where players would tend to stay in their parts of the field unless the ball came near by. I had a set number of “forward”, “defense”, and “midfield” players who each had a home location. Next, to simulate passing, I had the defensemen kick the ball upfield at an angle towards the sides of the field (and incidentally where a player’s “home base” was). Kicking to the sides of the field meant that the opponent players who clogged up the center of the field wouldn’t intercept my “pass”.
After I had this system working, my team looked strikingly intelligent. They’d clear the ball upfield down the sides (a lesson I learned from floor hockey), players looked very much like they were passing to one another, despite the lack of real communication. The players were blindly kicking the ball towards a place where another player tended to be. But most of the time that player had no reason to be elsewhere so he was there to retrieve the ball! Probably the least intelligent looking part of my end product was the finishing touch: kicking the ball into the net. At that point, my forwards behaved almost identically to the “swarm-the-ball” type players … except that there wasn’t nearly as many of them. So if my opponent had a good defensive position, I had trouble scoring on them. Unfortunately, I didn’t have time to figure out how to improve that before the tournament started.
I did quite well in the tournament. The tournament was organized into 2 parts: a round robin seeding and then a bracketed finals system. I won my pool fairly handily which meant that I got a decent starting placement in the brackets. My program reached the quarterfinals before getting knocked out – which was a pretty happy result for me considering the size of the class. I think if my program’s offense was tweaked a little more, I would’ve gone a little further.
The winning program? His strategy was almost a purely defensive strategy. He had a goalie and at least one other player sitting around the goal protecting it. Teams had a really hard time scoring on this program. The games were low scoring affairs, since this program had less players to form an offensive attack. Still, since players lacked offensive prowess, the defensive strategy was the right way to go for this tournament.
So … that’s what it is like to work on a program’s AI. At least, that has been my experience with it. The later projects I’ve worked on, such as the Hex project and the Poker project have introduced much more complexity … but underneath the bright shiny hood of AI is an ugly mess of hacks and unintelligent heuristics. Still, you can’t argue with results, can you?
A view of the Jasper townsite from Eagle Ridge in Marmot Basin. This was also from the recent CS department ski trip. I really can’t believe just how beautiful the weather was!
Sorry this upload was late – I managed to forget about uploading a picture until today!
This weekend was pretty busy. On Saturday, Diane and I attended the Slovenian association of Edmonton’s Hunters Ball. Her dad has some clients who are members so gets invited every year – so Diane and I joined her parents to take in the most excellent food along with some lively dancing. We went to one other event the Slovenian association put on last year, and their dances are characterized by Polkas and some very fast waltzes (I can only imagine doing a Viennese Waltz to it). And unlike some dances I’ve been to – there sure was a lot of people who were willing to dance! The floor was crowded with people on just about every dance. This time around, however, there were a few other songs to which Diane and I couldn’t really figure out what to dance to. We did get one Cha-cha in, which was pretty fun.
We left a little early, hitching a ride from Diane’s dad who dropped us off at my roommate’s birthday party which was in progress at our place. Mike had a pretty eventful day. The group of them went down to WEM to try shooting some handguns at the Wild West shooting range. It sounds like they had a lot of fun. After the event, however, Mike was unable to find his car! Turns out someone stole it!!! Yeah, seriously. So, with his car missing, he managed to get a ride back to our place (after notifying the authorities of course) and everyone continued the party. One of our friends got here early so went to DQ to pick up a cake. Somehow, they managed to put together this gem of a cake:
So … between the cake and having his friends around him, Mike’s doing okay. Still, having his car stolen really sucks. Here in Alberta, the recovery rate for stolen vehicles is 75% (apparently), so there’s a decent chance he’ll get it back in some form or another. So hopefully it turns up.
On Sunday, I spent most of the day relaxing around my place. In the evening, I joined Diane and some other friends at a gym night we’ve been going to whenever we’ve got the chance. One of our friends managed to get a really good deal on renting some gym space every week — so we go and play sports and board games for a few hours. It has been really fun – and good for me to get some exercise (which is admittedly a bit lacking lately).
Today I had a pretty productive day at work, and then joined some more friends for dinner at BPs. Now it is time for bed. Hope everyone had a good weekend!
I’m finding out that I’m pretty motivated to work on the project I’m working on now. For stretches during my graduate program, I felt like I had to fight myself to get anything done. Now that I’ve started up on this new project, I can’t stop thinking about it and have put in many more work hours this past week than I think I’ve done in a long time. I think a part of that is that this project is pretty exciting, but I think I also feel a certain amount of responsibility that is coming with this job. Even though it is at the UofA, which means the surroundings are familiar and it feels like my situation hasn’t changed that much, I still feel like I need to make sure I am able to produce good work after each week of work. Part of that, I suppose, is that my supervisor/employer is meeting with me weekly to monitor progress. More than that, though, I think I feel grateful for the support he is showing me by hiring me on, and I want to make it worth his while. I think I feel like I need to push myself to impress him and show that I deserve the job he’s given me. It has been a long time since I’ve felt that way.
I suppose that’s the biggest difference between an MSc degree and this employment. For my MSc, the only person that I could really disappoint was myself. Now that I’m working, I feel like I can not only disappoint myself, but also the source of my funds. So … I work!
In a lot of ways it feels good having a working target again. January felt really weird since all I really did was prepare for my defence, and play lots of poker. For some reason, that month didn’t feel all that fulfilling. Now I have a goal, and I think I need that. Something to keep in mind for the rest of my life, I guess!