tag:blogger.com,1999:blog-118112062008-01-26T11:14:09.307-08:00Fencing Time Developer's JournalDannoreply@blogger.comBlogger20125tag:blogger.com,1999:blog-11811206.post-54308768425612336462008-01-26T11:10:00.000-08:002008-01-26T11:14:09.334-08:00Fencing Time v2.1 ReleasedThe new version was released last week! If you haven't downloaded it yet, go do so now!<br /><br />Now, work begins on version 2.2...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-91022435909887517292007-12-16T02:26:00.000-08:002007-12-16T02:28:29.174-08:00Fencing Time v2.1 in testingI'm somewhat shocked that it has been a whole year since I last updated this blog, but I guess time flies when you're having fun...<br /><br />The big news is, Fencing Time v2.1 is currently being tested! If all goes well (as it has been going so far) I will release the new version in mid-January, 2008. <br /><br />Stay tuned to the Fencing Time website for the imminent release!Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1165662131593136682006-12-09T02:50:00.000-08:002006-12-09T03:02:11.856-08:00Long overdue updateEvery now and then, I get an email about Fencing Time asking for the latest news. I've been somewhat neglecing this blog, so here's an update...<br /><br />Much of the last few months has been spent actively working on Fencing Time v2.1. A lot of the work so far has been internal so it won't be readily apparent to the user. However, the changes I've been making lay the groundwork for some very exciting features that I'll be adding over the next few releases.<br /><br />A couple of big features so far include the ability to output a customized display to a second monitor (or projector), and the support of pools larger than 10 in size. The current to-do list is still rather long, so there's plenty more to come.<br /><br />Another big thing I've been working on is the addition of lots and lots and lots of automated tests. Prior to now, most testing I've done on Fencing Time (besides all the beta testing done by people) has been ad-hoc testing. I've now moved to a much more automated system consisiting of unit tests, integration tests, and stress tests - all of which can be run frequently and ensure that I don't break things as I add new features. <br /><br />I'm also strongly considering spending about a month reworking my old Pocket Fencing Time program sometime this spring. For those who hadn't heard of it, it was a scorekeeping program that runs on PocketPC devices that let you run an entire pool. If I do a new version, I'll try to get the synchronization with the desktop version of Fencing Time working since that would be very cool!<br /><br />As usual, if you have ideas or feature requests, feel free to email them to me at <a href="mailto:features@fencingtime.com">features@fencingtime.com</a>.<br /><br />DanDannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1152615026839671932006-07-11T02:59:00.000-07:002006-07-11T03:50:26.973-07:00WSOP Day Three recapToday was the big day - the $1000 no-limit event. I took my seat at noon along with some 2000 other players. In addition to those, there were about 900 alternates for the event, all of which got in. A couple hours into the event, they announced it: 2891 players total, for a prize pool of $2,630,810. The top 270 finishers got paid - 270th gets $1578 while first place earns $526,185. Wow!<br /><br />I was surprised to see quite a few pros playing, despite my prediction that they wouldn't bother with this event. Cyndy Violette was at the adjacent table, Kathy Liebert and John Juanda were at another, and later I saw Annie Duke at a nearby table.<br /><br />I'm intentionally not going to tell you if I'm still in the event or not, just to make you read the rest of this post. I'm also hoping you don't realize you could just scroll down to where I tell you.<br /><br />Much of the day is a blur at this point, but I did jot down a few key hands on a little pad of paper.<br /><br />The first pivitol hand took place within the first 15 minutes of the event. A player in middle position raised to 100 (blinds were 25-25). I picked up TT in the big blind. I reraised to 325, and he called. The flop was 664. I figured this almost certainly missed him, so I bet out 300 and he caled. The turn was a queen and I checked. He checked behind me... a good sign. The river was another queen. I bet 450 and he went all-in for something like 800. Had I folded at this point, I would have only had about 200 chips left of my original 1500. I decided that the guy's betting didn't convince me he had a queen, and I was pretty sure he didn't have a 6. So I called. He showed 78 for a missed inside straight draw (!) and my tens won the pot. He was knocked out (since he was left with just 100 or so) a few hands later.<br /><br />For the majority of the first couple rounds, I played really solid. I'd checkraise and get people to laydown hands... I was cleary getting respect since I showed down solid hands. I quickly became one of the chipleaders at the table.<br /><br />After the first break (after the first two 60-minute rounds), I started to bleed chips. I picked up a bunch of those evil marginal hands - AQ, AJ, KQ - things that I would raise preflop, get called by the big stack (a guy with a HUGE stack that got moved to our table) and then I'd miss the flop. If I continued betting, he'd call and I'd wind up folding to his turn bet. It was frustrating because I know the big stack was bullying me around but there wasn't much I could do.<br /><br />At one point I was down to a paltry 175 chips. Luckily, I started getting some good hands and I managed to fight my way back up to about 3000 chips, which was a medium stack size.<br /><br />Now let me share bad beat story #1. I pick up QJ of clubs under the gun. I call and there are a few other callers with no raise. The flop comes JQJ. The Star Spangled Banner was going off in my head, as Rick would say. I check and it's checked around. Turn is a king, so I bet a modest bet. Everyone folds except the button, who was shortstacked and goes all in for his last 100. Of course, I call. He shows K9 and I show my jacks full of queens. <br /><br />Then it happens.<br /><br />The river is another king. He now has kings full of jacks, beating me. He had two outs and hit one. Ouch! Thankfully, I didn't lose much on the hand since he had such a short stack.<br /><br />Eventually, my table was split up and I was moved. About an hour later, an empty seat was filled... by Antonio Esfandiari (with a huge pile of chips, not surprisingly.) I didn't get to see much of his play though - our table was split up shortly after that.<br /><br />Much of my play during the 3rd and 4th rounds was folding since my cards just dried up. I was slowly losing chips and was short stacked once again. After I was moved for the second time, I was getting to a critical point where I needed to double up soon. My M was in the 2-3 range, which is really bad.<br /><br />I patiently waited for a hand and finally picked up KK when I was in the small blind. A guy raises to 600 (blinds are 100-200) and I go all-in. He calls and shows pocket 3's. I'm thrilled since I'm a 90% favorite. The flop comes all rags.<br /><br />And then it happens, bad beat #2. The guy gets one of the two remaining 3s on the turn. The river is a blank, and I'm busted. So I'm out of the event at about 5:45 pm. According to the monitors, at that point there were about 700 players left, so that means I probably finished somewhere between 680-700th out of the original 2891. Looking at it that way - I made the top 25% - I'm actually pretty happy with where I finished. Sure, it's not in the money, but I played smart and held my own. If it wasn't for that damn 3...<br /><br />And so my trip to the WSOP 2006 ended with a shopping spree at the WSOP gift shop (some T-shirts and other neat items.) All in all, I had a blast despite losing. It certainly was a fun experience and I might even go back to play in a similarly priced event next year...<br /><br />Tomorrow morning I'm going to play in the $30 morning tournament here at my hotel for fun, and maybe dip my feet into a no-limit cash game. Who knows, maybe I can still recoup my losses. I've already won $170 playing $5 blackjack... (It's soooo easy to count cards in double-deck games...)<br /><br />See you all when I get back...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1152555185529239812006-07-10T11:06:00.000-07:002006-07-10T11:13:05.553-07:00WSOP Day Three, 11amI arrived at the Rio at 10am since I had heard that some of the big name players tend to be around early to do autographs. Sadly, I didn't see any. I have a hunch that most won't be around today... since today is only the $1000 event, I'll bet that the pros don't bother with it and decide to take the day off, especially with the big HORSE event later this week.<br /><br />So I decided to play another satellite. I bought into a $175 satellite, and they told us that we had to be done by 11:20 since they need to set up for the big event. To speed things along, they did 10 minute rounds rather than the usual 15 minute ones.<br /><br />I busted out in 5th place about 30 minutes. I just got no cards, and didn't have any opportunites to do much. At least I went all in at the end with a decent hand (ace-5) but two larger stacks decided to battle too, so I was well behind. Oh well.<br /><br />So the $1000 event starts around noon... I'm killing time now until that starts. Hopefully I'll be able to post some updates during the day.Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1152520713026329292006-07-10T00:30:00.000-07:002006-07-10T01:38:33.056-07:00WSOP Day TwoDay two: Sunday 7/9<br /><br />I forgot to mention that on the night before, as I walked down the loooooong hall to the WSOP area at the Rio, I had my first celebrity poker player sighting - I saw Tony G (the loud Australian guy) leaving, and he didn't look happy.<br /><br />I woke up around 11am and wasted an hour on the phone with tech support trying to get my room's internet connection working. That didn't work, so I packed my laptop into my backpack and headed over to the Rio, hoping they had a wireless hotspot that I could use.<br /><br />When I got there around noon, the place was bustling. All of the hospitality suites were open and had booth babes handing out free crap. I decided to wait on the suites and headed inside.<br /><br />The main room was packed with people. Every table seemed to be up and running, and there were spectators everywhere. Imagine every strip being fenced at Summer Nationals with the full cadre of spectators and coaches watching. It was a similar feeling of controlled chaos.<br /><br />I milled about for a while, joining in the spectating. Today there were two big events underway - the $1000 Women's event, and the $10,000 Pot-limit Omaha event. There were a lot of spectators around the Omaha event and I quickly saw why... In the space of maybe 10 tables, I saw a whole gaggle of famous faces: Gus Hansen, Marcel Luske, Mark Seif, Doyle Brunson, Jennifer Harmon, Howard Lederer, Joe Hachem, Greg Raymer, Mike Caro, Erik Seidl, and Scotty Nguyen. I actually witnessed Marcel Luske eliminate Gus Hansen. <br /><br />I didn't want to look like a tourist, so I refrained from taking pictures, even though I did have my camera with me. Would like to meet a few of my favorite poker players though, and if I do, I'll play the role of the dopey fan.<br /><br />Eventually, I got in line to play a satellite. Today they must have had something like 30 tables of satellites going. There was a reasonably long line waiting to get into them, and I had to wait maybe 20 minutes before being seated at a $125 event. <br /><br />Once the game got underway, I quickly built up a modest chip lead. I was playing tight as usual, but I was getting some good hands. However, a disaster then occurred. I was in the big blind with 10-2. I saw a free flop, which came JdTd2c, giving me two pair. I bet strong since I didn't want the diamond draws to stick around, and was raised by the guy on the button (everyone else had folded). I called, putting him on maybe a pair of jacks or a draw to the nut flush. The turn brought the Jc, so I suspected jacks were less likely. I checked, he bet a modest amount, and I called. The river brought Qh, so I checked. He bet and I called. He showed 89 offsuit for the straight. I was correct that he was on a draw, and in retrospect, I probably should have bet my two pair more aggressively. Anyway, I busted out in 10th place shortly thereafter since he took most of my chips. How embarrasing.<br /><br />After a brief walk to clear my head and jot down some notes, I got back in line and eventually got into a $175 satellite. Little did I know, this too was headed for disaster! I picked up AJh in early position and put in a big raise. Everyone folded except the button, who called. The flop came QJ4 with two diamonds. I bet strong, and she called. I suspected that she didn't have a queen, since if she did, I would have expected a reraise especially with the diamond draw out there. The turn was the 4s. Rather than making the mistake of checking like I did in the last event, I continued betting and she called. The river brought the 3d making a possible flush. I checked, she went all-in for her few remaining chips. I called (we were about equal in chips) and she showed ATd. As I suspected, I was ahead until the damn diamond came on the river. Despite the loss, I felt that I played that much better - I was betting the right amount to give her the wrong price to try to hit her flush. I guess it still wasn't enough, perhaps I needed to move all-in on the flop. Oh well.<br /><br />I walked around a bit and then jumped into a $125 satellite. This was a total disaster. On the crucial hand, I was in the blind with J5h. The flop was all hearts, so I checked. One guy bets and I call. I figure he had top pair. The turn is a rag, so I check again. The guy bets again, and I call. The river comes the Ah, which looks to be a good card for me since now only two cards can beat me. Well, the guy had Kh3c. I couldn't believe it - not only did he call preflop with such crap, but his betting just didn't make sense to me. I was out in 9th place.<br /><br />At this point, I started to wonder what the hell was going on. I felt like I had been playing well. In fact, in all three cases, my reads on the player's hands was pretty accurate. And in each case, they hit their miracle card on the river, with me being ahead up until then. It was very frustrating.<br /><br />I decided to hit the various hospitality suites to get my mind off of things. That was great fun. I got several free t-shirts and various other bits of swag that are certain to make all of you jealous.<br /><br />Eventually, it was time to try again. I got into a $175 satellite and this time, things went my way. I read several players perfectly. One key hand - I raised with AQ in early position. A loose player with a big stack (he had been getting lucky with crap hands) in middle position called, everyone else folded. Flop came AK3, so I checked. The loose player bet and I went all-in. He quickly called and showed A7. I suspected he had a weaker kicker and was right. My hand held up and I doubled up. He was out two hands later. Another key hand was when I finally picked up aces. I raised preflop and was called by the button who had shown the pattern of trying to steal pots when it was checked to her. Flop came 939 rainbow and I checked. She bet and I called. Turn was a rag, and I checked. She bet and I raised. She went all in and I called. She showed garbage - K8 offsuit or some such crap. I knocked her out and pulled into a huge lead. <br /><br />Eventually, one of the other players knocked out a few people and when it was heads up, we made a deal and split the prize - I took 2 of the $500 chips and he took one plus the $120 cash. I then went to the registration desk and used my two chips to buy into the $1000 event. <br /><br />With that done, I gave myself to be the dorky tourist and strolled around with my camera, taking pictures of the venue and some of the famous players.<br /><br />So in the end, I payed $775 in satellite entry fees to get into the $1000 event. While that's not too much of a discount, I'm still happy with that result. I may even play more satellite events before I leave in the hopes that I can make some more (by selling the $500 chips). After all, I did come to play!<br /><br />I'll have my laptop with me tomorrow during the event. During the breaks (every 2 hours), I'll try to fire it up to blog some updates.Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1152516312871626732006-07-09T23:43:00.000-07:002006-07-10T00:25:12.990-07:00Day 1 at the WSOPSince I don't want to bother setting up a new blog, I'm just going to use my existing Fencing Time blog to keep everyone updated on my trip to the World Series of Poker. So, here goes...<br /><br />Day one: Saturday 7/8<br />I flew into Vegas late and arrived around 12:30 am (Sunday morning technically, I suppose.) Once I got my rental car, I made a beeline for the Rio, where the WSOP is being held. I got there around 1 am. I made the mistake of parking in the garage near the casino... the WSOP is being held in the convention center, which is a looooooong walk from the main casino floor.<br /><br />The trip started off with a good omen. I'm not normally superstitious, but when in Vegas, a little superstition is part of the fun. As I walked into the Rio, not 10 feet through the door, I noticed some cash on the floor. I picked it up and it turned out to be $11. Since there was nobody around to claim it, I kept it. But the cool thing is, 11 is my lucky number. Is this a sign? Hmmmm...<br /><br />The layout of the WSOP is pretty simple. The main convention hall holds all the poker tables, and it is HUGE. I'm not sure how many tables are in there, but there are at least 200. The tables are roped off in groups based on what's being played - one area for the daily tournament, one area for the satellite tournaments, one for cash games, and the ESPN final table. <br /><br />Outside of the main hall, in the nearby meeting rooms that you'd find in any convention center, most of the main poker websites had hospitality suites. All the main ones were there - UltimateBet, Full Tilt, Doyle's Room, Bodog, Poker Stars - as well as some smaller ones. Since I was there at 1:30 am, they were all closed.<br /><br />Also outside in the hall, there were plenty of free magazines, tournament schedules, and so on. The important thing was the WSOP player's card desk, which was open - It's basically the Harrah's players card. Since I didn't have one, I signed up on the spot. You need a card to play in any of the events.<br /><br />I wandered around for a bit to get my bearings. I found the satellite area where they had an area to form lines to get into the various sit-and-go satellites. There were no lines since it was late, but you could see that there were probably 10-20 games underway.<br /><br />There were two satellites that I was willing to play, the $125 buy-in, and the $175 buy-in. In both cases, these are 10-player events where the winner takes all. In the $125 event, the winner gets two $500 "tournament chips" plus $120 cash. In the $175 event, you get 3 $500 chips and $120 cash. The tournament chips can only be used to buy into other events (although people sell them for face value to people who need them.)<br /><br />I managed to get into what turned out to be one of the last $175 satellites of the night. I was seated at a table with some interesting characters - a loud, somewhat drunk guy, some quiet guys, and a hot girl with her tits practically falling out of her dress. I had high hopes that this would be an easy tournament.<br /><br />My goal was simple: Win a satellite or two to pay for the $1000 No Limit Hold'Em event on Monday. Have fun in the process.<br /><br />My plan was to play a solid, tight game. In the week before coming, I re-read my Harrington Volume I and read the new Volume III. It was a great refreshed on tight-aggressive play.<br /><br />The tournament started and I wound up folding pretty much every hand. I was observing the players and quickly figured out who was solid (the quiet guys) and who was loose (the drunk guy who was now hitting on the girl.) Sadly, the girl went broke within 10 minutes, calling down with something like bottom pair. Oopsie.<br /><br />After about an hour, all the riff-raff was gone. Not surprisingly, it was just the 5 or so solid players left, including myself. Unforutnately, I wasn't getting cards, and my chips were dwindling. Eventually, I was down to 375 when the blinds were 150-300, but managed to win and double up. I built back my small stack to be about equal with the big stacks. Unfortunately, I was knocked out by a bad beat - I called an all-in from a big stack who I suspected was trying to steal the blinds. I was right - he showed K3 offsuit and I had 66 in the big blind. Unfortunately for me, the flop was 33J and I was done in 4th place. Despite my loss, I felt like I played well - I was playing diciplined poker and had managed to build my short stack up from the brink of elimination. <br /><br />After busting out, I trekked back to my car and went to my hotel and checked in (now it was 4am). I was annoyed to find out that the internet access in my room seemed to be broken (both wired and wireless so I was unable to blog until now (they moved me to a new room tonight).<br /><br />Day two in the next post...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1136317592849307102006-01-03T11:44:00.000-08:002006-01-03T11:46:32.860-08:00Release coming tonightI'll be releasing version 2.0 tonight... I'm in the process of updating the Fencing Time website with all the new changes, and the process is taking a bit longer than I expected.<br /><br />Stay tuned!Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1135336665898328392005-12-23T03:14:00.000-08:002005-12-23T03:17:45.910-08:00Almost done...I've just released the first release candidate of Fencing Time v2.0 to the beta testers! This means that the version I just released will be, if no problems are found, the final released version. Things are on track for a release date of 1/2/06!<br /><br />Oh, and as a tantilizing bit of news for a select group of Fencing Time customers... last week I got a Power Mac G5, so I can now start looking at porting Fencing Time to the Mac...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1129539186182136852005-10-17T01:47:00.000-07:002005-10-17T01:53:06.190-07:00Beta time!I must admit, I did a pretty crappy job of keeping my blog updated during the Fencing Time development.<br /><br />I say that because Fencing Time v2.0 has just gone into beta testing! The new version has been released to my 25 or so beta testers, so hopefully I'll hear some good feedback soon. <br /><br />If all goes as planned, the testing phase will last about a month and then I'll release the new version sometime in mid-to-late November. After that, I'll probably take a bit of a break from coding (Dungeon Siege II has been sitting on my desk for a month now, unplayed...) After the new version of MS Visual Studio .NET is released, I'll upgrade and look into ressurecting the PocketPC version of Fencing Time. <br /><br />If someone wants to buy me a Mac, I'd even start working on porting it to the Mac...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1124310410160454132005-08-17T13:25:00.000-07:002005-08-29T01:40:29.270-07:00Another big updateIt's been well over a month since my last update. A whole heck of a lot has happened since then! I've been working on all manner of things, but nothing so specific that I can name. Instead, I'm proud to announce that things are very much on track for hitting my alpha date of late September! There are just two main areas to be worked on - "All places fenced off" rounds, and a rework of the FRED integration. Both of these things should be done in a few weeks.<br /><br />If all goes as planned, I will be using the new version at our season's first big event, the Leon Auriol Open. I will probably then open the beta testing to others for about a month of testing. Once that's done, I'll release the new version in late October or early November.<br /><br />Stay tuned for more updates!Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1120971854576376882005-07-09T21:43:00.000-07:002005-07-09T22:04:14.583-07:00Massive updateIt's been over a month since my last update. This hasn't been due to lack of progress, but rather, laziness! In fact, quite a bit has taken place since my last update!<br /><br />Here's a quick summary of the features I've added in the past month:<br /><ul><li>Support for repechage from 16 or 32</li><li>Scaling of the DE tree view. You can view the tree on-screen in five different sizes, which is especially helpful for small screens (such as on a laptop). Printed trees can now be printed in three sizes too. In both cases, the current size that FT uses is now the "medium" size.</li><li>Tables on the DE trees now have titles associated with them ("Table A (32)", etc.)</li><li>Printing DE bout slips is now more flexible - you can print slips by quadrant or octant, and you can print "partial" slips (where one opponent is not yet known). You can also now have FT fill printed pages with blank slips - this is a nice way to avoid wasting paper when you have only one bout to print.</li><li>Fencers that withdraw during a non-pool round can be "un-withdrawn"</li></ul><p>That's the bulk of the changes. Last month a tournament at NYAC was run using a pre-release version of FT and was able to test out the new seeding by points and repechage features. I received a lot of great feedback as a result of that, and am in the process of making a lot of suggested changes.</p><p>Work is ongoing, of course... I have a large list of fairly random things that I'm currently chipping away at. Hopefully I'll also keep the blog more up-to-date!</p><p> </p><ul><li></li></ul>Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1116847939648504202005-05-23T04:17:00.000-07:002005-05-23T04:32:19.670-07:00Long overdue updateIt's been nearly 3 weeks since my last update. A lot has happened since then...<br /><br />The big change has been my day job. I've been interviewing with several companies, most notably Microsoft. After my recent foray into the world of startups, I realized that I needed to be back in the game business (like I was before). So I interviewed with MS and got an offer to work in their game division - I'll be working on tools to support XBox 360 game development!<br /><br />The day after I got the offer, I left my miserable job at the startup. I'm now in the midst of a two-week between-job vacation!<br /><br />Needless to say, this has given me plenty of time to work on Fencing Time! Over the past week I've spent a lot of time working on new round types. My initial plan was to simply implement the "fence off for third" option in the standard DE rounds. Well, this led into the larger problem of how to link together multiple elimination trees. (Fence-off for 3rd is essentially the addition of a second DE tree to the DE round - a tree with a single bout in it.) I solved that problem, which is really key because the same code will be used in repechage rounds, which are essentially rounds that contain several DE trees linked together with the "repechage rules".<br /><br />At that point, the floodgates opened and I started refactoring the code extensively to use the new tree-linking data. I moved a lot of code around and created the classes needed for all the repechage rounds. Doing all this made me realize that I had hit on a really good design - a lot of existing features won't need to be re-coded to work in repechage rounds. Things like competitor withdrawal, which normally would be a complex task, now works identically to how it does in all other DE rounds. <br /><br />I still have a few loose ends to tie up with the fence-off-for-third feature, but once that's done in the next couple days, I'll finally turn to fully implementing repechage. After that, "all-places-fenced" rounds shouldn't be much harder to implement.<br /><br />Once I'm done all the new round stuff, I'll probably turn my attention to some user-interface enhancements. We'll see how things progress over the next few weeks...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1114637876544894242005-04-27T14:34:00.000-07:002005-04-27T14:37:56.546-07:00All seeding by ranking done!Over the weekend I finished the seeding by ranking feature. It is now possible to seed by ranking, rating, or both - for both teams and individuals. When seeding by both rank and rating, you can optionally place the top N-ranked fencers above everyone else regardless of rating. <br /><br />Now that this major feature is done, I think I'm going to return to some general code-cleanup tasks before embarking on whatever is next. I suspect I'll be heading into the world of repechage next...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1114193562067866602005-04-22T11:09:00.000-07:002005-04-22T12:07:26.453-07:00D05 finallyAfter chasing my D in foil now for over three years (I renewed my E 22 times during that period), I finally earned it last night at our monthly E &amp; Under foil tournament. Yay!<br /><br />Oh, and seeding teams by team point ranking is now done. I should have all the seeding by ranking stuff done this weekend.Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1114045400210530982005-04-20T17:58:00.000-07:002005-04-20T18:03:20.213-07:00Lots of progressIt's been about a week since my last post, and what a week it was! In that time, I have implemented about 80% of the "Seed by point ranking" feature. As it stands, I can seed fencers by ratings or by ranking. I still need to add the more complicated "seed by both rating and ranking", but that shouldn't be too difficult. Right now I'm working on seeding teams by rankings. I also still need to adapt the modify seed order dialog box (that appears at the start of each event) to handle the new seeding methods.<br /><br />After this is done, I'm not sure what I'll work on next. There's still a good amount of code cleanup to do, so maybe I'll go back to that.<br /><br />Oh, and I just read that Grand Theft Auto: San Andreas will be coming out for the PC in June (finally!) ... so I'd better get a lot of work done by then since GTA will eat up a good chunk of my time once it's out...<br /><br />DanDannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1113416307145718742005-04-13T11:02:00.000-07:002005-04-13T11:18:27.146-07:00Yet more code cleanupAs I wade through all the Fencing Time code, I keep stumbling upon areas where it was obvious I had just "gotten a clue" about a new approach to solving a problem. In some places the distinction is so sharp that it's funny. <br /><br />When I started Fencing Time, I really wasn't thinking about portability to other platforms. Later on, when I started working on a PocketPC version, I was a bit ticked off because a lot of my core classes couldn't be easily ported to it. The reason, in short, was that I mixed my UI code and "business logic" code.<br /><br />If you're not a software person, what that basically means is that I mixed code that drives the user interface with code that manipulates the tournament data. In general, that's a bad thing. Keeping the two totally separate is the ideal - that way, you can completely replace the user interface without affecting the tournament code.<br /><br />Suffice it to say, I didn't really follow that axiom when I started. I did to a certain degree, and I really nailed it in some places. But in other places, I really missed the boat!<br /><br />My long-term plan is to eventually port FT to other platforms. I'll probably take another crack at the PocketPC version, and a lot of people are hoping for a Mac version. The biggest difference between those systems and the PC is the user interface code. The bulk of the code that manages the tournaments is generic enough that it could be ported with little trouble.<br /><br />So about a month ago, I started combing through the code to find places where UI and business logic were mixed. I've separated the two in a lot of places, but there's still work to be done. However, the results so far are very satisfying - there were a lot of messy constructs in the code that are now gone.<br /><br />After working on this UI cleanup, I've been itching to get back to more exciting things such as adding new features. I decided the first new feature would be seeding using points systems, which is something a lot of people want. I've started researching point systems and have a pretty good idea how I'm going to do it. Stay tuned to hear more about how it goes!Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1112996936738502892005-04-08T14:24:00.000-07:002005-04-08T14:48:56.740-07:00The development story so farIt's time to play a little catch-up on the development story so far...<br /><br />Official work on version 2.0 started on January 19th (or so). For no particular reason, I decided to start off by trying to rework the code that draws the DE trees so that it could handle repechage among other things. It turned out that doing so required me to rework just about all the data structures that I used for representing the DE tree. The old structures, while sufficient for a single DE, weren't flexible enough to do anything else. So I started off by reworking all that code into something far more reusable.<br /><br />Once that was done, I turned to the code that draws the DE tree. Again, the existing code was sufficient, but was no longer flexible enought for what needed to be done. The old code would simply draw a single DE tree to the screen or printer. The new code needed to do a lot more... it needed to:<br />1. Draw to different "render targets" - the screen, a printer, or a secondary monitor. (The secondary monitor thing is so that I can support displaying the DE tree data on a projection screen or other display.)<br />2. Draw the DE tree "backwards" - in other words, have the tree grow to the left (the loser bracket) in addition to the usual growth to the right.<br />3. Draw multiple DE trees on the same render target. This was needed so that I could draw the various repechage "sub-trees" which are used in the later rounds. It also would allow me to add "fence off for third" to the standard DE tree.<br /><br />Well, after a couple of weeks of work, I ended up with a class hierarchy which supported all those features and was much more flexible than before. As it stands today, I can now draw DE trees and repechage trees to my heart's content.<br /><br />By now I was sick of looking at DE tree stuff, so I decided to revisit some code which I knew was a mess and needed cleaning up. Being a solo developer on a project, one tends to get sloppy. Over the various versions of FT, I'd add new features in, shall we say, less than elegant ways. I also (over time) learned a lot more about how I should have done some things, so this was a perfect time to stop and refactor the classes. <br /><br />I'll spare you the details, but after a few weeks of work, I had removed a lot of duplicate code, removed some useless classes, and split overworked classes into multiple ones. I also simplified the data flow in a few areas and made things a lot easier to understand. For example, the code that handled seeding was a real mess and being able to see seedings other than the current one was a real pain. Now it's a snap.<br /><br />Code-cleanup is an ongoing thing, but I've refactored a lot of the core classes so that things will be a lot easier to extend going forward. One nice thing is that I'm finally seeing natural applications for all the design patterns I've been reading about over the years - it's taken me a long time to get my head around some of them but something finally has clicked.<br /><br />In my next post I'll talk about how I'm overhauling the user interface code so that it's more portable and how I've converted all the saved tournament data to XML...Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1112691079470589532005-04-05T01:46:00.000-07:002005-04-05T01:51:19.470-07:00Overhauling the new event wizard...I've just finished a complete overhaul of the New Event Wizard. The old version was a bit cluttered and didn't have enough room for some of the new options I'll be adding. I've also modelled the look'n'feel after the "standard" Microsoft wizards.<br /><br />I often wonder if anyone knows that you can disable the use of the wizard and use a more concise UI for creating events (using a bunch of dropdown-lists on a single form). You can select this on the Tools->Preferences menu (on the "Program" tab). Does anyone have feelings on which UI they prefer?Dannoreply@blogger.comtag:blogger.com,1999:blog-11811206.post-1112229331295573292005-03-30T16:25:00.000-08:002005-03-30T16:35:31.296-08:00Fencing Time Blog begins!I've decided to start a blog to chronicle the development process of Fencing Time version 2.0. I'm making the wild assumption that there are people out there that actually give a crap what I have to say, but then again I suppose that's the chance you take when starting a blog. If nobody was reading them, they wouldn't be so popular!<br /><br />Hopefully I'll post updates each night after I work on the code... if anyone has comments or suggestions, feel free to add them...<br /><br />DanDannoreply@blogger.com