This blog will describe some of the learning experiences that I have with .NET, some personal projects that I'm working on, and whatever other topics tickle my fancy.
My Blog Links
Friday, October 29, 2004
Here's a cool project that provides a class library that lets you manipulate RSS feeds and items. If you've ever fancied writing your own RSS aggregator or generator, these classes will be very useful.
Thursday, October 28, 2004
What can I say? This book just left me with an empty feeling. I remember reading my first Tom Clancy books and really enjoying them, but some time after "Debt of Honor", he lost me. Although there were another couple of decent books, as Jack Ryan moved higher into government office, the stories became harder and harder to believe. But, now that he was going back to the roots using Jack's son (Jack Jr) as a front line intelligence operative, I was hoping that he would recapture some of the magic. But, no such luck.
"The Teeth of the Tiger" was at best a mediocre book. The entire first half of the book was extremely slow and could have been effectively summed up in a single chapter about the team's training. There were some interesting dealings with terrorist plans in the US and the use of a completely covert unit to deal with terrorist organizations on their own terms. And, the way this organization was funding itself was intriguing.
But, overall, there was little suspense in the story, and it finished kind of abruptly. Let's hope this doesn't become another series of books that Clancy does about this anti-terrorist unit.
But, it obviously has because the Boston Red Sox won the World Series. I'm going to have to repeat that a few more times before it fully sinks in.
Growing up in Connecticut, I learned to root for the Sox early. And, it wasn't long before I learned they were going to be a cruel temptress throughout my life. I can still remember watching the 1986 series against the Mets, celebrating (what I thought were) the final outs with my brother, and standing there mesmorized when you-know-who did you-know-what. And, since then, there were other opportunities squandered, leads lost, and the heart-breaking end to last season. That's why even though the Sox beat the Yankees to get into the World Series, I was expected the disappointment to end all disappointments...
All of that served as background to my life. After moving away from the northeast to Seattle, the Red Sox had a diminished meaning to me. I could no longer watch every game they played. They traded away players I knew and pulled together teams that were completely foreign to me. But, still I kept tabs on them with the hope that someday...
So, I watched the playoffs. And, they beat the Angels. So what? The Yankees were still in their way. They lose the first two games in New York. My confidence is shaken, but hey they're going home, right? Then in game 3, they get blasted at home. I thought, "That's it; they're done; is there any way they can even win a single game after something like that." And, for most of game 4, I thought I would be right. They fell behind the Yankees and faced Mariano Rivera with their last out. And I thought, "He doesn't blow saves (the Red Sox do). The Sox don't score runs in their final out, especially off Rivera." But, they did. Well, that's one game, but no one in baseball has ever come back from a 3-0 lead, so the Yankees would just finish them off in New York, but it never happened. They rewrote history and came back to win the series.
I remember watching game 7 just waiting for that moment. The one where the wheels come off and the Sox lose their will. It never came. I sat in my living room in shock that they'd actually beaten the Yankees. But, there was an instant pang of anxiety that they were just getting our hopes up, higher than ever before, to come crashing down to a new depth.
So, I was cautious. The first game was a free-for-all, with the Sox finally winning in the end. The same type of game they had the entire Yankees series. I remember thinking that it was going to be a very long series if every game turned out like this. I didn't know if I would have any nails left to bite on.
But then, game 2 was a great pitching performance by Schilling (with his blood-soaked red sock). Now, they were going to St. Louis, where the Cardinals could mount their comeback at home. Pedro pitched a wonderful game 3, and the Cardinals weren't even close to making it a game. They had very few base runners and even fewer scoring chances. The two pitching aces just shut everything down.
And, so we come to last night... Could the Sox really sweep them? Did they have the killer instinct to put away a team when it was wounded and limping? Or, would they let them catch their breath and make things "interesting"? Part of me still cringed at the possibility (and with the Sox there was always that possibility).
But, they did it. They won!!! Convincingly, decisively, un-interestingly, shutout, sweep...
In hind-sight, I guess I shouldn't have doubted the Sox, because they had a lot going for themselves: beating the Yankees, being the first MLB team to ever come back from a 3-0 deficit, winning a record 8 straight playoff games, a full lunar eclipse... It looks like the universe lined up behind the Red Sox, and finally made it possible.
And, here's hoping it doesn't take another 86 years for the next one...
Friday, October 22, 2004
Let's say you want to play and edit AVI files in you .NET application. But, there's no support classes for that in the .NET framework. Well, the C# AviFile wrapper written by Corinna John exposes the AviFile APIs to the managed world.
Thursday, October 21, 2004
Holy crap! The Red Sox beat the Yankees. And, in the most amazing fashion imaginable, coming back from 3 games down, coming to within one inning of being eliminated, winning two games in extra innings, and winning the last two games in New York...
Now, as a long time Red Sox fan, I assumed last night was going to be typical - the Sox raise your hopes, just before crushing them horribly. Even after going up 6-0 in the second inning, I was a little worried (just a more dramatic fall when it happens). But, it never happened.
Of course, this was just the ALCS, so there's more baseball to be played. And, now that they've given Sox fans reason to hope, it's time to hold on for the ride in the World Series... :)
Tuesday, October 19, 2004
Ever want to update the color, background image, or whatever for the client area of the MDI parent window. It's not simple to do in the .NET Framework. But, here's a nice component (the MDI Client Controller) from Jacob Slusser that allows you to do just that...
Thursday, October 14, 2004
Alkoth asked to create a new feat that allows him to use his Arcane Archer special abilities more than once per day. After reviewing some other similar feats, this was the result.
Improved Arcane Archery [General]
Prerequisite: Ability to Imbue Arrow with Spell, BAB: +12, Must qualify for ability to improve.
Benefit: The character can use one selected Arcane Archer special ability two extra times per day. The character can only use these extra slots for abilities that they already qualify for.
Normal: The character can only use these abilities once per day.
Special: A character must take this feat for each Arcane Archer ability they wish to increase. But, this feat can only be taken once per ability.
So, you would take this feat for each type of ability you want to increase, like:
Improved Arcane Archery (Phase Arrow) -> gives you two extra uses of the phase arrow ability per day. This is similar to some other ability-enhancing feats in the Complete Warriors book.
Wednesday, October 13, 2004
Ever wonder how to show a watermark on a ListView control when it doesn't have any items in it? This means doing it without adding a "special" item to the ListView that contains that text. This code project by Lubos Hasko shows exactly how to do that.
BTW, a watermark is descriptive text that explains what the control (or form) is used for, if there were any items in it...
Monday, October 11, 2004
I had a highly "productive" weekend (if your defintion of productive includes playing XBox for many hours and watching football). I finished Fable last night. It probably took me a total of about 20 hours. And, I think I will have to play it again to see how evil I can get my character. For the first time through, I decided to play him good (but it was so hard to always do the right thing)...
More stuff I enjoyed about the game:
- Getting married was cool. In fact, I did it three times. Turns out you can have a wife in every town.
- Oh yeah, and you can have sex (after you're married).
- I bought some houses and was able to proudly display my trophies there.
- You can show the combat trophies you collect to villagers to improve your notoriety.
- The arena combats were great. Just a bunch of fights with lots of monsters continuously spawning. Make sure you bring plenty of healing...
- The final battle was a no-holds-barred 30 minutes of combat and magic, with the villian conjuring up lots of monsters to kill.
Things I didn't like:
- After defeating the main bad guy, the game ends, and you can't go back into the game world. I had some unfinished things I wanted to do.
- Once you start the last quest, you can't turn back.
- The game wasn't as long as I'd hoped (definitely not the scope of Morrowind).
- The whole imprisonment sequence was kind of dumb for a powerful hero to be subjected to.
- Last time I checked my age, I was 52. That's kind of weird because his body and face didn't seem to age. The character was pretty spry for someone in their 50s...
Friday, October 08, 2004
Good UI is very important. Without that, it doesn't matter how cool and useful your project is, because very few people will take the time to learn your application if it's too hard to understand. Here's a link to some good UI visual patterns that you've probably seen in some of your favorite apps.
[via Duncan Mackenzie]
Thursday, October 07, 2004
Here is a sample drawing application by Alex Farer that draws graphics objects, like lines, rectangles, ellipsis, etc, and also provides selection tools for these different graphics types. The sample looks very well structured with derived classes for each graphic type and tool. The hit testing code in the selection tools is really good.
Beyond that, Alex did a good job of creating the application framework, along with drag-drop support from the Explorer, and a most recently used list menu.
Wednesday, October 06, 2004
If you've ever played online computer games and felt lost in the world, then you're going to love this comic. The author does an excellent job of capturing the flavor of new characters in the massively multiplayer games.
Tuesday, October 05, 2004
So, I got some quality time with Fable this weekend. The game is pretty good:
- I finished off some quests and got more money and better armor/weapons.
- The ladies of Albion are starting to take notice and hitting on my character.
- I've won 2 rounds in the Fist Fighter club.
- It's so hard for me to keep from doing very evil things with my character.
- Your character ages as you progress through the game. Using magic seems to age you too. But, I'm aging at an alarming rate. My character is already 33 years old. Unless aging slows down significantly, I don't see how my character is going to finish the storyline before he dies of old age... :)
Some things that I don't like about this game:
- The map tiles are too small and requiring loading time between map tiles. And, that is unfortunately slow.
- Although they claim that Fable is as large and open-ended as Morrowind, I just don't see how that's possible. And, it's definitely more directed than Morrowind.
- Whenever I start my XBox with the Fable disc in it, I get a disc not recognized error. But, if I eject and re-insert the disc, the game starts up correctly. Weird...
Friday, October 01, 2004
I just started playing Fable on my XBox last night. It was quite a fun first 2-hour session even though it was mostly training and getting my feet wet. I'm started with an emphasis on combat and will probably become a warrior, but he game is pretty free-form, letting you pick and choose abilities from anywhere.
Whenever I play these types of computer games, I always seem to start playing with a fighter. Magic systems are always involved, so when I play the game multiple times, my second time through is usually with a wizard.
Cool stuff about Fable:
- you can pick whether to do good or evil in your quests.
- there appear to be lots of quests.
- I got my first barber card (gives you a type of haircut or shave). I got the cool-looking mustache.
- I got my first tattoo. A facial tattoo that gives me +25 to scariness. Cool.
I'm sure there will be much more intereting things once I get a little more quality time with my XBox... :)