<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6541638</id><updated>2012-01-29T12:00:20.462-08:00</updated><title type='text'>DarthPedro: Random Thoughts</title><subtitle type='html'>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.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default?start-index=101&amp;max-results=100'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>160</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6541638.post-110609334346799611</id><published>2005-11-10T09:00:00.000-08:00</published><updated>2005-11-10T09:37:49.020-08:00</updated><title type='text'>My Blog Is Moving...</title><content type='html'>After spending a while using Blogger and Blogspot, I've decided to move this blog and divide it into two separate pieces. Technical topics about C#, Windows Forms, and the Distributed System Designers will be &lt;a href="http://blogs.msdn.com/pedrosilva"&gt;moving to blogs.msdn.com&lt;/a&gt;. The readership there is much more targeted, and now that the project I'm working on is in Beta, I can discuss it in much more detail.&lt;br /&gt;&lt;br /&gt;My personal topics (books, video games, D&amp;amp;D, and random fun links) will be &lt;a href="http://spaces.msn.com/members/VacuousGrimoire/"&gt;moving to MSN Spaces&lt;/a&gt;. I like the functionality and speed of Spaces better and hopefully you will too.&lt;br /&gt;&lt;br /&gt;So, this will be my last post here. All of the content here will stay here. I have no plans of moving any of it over.&lt;br /&gt;&lt;br /&gt;I hope that all of you regular readers will follow me over. Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-110609334346799611?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/110609334346799611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=110609334346799611' title='84 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110609334346799611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110609334346799611'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2005/11/my-blog-is-moving.html' title='My Blog Is Moving...'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>84</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-110236803803773375</id><published>2004-12-06T13:18:00.000-08:00</published><updated>2004-12-06T13:20:38.036-08:00</updated><title type='text'>.NET: Quick Overview of Drawing Rotated Text</title><content type='html'>Here's a quick sample by &lt;a href="http://blogs.duncanmackenzie.net/duncanma/"&gt;Duncan&lt;/a&gt; on how to &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2004/12/02/913.aspx"&gt;draw rotated text using the .NET Framwork&lt;/a&gt;. It's been a while and nice to see Duncan back posting on his blog.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-110236803803773375?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/110236803803773375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=110236803803773375' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110236803803773375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110236803803773375'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/12/net-quick-overview-of-drawing-rotated.html' title='.NET: Quick Overview of Drawing Rotated Text'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-110211626116033893</id><published>2004-12-03T15:22:00.000-08:00</published><updated>2004-12-03T15:24:21.160-08:00</updated><title type='text'>HUMOR: Top Ten .NET Things to the Thankful For.</title><content type='html'>This is a funny list of things that &lt;a href="http://www.theserverside.net/cartoons/Top10_NET_Thankful/Top10_NET_Thankful.swf"&gt;developers should be thankful for in the .NET platform&lt;/a&gt;. Hey, if we can't laugh at it, who can?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-110211626116033893?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/110211626116033893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=110211626116033893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110211626116033893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110211626116033893'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/12/humor-top-ten-net-things-to-thankful.html' title='HUMOR: Top Ten .NET Things to the Thankful For.'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-110194812865200886</id><published>2004-12-01T16:33:00.000-08:00</published><updated>2004-12-01T16:42:08.653-08:00</updated><title type='text'>DnD: Cool Comic the Order of the Stick</title><content type='html'>Well, I'm finally back from Thanksgiving vacation and dug myself out of the pile of email that awaited me. Along the way, I found this &lt;a href="http://www.giantitp.com/cgi-bin/GiantITP/ootscript?SK=1"&gt;really cool comic on RPGs, called the Order of the Stick&lt;/a&gt;. It has lots of inside rule humor for those who like D&amp;D in particular.&lt;br /&gt;&lt;br /&gt;I swear the artist must have seen some of our game sessions by some of the stuff I read in the strip. Or, perhaps lots of others have similar experiences in gaming... :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-110194812865200886?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/110194812865200886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=110194812865200886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110194812865200886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/110194812865200886'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/12/dnd-cool-comic-order-of-stick.html' title='DnD: Cool Comic the Order of the Stick'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109961679898500890</id><published>2004-11-04T17:00:00.000-08:00</published><updated>2004-11-04T17:08:25.943-08:00</updated><title type='text'>MISC:Revenge of the Sith Trailer</title><content type='html'>Yeah, I know Star Wars episodes 1 &amp;amp; 2 were disappointing. But, I just saw &lt;a href="http://www.movie-list.com/trailers.php?id=starwars3"&gt;the trailer for Star Wars III: Revenge of the Sith&lt;/a&gt;. And, all I can say is WOW! It looks pretty damn cool. There is just something about that Darth Vader helmet and respirator that gives me the chills. I can feel my expectations for this movie rising already. I can't wait to see more.&lt;br /&gt;&lt;br /&gt;Hopefully, my expectations won't be horribly dashed...&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://blogs.msdn.com/smakofsky/archive/2004/11/04/252549.aspx"&gt;Steve Makofsky&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109961679898500890?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109961679898500890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109961679898500890' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109961679898500890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109961679898500890'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/11/miscrevenge-of-sith-trailer.html' title='MISC:Revenge of the Sith Trailer'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109951646241807170</id><published>2004-11-03T13:17:00.000-08:00</published><updated>2004-11-03T13:14:22.420-08:00</updated><title type='text'>MISC: At Least It's Over</title><content type='html'>The best thing I can say about the election is that at least it's over. And, won't be dragged on indefinitely. The entire campaign has been a grueling 6 months, and I don't think I could take another few weeks of the partisans going back and forth about who should be president. President Bush winning has left me with an overwhelming feeling of, "ehhh, whatever". For the second straight election, I just can't get myself fired up over either of these candidates.&lt;br /&gt;&lt;br /&gt;As an independent voter, the "anybody but Bush" campaign really did nothing for me. If the democrats can't offer a candidate with more appeal than that, then they deserve to lose. I'm a firm believer that the only thing that can save the US from these continual choiceless elections is the development of viable a third party that can challenge the republicrats and demopublicans. Hopefully, that will start over the next four years.&lt;br /&gt;&lt;br /&gt;The one thing I am happy about with Bush winning is that all those celebrities can finally shut the heck up. Just because you're an actor or singer, and I'm willing to pay for your movie or music doesn't mean that I want to be force-fed your political opinions. What educational background or experience do you have that makes you a political expert? It's beyond arrogance for them to think that their opinion carries any more weight than anyone else's. Why would I care who Barbara Streisand or P. Diddy or Susan Sarandon or Eminem want me to vote for?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109951646241807170?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109951646241807170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109951646241807170' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109951646241807170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109951646241807170'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/11/misc-at-least-its-over.html' title='MISC: At Least It&apos;s Over'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109907740932078858</id><published>2004-10-29T13:12:00.000-07:00</published><updated>2004-10-29T12:16:49.320-07:00</updated><title type='text'>.NET: RSS C# Library</title><content type='html'>Here's a cool project that provides a &lt;a href="http://weblogs.asp.net/ssadasivuni/archive/2004/10/29/249434.aspx"&gt;class library that lets you manipulate RSS feeds and items&lt;/a&gt;. If you've ever fancied writing your own RSS aggregator or generator, these classes will be very useful.&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://weblogs.asp.net/ssadasivuni"&gt;Sudhakar&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109907740932078858?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109907740932078858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109907740932078858' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109907740932078858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109907740932078858'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-rss-c-library.html' title='.NET: RSS C# Library'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109900318772002217</id><published>2004-10-28T17:27:00.000-07:00</published><updated>2004-10-28T17:34:27.076-07:00</updated><title type='text'>BOOK: Teeth of the Tiger</title><content type='html'>What can I say? This book just left me with an empty feeling. I remember reading my first &lt;a href="http://www.amazon.com/exec/obidos/search-handle-url/index=books&amp;field-author=Clancy,%2520Tom/104-2827088-7978357"&gt;Tom Clancy&lt;/a&gt; books and really enjoying them, but some time after "&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0425147584/qid=1099002992/sr=1-7/ref=sr_1_7/104-2827088-7978357?v=glance&amp;amp;s=books"&gt;Debt of Honor&lt;/a&gt;", 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.&lt;br /&gt;&lt;br /&gt;"&lt;a href="http://www.amazon.com/exec/obidos/ASIN/039915079X/qid=1095729300/sr=ka-1/ref=pd_ka_1/002-8074878-6723254"&gt;The Teeth of the Tiger&lt;/a&gt;" 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109900318772002217?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109900318772002217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109900318772002217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109900318772002217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109900318772002217'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/book-teeth-of-tiger.html' title='BOOK: Teeth of the Tiger'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109898448988247300</id><published>2004-10-28T09:32:00.000-07:00</published><updated>2004-10-28T10:28:09.883-07:00</updated><title type='text'>MISC:Doesn't Seem Cold Enough For Hell To Have Frozen Over...</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;But, they did it. They won!!! Convincingly, decisively, un-interestingly, shutout, sweep...&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;And, here's hoping it doesn't take another 86 years for the next one...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109898448988247300?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109898448988247300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109898448988247300' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109898448988247300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109898448988247300'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/miscdoesnt-seem-cold-enough-for-hell.html' title='MISC:Doesn&apos;t Seem Cold Enough For Hell To Have Frozen Over...'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109846457536988836</id><published>2004-10-22T09:59:00.000-07:00</published><updated>2004-10-22T10:02:55.370-07:00</updated><title type='text'>.NET: C# AviFile Wrapper</title><content type='html'>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, &lt;a href="http://www.codeproject.com/cs/media/aviFileWrapper.asp"&gt;the C# AviFile wrapper written by Corinna John exposes the AviFile APIs to the managed world&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109846457536988836?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109846457536988836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109846457536988836' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109846457536988836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109846457536988836'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-c-avifile-wrapper.html' title='.NET: C# AviFile Wrapper'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109837826000478923</id><published>2004-10-21T09:52:00.000-07:00</published><updated>2004-10-21T10:04:20.003-07:00</updated><title type='text'>MISC: Pennant Dreams</title><content type='html'>Holy crap! &lt;a href="http://msn.foxsports.com/story/3094528"&gt;The Red Sox beat the Yankees&lt;/a&gt;. 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...&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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...  :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109837826000478923?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109837826000478923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109837826000478923' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109837826000478923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109837826000478923'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/misc-pennant-dreams.html' title='MISC: Pennant Dreams'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109822957162482244</id><published>2004-10-19T16:40:00.000-07:00</published><updated>2004-10-19T16:46:11.626-07:00</updated><title type='text'>.NET: Customizing MDI Parent Window</title><content type='html'>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 (&lt;a href="http://www.codeproject.com/cs/miscctrl/mdiclientcontroller.asp"&gt;the MDI Client Controller&lt;/a&gt;) from Jacob Slusser that allows you to do just that...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109822957162482244?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109822957162482244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109822957162482244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109822957162482244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109822957162482244'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-customizing-mdi-parent-window.html' title='.NET: Customizing MDI Parent Window'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109640331169814443</id><published>2004-10-14T18:20:00.000-07:00</published><updated>2004-10-14T18:17:18.353-07:00</updated><title type='text'>DnD: Improved Arcane Archery</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Improved Arcane Archery [General]&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Prerequisite: Ability to Imbue Arrow with Spell, BAB: +12, Must qualify for ability to improve.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Normal: The character can only use these abilities once per day.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So, you would take this feat for each type of ability you want to increase, like:&lt;br /&gt;Improved Arcane Archery (Phase Arrow) -&gt; gives you two extra uses of the phase arrow ability per day. This is similar to some other ability-enhancing feats in the &lt;a href="http://www.wizards.com/default.asp?x=products/dndacc/176640000"&gt;Complete Warriors&lt;/a&gt; book.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109640331169814443?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109640331169814443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109640331169814443' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109640331169814443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109640331169814443'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/dnd-improved-arcane-archery.html' title='DnD: Improved Arcane Archery'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109769020740640570</id><published>2004-10-13T10:50:00.000-07:00</published><updated>2004-10-13T10:56:47.406-07:00</updated><title type='text'>.NET: Displaying ListView Watermark</title><content type='html'>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 &lt;a href="http://www.codeproject.com/cs/miscctrl/extlistviewarticle.asp"&gt;code project&lt;/a&gt; by Lubos Hasko shows exactly how to do that.&lt;br /&gt;&lt;br /&gt;BTW, a watermark is descriptive text that explains what the control (or form) is used for, if there were any items in it...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109769020740640570?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109769020740640570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109769020740640570' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109769020740640570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109769020740640570'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-displaying-listview-watermark.html' title='.NET: Displaying ListView Watermark'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109751343631911593</id><published>2004-10-11T09:17:00.000-07:00</published><updated>2004-10-11T14:14:01.063-07:00</updated><title type='text'>MISC: Finished Fable</title><content type='html'>I had a highly "productive" weekend (if your defintion of productive includes playing XBox for many hours and watching football). I finished &lt;a href="http://www.xbox.com/en-us/fable/default.htm?level1=enushome&amp;level2=fg1&amp;amp;level3=fable"&gt;Fable&lt;/a&gt; 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)...&lt;br /&gt;&lt;br /&gt;More stuff I enjoyed about the game:&lt;br /&gt;- Getting married was cool. In fact, I did it three times. Turns out you can have a wife in every town.&lt;br /&gt;- Oh yeah, and you can have sex (after you're married).&lt;br /&gt;- I bought some houses and was able to proudly display my trophies there.&lt;br /&gt;- You can show the combat trophies you collect to villagers to improve your notoriety.&lt;br /&gt;- The arena combats were great. Just a bunch of fights with lots of monsters continuously spawning. Make sure you bring plenty of healing...&lt;br /&gt;- The final battle was a no-holds-barred 30 minutes of combat and magic, with the villian conjuring up lots of monsters to kill.&lt;br /&gt;&lt;br /&gt;Things I didn't like:&lt;br /&gt;- 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.&lt;br /&gt;- Once you start the last quest, you can't turn back.&lt;br /&gt;- The game wasn't as long as I'd hoped (definitely not the scope of Morrowind).&lt;br /&gt;- The whole imprisonment sequence was kind of dumb for a powerful hero to be subjected to.&lt;br /&gt;- 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...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109751343631911593?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109751343631911593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109751343631911593' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109751343631911593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109751343631911593'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/misc-finished-fable.html' title='MISC: Finished Fable'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109728023724957216</id><published>2004-10-08T17:00:00.000-07:00</published><updated>2004-10-08T17:03:57.250-07:00</updated><title type='text'>.NET: UI Visual Patterns</title><content type='html'>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 &lt;a href="http://time-tripper.com/uipatterns/index.php"&gt;good UI visual patterns&lt;/a&gt; that you've probably seen in some of your favorite apps.&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://blogs.duncanmackenzie.net/duncanma/archive/2004/10/07/760.aspx"&gt;Duncan Mackenzie&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109728023724957216?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109728023724957216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109728023724957216' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109728023724957216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109728023724957216'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-ui-visual-patterns.html' title='.NET: UI Visual Patterns'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109720053707141060</id><published>2004-10-07T18:49:00.000-07:00</published><updated>2004-10-07T18:55:37.073-07:00</updated><title type='text'>.NET: Drawing Tool Sample</title><content type='html'>Here is a &lt;a href="http://www.codeproject.com/csharp/DrawTools.asp"&gt;sample drawing application by Alex Farer&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109720053707141060?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109720053707141060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109720053707141060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109720053707141060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109720053707141060'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/net-drawing-tool-sample.html' title='.NET: Drawing Tool Sample'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109640399064095181</id><published>2004-10-06T13:36:00.000-07:00</published><updated>2004-10-06T13:07:40.340-07:00</updated><title type='text'>MISC: Funny RPG Comic</title><content type='html'>If you've ever played online computer games and felt lost in the world, then you're going to love this &lt;a href="http://thenoob.keenspace.com/d/20040608.html"&gt;comic&lt;/a&gt;. The author does an excellent job of capturing the flavor of new characters in the massively multiplayer games.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109640399064095181?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109640399064095181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109640399064095181' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109640399064095181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109640399064095181'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/misc-funny-rpg-comic.html' title='MISC: Funny RPG Comic'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109700994908722774</id><published>2004-10-05T13:17:00.000-07:00</published><updated>2004-10-05T15:25:47.970-07:00</updated><title type='text'>MISC: Fable Continues</title><content type='html'>So, I got some quality time with &lt;a href="http://www.xbox.com/en-us/fable/default.htm?level1=enushome&amp;level2=fg1&amp;amp;level3=fable"&gt;Fable&lt;/a&gt; this weekend. The game is pretty good:&lt;br /&gt;- I finished off some quests and got more money and better armor/weapons.&lt;br /&gt;- The ladies of Albion are starting to take notice and hitting on my character.&lt;br /&gt;- I've won 2 rounds in the Fist Fighter club.&lt;br /&gt;- It's so hard for me to keep from doing very evil things with my character.&lt;br /&gt;- 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... :)&lt;br /&gt;&lt;br /&gt;Some things that I don't like about this game:&lt;br /&gt;- The map tiles are too small and requiring loading time between map tiles. And, that is unfortunately slow.&lt;br /&gt;- Although they claim that Fable is as large and open-ended as &lt;a href="http://www.xbox.com/en-US/elderscrolls3morrowind/default.htm"&gt;Morrowind&lt;/a&gt;, I just don't see how that's possible. And, it's definitely more directed than Morrowind.&lt;br /&gt;- 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...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109700994908722774?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109700994908722774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109700994908722774' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109700994908722774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109700994908722774'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/misc-fable-continues.html' title='MISC: Fable Continues'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109665656104917689</id><published>2004-10-01T11:40:00.000-07:00</published><updated>2004-10-01T11:55:01.633-07:00</updated><title type='text'>MISC: Fable</title><content type='html'>I just started playing &lt;a href="http://www.xbox.com/en-us/fable/default.htm?level1=enushome&amp;level2=fg1&amp;amp;level3=fable"&gt;Fable&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Cool stuff about Fable:&lt;br /&gt;- you can pick whether to do good or evil in your quests.&lt;br /&gt;- there appear to be lots of quests.&lt;br /&gt;- I got my first barber card (gives you a type of haircut or shave). I got the cool-looking mustache.&lt;br /&gt;- I got my first tattoo. A facial tattoo that gives me +25 to scariness. Cool.&lt;br /&gt;&lt;br /&gt;I'm sure there will be much more intereting things once I get a little more quality time with my XBox... :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109665656104917689?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109665656104917689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109665656104917689' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109665656104917689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109665656104917689'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/10/misc-fable.html' title='MISC: Fable'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109650766631259748</id><published>2004-09-29T18:23:00.000-07:00</published><updated>2004-09-29T18:27:46.313-07:00</updated><title type='text'>.NET: Tooltips Displayed as Balloons</title><content type='html'>Here's a helpful hint from &lt;a href="http://weblogs.asp.net/whaggard/"&gt;Wes&lt;/a&gt;. In Whidbey, the &lt;a href="http://weblogs.asp.net/whaggard/archive/2004/09/10/227985.aspx"&gt;Tooltip class has an IsBalloon property&lt;/a&gt;. It's false by default. But, if you set that to true, your tooltip takes on the appears of a balloon (with rounded corners) instead of a normal looking tooltip.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109650766631259748?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109650766631259748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109650766631259748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109650766631259748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109650766631259748'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/net-tooltips-displayed-as-balloons.html' title='.NET: Tooltips Displayed as Balloons'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109642285125887563</id><published>2004-09-28T18:47:00.000-07:00</published><updated>2004-09-28T18:54:11.260-07:00</updated><title type='text'>.NET: FlexWiki Goes Open Source</title><content type='html'>Today, Microsoft posted FlexWiki, a &lt;a href="http://wiki.org/wiki.cgi?WhatIsWiki"&gt;wiki&lt;/a&gt; implementation by &lt;a href="http://weblogs.asp.net/dornstein/"&gt;David&lt;/a&gt; and &lt;a href="http://www.simplegeek.com/"&gt;Craig&lt;/a&gt;, to &lt;a href="https://sourceforge.net/projects/flexwiki/"&gt;SourceForge&lt;/a&gt; as an open source project. This application allows you to create a wiki on your webserver. Very cool, that it's now open source. We've been using it internally for a while.&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://weblogs.asp.net/dornstein/archive/2004/09/27/235042.aspx"&gt;David Ornstein&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109642285125887563?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109642285125887563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109642285125887563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109642285125887563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109642285125887563'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/net-flexwiki-goes-open-source.html' title='.NET: FlexWiki Goes Open Source'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109631630097552631</id><published>2004-09-27T13:16:00.000-07:00</published><updated>2004-09-27T13:22:47.370-07:00</updated><title type='text'>DnD: Blood Mephit</title><content type='html'>Rock was looking for a new special familiar, and we toyed with a couple of ideas that tied into the fact that he's a Blood Magus -- something like a vampire bat or a stirge. But, we settled on a whole new type of creature, the Blood mephit. It's similar to the other types of mephits in power and abilities, but it's special abilities revolve around blood. Here's the new creature that I created in both 3E and 3.5 (since they're slightly different).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Blood Mephit (3E)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Small Outsider (Water)&lt;br /&gt;Hit Dice: 3d8+9 (22 hp)&lt;br /&gt;Initiative: +0&lt;br /&gt;Speed: 30 ft., fly 40 ft. (average)&lt;br /&gt;AC: 16 (+1 size, +5 natural)&lt;br /&gt;Attacks: 2 claws +5 melee&lt;br /&gt;Damage: Claw 1d3+1&lt;br /&gt;Face/Reach: 5 ft. by 5 ft./5 ft.&lt;br /&gt;Special Attacks: Breath weapon, spell-like abilities, summon mephit&lt;br /&gt;Special Qualities: Fast healing 2, damage reduction 5/+1&lt;br /&gt;Saves: Fort +6, Ref +3, Will +3&lt;br /&gt;Abilities: Str 13, Dex 10, Con 16, Int 12, Wis 11, Cha 13&lt;br /&gt;Skills: Bluff +5, Hide +9, Listen +6, Move Silently +6, Spot +6&lt;br /&gt;Feats: Power Attack&lt;br /&gt;Climate/Terrain: Any land and underground&lt;br /&gt;Organization: Solitary (1), gang (2-4 mephits of mixed types), or swarm(5-12 mephits of mixed types)&lt;br /&gt;Challenge Rating: 3&lt;br /&gt;Treasure: Standard&lt;br /&gt;Alignment: Usually neutral&lt;br /&gt;Advancement: 4-6 HD (Small); 7-9 HD (Medium-size)&lt;br /&gt;Level Adjustment: +3 (cohort)&lt;br /&gt;&lt;br /&gt;Breath Weapon (Su): Cone of bloody liquid, 15 feet; damage 1d4 hp + Cause Fear, Will negates DC 12.&lt;br /&gt;&lt;br /&gt;Spell-Like Abilities: Once per hour a blood mephit can attempt to Charm Person as if cast by a 3rd-level Sorceror. Once per day it can use a touch attack that duplicates the effect of Vampiric Touch as cast by a 6th-level sorcerer.&lt;br /&gt;&lt;br /&gt;Fast Healing (Ex): A blood mephit heals only if it rubs its body with a pint of blood. A pint last for 1 minute.&lt;br /&gt;&lt;br /&gt;Summon Mephit (Sp): Once per day, all mephits can summon other mephits much as though casting a summon monster spell, but they have only a 25% chance of success to summon one mephit of the same type. Roll d%: On a failure, no creature answers the summons. A mephit that has just been summoned cannot use its own summon ability for 1 hour.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Blood Mephit (3.5)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Small Outsider (Water, Extraplanar)&lt;br /&gt;Hit Dice: 3d8+9 (22 hp)&lt;br /&gt;Initiative: +0&lt;br /&gt;Speed: 30 ft., fly 40 ft. (average)&lt;br /&gt;AC: 16 (+1 size, +5 natural)&lt;br /&gt;Attacks: 2 claws +5 melee&lt;br /&gt;Damage: Claw 1d3+1&lt;br /&gt;Face/Reach: 5 ft. by 5 ft./5 ft.&lt;br /&gt;Special Attacks: Breath weapon, spell-like abilities, summon mephit&lt;br /&gt;Special Qualities: Fast healing 2, damage reduction 5/magic, darkvision 60 ft.&lt;br /&gt;Saves: Fort +6, Ref +3, Will +3&lt;br /&gt;Abilities: Str 13, Dex 10, Con 16, Int 12, Wis 11, Cha 13&lt;br /&gt;Skills: Bluff +5, Hide +9, Listen +6, Move Silently +6, Spot +6&lt;br /&gt;Feats: Power Attack, Toughness&lt;br /&gt;Climate/Terrain: Any land and underground&lt;br /&gt;Organization: Solitary (1), gang (2-4 mephits of mixed types), or swarm(5-12 mephits of mixed types)&lt;br /&gt;Challenge Rating: 3&lt;br /&gt;Treasure: Standard&lt;br /&gt;Alignment: Usually neutral&lt;br /&gt;Advancement: 4-6 HD (Small); 7-9 HD (Medium-size)&lt;br /&gt;Level Adjustment: +3 (cohort)&lt;br /&gt;&lt;br /&gt;Breath Weapon (Su): Cone of bloody liquid, 15 feet; damage 1d4 hp + Cause Fear, Will negates DC 12.&lt;br /&gt;&lt;br /&gt;Spell-Like Abilities: Once per hour a blood mephit can attempt to Charm Person as if cast by a 3rd-level Sorceror. Once per day it can use a touch attack that duplicates the effect of Vampiric Touch as cast by a 6th-level sorcerer.&lt;br /&gt;&lt;br /&gt;Fast Healing (Ex): A blood mephit heals only if it rubs its body with a pint of blood. A pint last for 1 minute.&lt;br /&gt;&lt;br /&gt;Summon Mephit (Sp): Once per day, all mephits can summon other mephits much as though casting a summon monster spell, but they have only a 25% chance of success to summon one mephit of the same type. Roll d%: On a failure, no creature answers the summons. A mephit that has just been summoned cannot use its own summon ability for 1 hour. &lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109631630097552631?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109631630097552631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109631630097552631' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109631630097552631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109631630097552631'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/dnd-blood-mephit_27.html' title='DnD: Blood Mephit'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109587818375708634</id><published>2004-09-22T11:29:00.000-07:00</published><updated>2004-09-22T11:37:33.186-07:00</updated><title type='text'>BLOG: Hey Scoble, Over Here!</title><content type='html'>Well, it looks &lt;a href="http://radio.weblogs.com/0001011/2004/09/22.html#a8276"&gt;Scoble is passing around links to folks who link back over to him&lt;/a&gt;. Here's my chance to get noticed in the blogging world. Become rich and famous. And, start my plot to take over of the world.&lt;br /&gt;&lt;br /&gt;And, if he doesn't link to my post, I guess I can always join the &lt;a href="http://radio.weblogs.com/0001011/2004/06/14.html#a7759"&gt;'I hate Scoble' fanclub&lt;/a&gt;, so it's a win-win situation... :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109587818375708634?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109587818375708634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109587818375708634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109587818375708634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109587818375708634'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/blog-hey-scoble-over-here.html' title='BLOG: Hey Scoble, Over Here!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109587767306868637</id><published>2004-09-22T11:22:00.000-07:00</published><updated>2004-09-22T11:27:53.066-07:00</updated><title type='text'>.NET: Using the PropertyGrid In Your App</title><content type='html'>Here's a cool project in C# that shows how to use the &lt;a href="http://www.codeproject.com/csharp/PropertyGrid.asp"&gt;property grid in your own WinForms application&lt;/a&gt;. This is cool because it allows you to change properties on an object in a standard way, including changing the appearance of controls at runtime.&lt;br /&gt;&lt;br /&gt;However, you can use this for other objects too, as long as they expose properties and use the appropriate attributes to hide and show them in the property grid, like the &lt;strong&gt;Browsable&lt;/strong&gt; attribute. Also, it uses custom type editors, so that you can use appropriate editors for certain types of properties, like &lt;strong&gt;Color&lt;/strong&gt;. It behaves very similar to the property browser in Visual Studio.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109587767306868637?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109587767306868637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109587767306868637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109587767306868637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109587767306868637'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/net-using-propertygrid-in-your-app.html' title='.NET: Using the PropertyGrid In Your App'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109570325239620797</id><published>2004-09-20T10:57:00.000-07:00</published><updated>2004-09-20T18:13:41.616-07:00</updated><title type='text'>BOOK: Just A Geek</title><content type='html'>Well, my weekend travel across the country gave me the perfect opportunity to get through &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/059600768X/ref=pd_sim_books_1/002-2560580-2346412?v=glance&amp;s=books"&gt;Just a Geek&lt;/a&gt; by &lt;a href="http://www.wilwheaton.net/"&gt;Wil Wheaton&lt;/a&gt;. It's a very interesting book, and if you liked his previous book, &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0596006748/qid=1094158505/sr=ka-1/ref=pd_ka_1/002-2560580-2346412"&gt;Dancing Barefoot&lt;/a&gt;, then this is right up your alley.&lt;br /&gt;&lt;br /&gt;Wil takes a unique and humorous look at Hollywood life and trying to get acting work as someone whose not famous enough to be a major star, but too recognizable to play the non-descript background actor either. After his early success, he's been type cast as a dramatic actor, and even though he's done some comedic work on stage, he hasn't been able to land a comedic acting job on TV or movies. Wil does a good job of showing what acting life is like for those actors who don't make $20M per picture, but struggle from week to week looking for their big break at the next audition.&lt;br /&gt;&lt;br /&gt;Wil has some very interesting stories about Star Trek, the time he spent on the show, and how he was treated by fans and the producers after he left the show. Some of the stories are actually quite sad, and I'm surprised that Wil hasn't turned out a lot more bitter about it. Folks really disliked his character and appeared to take it out on him at conventions.&lt;br /&gt;&lt;br /&gt;The interesting thing appears to be that his website has turned this around for him. Although he still gets lots of flames on his site, people who visit there usually take a liking to him, and that has translated to better receptions at conventions too. And, it launched his career as a writer. Ah, the power of blogs and the web...&lt;br /&gt;&lt;br /&gt;The best part is that Wil shows his true inner geek: from developing his own website, to working at a couple of high-tech companies, to running his own Linux web servers, to being published by O'Reilly books, to video games, to Dungeons and Dragons, etc, etc, etc. It's all geek all the time, and I can appreciate that.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109570325239620797?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109570325239620797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109570325239620797' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109570325239620797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109570325239620797'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/book-just-geek.html' title='BOOK: Just A Geek'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109479573535874294</id><published>2004-09-20T10:40:00.000-07:00</published><updated>2004-09-29T13:34:13.483-07:00</updated><title type='text'>DnD: The Cast of Characters</title><content type='html'>Our D&amp;amp;D group has 8 player characters with a varied set of skills:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Alkoth - 14th level Bard/Fighter/Arcane Archer (human)&lt;br /&gt;&lt;/strong&gt;Alkoth joined the party after Errol's demise and revelation that he no longer hungered for adventure. Alkoth came from the nomadic tribes northeast of Revelstone looking for the valiant heroes prophecisized as the Heroes of Revelstone. His attempts to decipher the prophecy has led him to a bard college that specializes in prophecies of all types.&lt;br /&gt;&lt;br /&gt;He joined the party on their quests to protect the clan of the Twelve Faces from the attacks of neighboring factions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Donal - 15th level Fighter/Rogue (human)&lt;br /&gt;&lt;/strong&gt;Donal is an agile fighter that depends more on speed and finesse than raw power. He uses his spiked chain to great effect, killing enemies before they can even get close enough to touch him. He's dabbled a bit in the roguish arts but is best known for his skills in combat.&lt;br /&gt;&lt;br /&gt;He's currently on a side quest trying to learn about his family history. It appears that there's more to his heritage than he's been told, as a couple of distant relatives have come looking for him to discuss a strange prophecy of power that they believe is meant for their bloodline.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Garett - 15th level Rogue/Fighter (halfling)&lt;br /&gt;&lt;/strong&gt;Garett is a quick-witted rogue that at first specialized in ranged sneak attacks but has recently been moving into more melee combat. His most prized possession are his Eyes of the Night, which allowed him to finally roam throughout a dungeon without the need for light (or mage with Darkvision). His focus has been on the stealthy arts, with high ranks in move silently, hide, tumbling, spot, disable traps, etc.&lt;br /&gt;&lt;br /&gt;He joined the Guild of the Flaming Dagger many months ago and has since created a branch guild in the town of Revelstone with a goblinoid bartender named Grummell. Recently, both decided to move their guild closer to the party's new keep in Dover. They're currently building a tavern in the village sprouting up outside of Dover.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ellaron - 15th level Sorceror/Dragon Disciple (half-elf) &lt;/strong&gt;&lt;br /&gt;Ellaron had magic coursing through his veins even before he became a sorceror -- that was just a natural expression of his bloodlines. Only years later did he discover his father's true nature (a bronze dragon in disguise). At that point, he began tapping into his dragon abilities gaining more and more dragon attributes: natural armor, strength, natural attacks, and size. He was also able to attract a pseudo-dragon familiar.&lt;br /&gt;&lt;br /&gt;Around that same time, Ellaron began having strangely realistic dreams about himself and the party. Only after a few encounters did he come to realize that these dreams were coming true in bits and pieces. That revelation scared him as his dreams became darker and darker.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rock - 14th level Bard/Sorceror/Blood Magus (human)&lt;br /&gt;&lt;/strong&gt;Rock has dabbled in quite a bit but focused mainly on bard. However, his death early on in his career in a gladiatorial arena has haunted him ever since. That experience molded him into the perfect pupil to become a bloood magus. Since then, he's become a student of death and the afterlife, and a collector of blood.&lt;br /&gt;&lt;br /&gt;The bard is best known for several ballads that he's created about the party's exploits while killing several dragons in Solace. As well as, quite a few eulogies for members of the parties have died and been raised.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Thallion - 14th level Ranger/Fighter (half-elf)&lt;br /&gt;&lt;/strong&gt;Thallion is a whirling wall of blades. He fights two handed with longsword and short sword and charges in where only fools would tread. His main abilities deal with outdoor survival, tracking, hunting, and friendly furry woodland creatures. He's building a nice cabin by the lake a couple of miles away from the party's keep in Dover.&lt;br /&gt;&lt;br /&gt;Thallion also has the uncanny knack for dying. He survived the early levels virtually unscathed, but since achieving 10th level has died quite a few times. The first time, he was killed by a juggernaut, then a phantasmal killer in the form of a juggernaut, a fire giant, a black dragon, and who knows what will be next...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Vallan - 14th level Cleric/Barbarian/Fighter (dwarf)&lt;br /&gt;&lt;/strong&gt;Although Vallan is the party's only full-time healer, he doesn't consider himself "that" type of cleric. He's equal parts butt-kicker and healer. Although he does spread around that healing touch when the party gets into dire situations.&lt;br /&gt;&lt;br /&gt;Vallan is a modern dwarf unencumbered by dwarvish traditions. Not only does he like to bathe, his ring of Swimming makes him a very strong swimmer. He also fancies himself a spider, climbing walls with the greatest of ease.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Zook - 14th level Wizard/Alienist (gnome)&lt;br /&gt;&lt;/strong&gt;Zook is a gnomish wizard with the knack for summoning creatures of great power just at the most inconvenient time -- or summoning weak creatures that a easily destroyed by their enemies. However, when this high level wizard finally connects, he can do quite a lot with damage from fireball or chain lightning, support spells like invisibility, cat's grace, and teleport, and monsters summoned from thin air.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109479573535874294?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109479573535874294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109479573535874294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109479573535874294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109479573535874294'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/dnd-cast-of-characters.html' title='DnD: The Cast of Characters'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109538457434122474</id><published>2004-09-16T18:23:00.000-07:00</published><updated>2004-09-16T18:29:34.340-07:00</updated><title type='text'>MISC: And Now For Futurama</title><content type='html'>Well, I couldn't talk about the Simpsons without also mentioning a little something about Futurama. Here's a link to the &lt;a href="http://www.progressiveboink.com/archive/futurama.htm"&gt;25 Best Futurama Moments Ever&lt;/a&gt;. If you're a big fan (and I know that you are), give it a try.&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://www.wilwheaton.net/mt/archives/001688.php"&gt;Wil Wheaton&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109538457434122474?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109538457434122474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109538457434122474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109538457434122474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109538457434122474'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/misc-and-now-for-futurama.html' title='MISC: And Now For Futurama'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109529739716230694</id><published>2004-09-15T18:13:00.000-07:00</published><updated>2004-09-15T18:16:37.163-07:00</updated><title type='text'>MISC: Map of Simpson's Springfield</title><content type='html'>Here's a &lt;a href="http://www.csupomona.edu/~jelerma/springfield/map/index.html"&gt;link to a cool map site&lt;/a&gt; that contains detailed (very detailed, probably way too much) maps of the Springfield that &lt;a href="http://www.thesimpsons.com"&gt;the Simpsons&lt;/a&gt; live in. It's quite entertaining...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109529739716230694?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109529739716230694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109529739716230694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109529739716230694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109529739716230694'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/misc-map-of-simpsons-springfield.html' title='MISC: Map of Simpson&apos;s Springfield'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109511379494096858</id><published>2004-09-13T15:30:00.000-07:00</published><updated>2004-09-13T15:30:46.973-07:00</updated><title type='text'>.NET: Math Calculations in Programming</title><content type='html'>Justin Rogers put together several posts in a series about the mathematics needed for drawing and layout in .NET. He discusses several interesting topics (with code examples) for things like: aspect ratio, centering, bounding calculation etc. I can't wait for more...&lt;br /&gt;&lt;br /&gt;&lt;a id="ArchiveMonth.ascx_Days_Entries__ctl14_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/12/213429.aspx"&gt;Math: A bi-weekly journal describing the use of math in solving programming problems&lt;/a&gt;&lt;br /&gt;&lt;a id="viewpost.ascx_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/15/214774.aspx"&gt;Math Installment #1: Image layout logic&lt;/a&gt;&lt;a href="http://weblogs.asp.net/justin_rogers/archive/2004/08/15/214774.aspx"&gt; &lt;/a&gt;&lt;br /&gt;&lt;a id="ArchiveMonth.ascx_Days_Entries__ctl12_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/20/217716.aspx"&gt;Math Installment #2: I needed some circular oriented text&lt;/a&gt;&lt;br /&gt;&lt;a id="ArchiveMonth.ascx_Days_Entries__ctl11_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/21/218174.aspx"&gt;Math Installment #3: A quick look at wavy text&lt;/a&gt;&lt;br /&gt;&lt;a id="ArchiveMonth.ascx_Days_Entries__ctl8_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/24/219317.aspx"&gt;Math Installment #4: Bounding Regions&lt;/a&gt;&lt;br /&gt;&lt;a id="ArchiveMonth.ascx_Days_Entries__ctl9_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/23/218788.aspx"&gt;Math Quickie: Relationship between arc distance and linear distance.&lt;/a&gt;&lt;br /&gt;&lt;a id="viewpost.ascx_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/08/28/222065.aspx"&gt;Math Quickie: Centering&lt;/a&gt;&lt;br /&gt;&lt;a id="_7d9bb65b625_HomePageDays_DaysList__ctl0_DayItem_DayList__ctl0_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/09/13/228656.aspx"&gt;Math Quickie: Introduction to combination formulas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109511379494096858?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109511379494096858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109511379494096858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109511379494096858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109511379494096858'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/net-math-calculations-in-programming.html' title='.NET: Math Calculations in Programming'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109477816502377524</id><published>2004-09-10T17:06:00.000-07:00</published><updated>2004-09-10T17:17:10.486-07:00</updated><title type='text'>DnD: Posts About Dungeon and Dragons</title><content type='html'>For the most part, I haven't discussed much about my D&amp;D playing, but I think I'm going to start doing more blogging about that. So, I guess the focus of my blog will be: .NET coding, books, Dungeons and Dragons, and other random stuff.&lt;br /&gt;&lt;br /&gt;I've been playing &lt;a href="http://www.wizards.com/default.asp?x=dnd/welcome"&gt;D&amp;amp;D&lt;/a&gt; on and off for about 20 years now. Is it still only considered a hobby after that long, or something else? Luckily, I had a geeky major and am surrounded by geeks at work, so I've always been able to find people to play with. The core of the current group I'm with has been playing together for about 11 years - several different versions, game worlds, and DMs. For most of that time, I've been the DM - minus some time I took off to rejuvenate my joy of the game. But, I'm back in the DM's chair again.&lt;br /&gt;&lt;br /&gt;When 3rd edition came out, we were all very excited to play it and started a new campaign. We've been playing our current campaign for close to 3 years, and the party is averaging about 15th level. Our group is big: 8 players and 1 DM, especially considering that D&amp;D 3E is set up around groups of 4 players. We tend to play every two weeks on Wednesday evening. We play in a conference room at work after everyone has left for the day.&lt;br /&gt;&lt;br /&gt;The conference room is a great venue for D&amp;amp;D. First, no wives or girlfriends get upset about having a bunch of loud guys over every two weeks. There's free drinks. Whiteboards line the walls. Lots of table space. Projector that we use with a &lt;a href="http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=dc2e778e-8c9c-4be8-be0d-923dd4b3643f"&gt;laptop to run the encounters&lt;/a&gt;. Other rooms nearby to use for one-on-one conversations. Etc...&lt;br /&gt;&lt;br /&gt;The world we play in is called Solace and the continent the party inhabits is known as the Kingdoms of Solace. I created this world many years ago and have fleshed it out as we've adventured. Each campaign provides history for the next ones. Old characters become heroes or myths. But, I'm not terribly imaginative, so most of the place names are ones I've read in fantasy books. As I talk more about these places, I'm sure some of them may sound familiar to you.&lt;br /&gt;&lt;br /&gt;In future posts, I'll talk about what characters the group is playing, interesting rules thoughts or questions, new things that I come up with for our game, and recaps of interesting things that happen during our gaming sessions.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109477816502377524?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109477816502377524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109477816502377524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109477816502377524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109477816502377524'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/dnd-posts-about-dungeon-and-dragons.html' title='DnD: Posts About Dungeon and Dragons'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109466774340798842</id><published>2004-09-08T11:19:00.000-07:00</published><updated>2004-09-08T11:22:23.406-07:00</updated><title type='text'>MISC: Wil Wheaton Is Cooler Than I Thought</title><content type='html'>I just started reading, &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/059600768X/ref=pd_sim_books_1/002-2560580-2346412?v=glance&amp;amp;s=books"&gt;Just A Geek&lt;/a&gt;. Wil got &lt;a href="http://www.neilgaiman.com/journal/journal.asp"&gt;Neil Gaiman&lt;/a&gt; to write the foreward for his book. Holy, crap, that is sooooo cool.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109466774340798842?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109466774340798842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109466774340798842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109466774340798842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109466774340798842'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/misc-wil-wheaton-is-cooler-than-i.html' title='MISC: Wil Wheaton Is Cooler Than I Thought'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109423845009019428</id><published>2004-09-07T17:56:00.000-07:00</published><updated>2004-09-08T11:12:20.553-07:00</updated><title type='text'>BOOK: Dancing Barefoot</title><content type='html'>In &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0596006748/qid=1094158505/sr=ka-1/ref=pd_ka_1/002-2560580-2346412"&gt;Dancing Barefoot&lt;/a&gt;, Wil Wheaton relates some stories of his life. There were a couple of tales that I found to be quite poignant -- one about visiting his aunt's house after her death and one about playing hide-and-seek with his kids. Both were quite good but for different reasons. In the first, Wil did an excellent job of describing the loss he felt. In the second, I could see myself doing the same thing on a warm summer night...&lt;br /&gt;&lt;br /&gt;And, of course, there's the chapter on his coming to terms with his &lt;a href="http://www.startrek.com/startrek/view/series/TNG/character/1112484.html"&gt;Star Trek past&lt;/a&gt;. This was by far the longest, and I thought the best of the stories. I always liked Wesley Crusher (I often pictured myself being the young ensign saving the day), but there were many Star Trek fans that really disliked that character (I never fully understood why). And, it appears that many of them translated that dislike into a dislike for Wil. Unfair? Oh yeah, but that was life for him at the time. Nice to see Wil has gotten over it and can now appreciate a good Star Trek convention.&lt;br /&gt;&lt;br /&gt;The part about his first meeting with William Shatner was classic. It made you feel for Wil having to deal with being disappointed by someone he idolized. All in all interesting stories, I can't wait to start reading his next book: &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/059600768X/ref=pd_sim_books_1/002-2560580-2346412?v=glance&amp;amp;s=books"&gt;Just a Geek&lt;/a&gt; (I plan to start it tonight).&lt;br /&gt;&lt;br /&gt;Oh, and in case you missed it (or been dead to the blogging world), Wil has a blog: &lt;a href="http://www.wilwheaton.net"&gt;http://www.wilwheaton.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109423845009019428?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109423845009019428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109423845009019428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109423845009019428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109423845009019428'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/book-dancing-barefoot.html' title='BOOK: Dancing Barefoot'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109397574585406387</id><published>2004-09-01T18:40:00.000-07:00</published><updated>2004-09-01T18:58:22.030-07:00</updated><title type='text'>BOOK: Tuesdays With Morrie</title><content type='html'>This books has been out for a while, and I had heard very good things about it but haven't had a chance to read it until now.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/076790592X/qid=1093117947/sr=ka-1/ref=pd_ka_1/103-7762511-3263037"&gt;'Tuesdays With Morrie&lt;/a&gt;' is definitely a good book. Reading the passing of Morrie's life and his fight with ALS is touching. And, his approach to is coming death was inspiring. Not only to the readers, but it was obviously inspiring to the author, Mitch Albom, as well.&lt;br /&gt;&lt;br /&gt;If you haven't read it, you probably should. It's short and sweet, so you have no excuse.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109397574585406387?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109397574585406387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109397574585406387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109397574585406387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109397574585406387'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/09/book-tuesdays-with-morrie.html' title='BOOK: Tuesdays With Morrie'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109397524621666738</id><published>2004-08-31T10:42:00.000-07:00</published><updated>2004-08-31T11:00:46.216-07:00</updated><title type='text'>.NET: More on Configuration Handlers</title><content type='html'>After my last post on &lt;a href="http://darthpedro.blogspot.com/2004/08/net-custom-configuration-handler.html"&gt;configuration&lt;/a&gt;, I looked into other configuration handlers and found &lt;a href="http://www.pluralsight.com/craig/articleview.aspx/CLR%20Workings/The%20Last%20Configuration%20Section%20Handler%20I.xml"&gt;Craig's - last config section handler you'll ever need&lt;/a&gt;. This is a cool handler because it maps a config section to a class in your assembly. When that section handler is parsed, your class is called to handle it. Therefore, you can create a strongly-typed class to handle reading and writing of the config section, and then use that class to access the config data at runtime.&lt;br /&gt;&lt;br /&gt;Along with this post, I found another one by Phil Haack that extends Craig's handler (I guess it wasn't really the last one :) to provide the ability to &lt;a href="http://www.codeproject.com/csharp/CsConfigSechandler.asp"&gt;listen to changes in the config entries&lt;/a&gt;, so that your class gets updated and your application can do something in response.&lt;br /&gt;&lt;br /&gt;Both are very good examples of creating config section handlers. When I worked on some WinForms projects in the past, rather than using section handlers, I've used just a custom xml file to serialize my &lt;strong&gt;Config&lt;/strong&gt; class into, but is in no way tied to config sections. I might post that as a simpler alternative for folks that don't want to deal with config handlers but do want to save application settings...&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109397524621666738?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109397524621666738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109397524621666738' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109397524621666738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109397524621666738'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-more-on-configuration-handlers.html' title='.NET: More on Configuration Handlers'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109388944545991025</id><published>2004-08-30T11:04:00.000-07:00</published><updated>2004-08-30T11:10:45.460-07:00</updated><title type='text'>MISC: Finally on Gmail</title><content type='html'>Thanks to &lt;a href="http://coolthingoftheday.blogspot.com/2004/08/five-more-gmail-invites-to-give-out.html"&gt;Greg Duncan&lt;/a&gt;, I finally got an invitation for a Gmail account after several close calls. Google must be giving them out like candy these days, because after Greg's, I got two other invitations from other people.&lt;br /&gt;&lt;br /&gt;And, it looks like Google wants me to hand some out, too. I have 2 Gmail invites for the first two people to leave comments on this post.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109388944545991025?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109388944545991025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109388944545991025' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109388944545991025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109388944545991025'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/misc-finally-on-gmail.html' title='MISC: Finally on Gmail'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109362581435982264</id><published>2004-08-27T09:50:00.000-07:00</published><updated>2004-08-27T09:56:54.360-07:00</updated><title type='text'>.NET: Creating Outlook Appointments in ASP.NET</title><content type='html'>I don't usually post much on ASP.NET related topics. It's not something I work with very often, so I leave that for others to discuss. But, this topic was so cool, it even got my attention.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetjunkies.com/WebLog/ewise/"&gt;Eric Wise &lt;/a&gt;posted two articles on how to create outlook appointments from an ASP.NET page. With this code, you can create a webpage that will put any appointment you want onto the user's Outlook calendar. Pretty darn cool...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnetjunkies.com/WebLog/ewise/archive/2004/08/26/23382.aspx"&gt;HowTo: Create an Outlook Appointment Item in ASP .NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dotnetjunkies.com/WebLog/ewise/archive/2004/08/26/23421.aspx"&gt;HowTo: Create an outlook appointment in ASP .NET Part II&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109362581435982264?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109362581435982264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109362581435982264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109362581435982264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109362581435982264'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-creating-outlook-appointments-in.html' title='.NET: Creating Outlook Appointments in ASP.NET'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109353939273799886</id><published>2004-08-26T09:43:00.000-07:00</published><updated>2004-08-26T09:56:32.740-07:00</updated><title type='text'>.NET: Custom Configuration Handler</title><content type='html'>Here's a good description on how to &lt;a href="http://blogs.msdn.com/kaevans/archive/2004/08/19/217177.aspx"&gt;create and use a custom configuration handler&lt;/a&gt; from within your Windows Form application. You can use this to save application settings data that's specific to your application, but do it in the same .config file that the .NET Framework uses to save it's settings information.&lt;br /&gt;&lt;br /&gt;This post shows how to persist name value pairs and dictionaries, but you can also do other classes as well.&lt;br /&gt;&lt;br /&gt;[via &lt;a href="http://blogs.msdn.com/kaevans/"&gt;Kirk Allen Evans&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109353939273799886?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109353939273799886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109353939273799886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109353939273799886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109353939273799886'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-custom-configuration-handler.html' title='.NET: Custom Configuration Handler'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109311800299993465</id><published>2004-08-21T12:32:00.000-07:00</published><updated>2004-08-21T12:53:23.000-07:00</updated><title type='text'>BOOK: The Rule of Four</title><content type='html'>&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0385337116/qid%3D1091642711/sr%3D2-1/ref%3Dsr%5F2%5F1/103-7762511-3263037"&gt;The Rule of Four&lt;/a&gt; started off as a good book. I enjoyed the character development of Tom and Paul, the main protangonists in the novel. But, the authors left the other two friends more a background characters until the end - which was weird because they had important roles in the completion of the quest.&lt;br /&gt;&lt;br /&gt;Tom and Paul's attempts to solve the riddles of the &lt;em&gt;Hypnerotomachia&lt;/em&gt; were really interesting, and the way the authors showed the development of their relationship worked really well. You were always pulling for these to guys throughout the entire book. Plus there were the adults that were "helping" Paul in his search. They turned out to be using Paul in different ways. One trying to steal the secrets for himself and the other living vicariously through Paul as he gets closer to the answers he could never find.&lt;br /&gt;&lt;br /&gt;Tom's struggle to pull away from the temptation of the book which consumed his father's life as well was gripping. The theme of trying to avoid repeating your father's mistakes and doing better resonated pretty well throughout the book. Including at the end, when Tom realized that by not following his passion for the book (the way his father had), he wasn't living his life to the fullest.&lt;br /&gt;&lt;br /&gt;Spoilers:&lt;br /&gt;I didn't really enjoy the ending though. With Paul's supposed death in the burning house, I felt like the secret would die with him. The book's secrets live on to tempt another generation. But, the final chapter reveals that Paul survived and moved to Italy to find the treasure trove laid out in the book. But, the authors don't explain why Paul let everyone believe he was dead for over 5 years. And, the whole disintegration of the four friends' relationships wasn't fully explained either. It left me wondering why Gil stopped talking to Charlie after his accident, why Gil went away never to be heard from again, etc.&lt;br /&gt;&lt;br /&gt;Overall, it was a decent book. The start and build up in the book were good. The ending was mediocre.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109311800299993465?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109311800299993465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109311800299993465' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109311800299993465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109311800299993465'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/book-rule-of-four.html' title='BOOK: The Rule of Four'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109302168138065843</id><published>2004-08-20T10:01:00.000-07:00</published><updated>2004-08-20T10:08:01.380-07:00</updated><title type='text'>.NET: Documentor Tool</title><content type='html'>Tools are great. They remove some of the coding monotony we have to deal with on a daily basis, so I always like to forward on new tools (well new to me anyway). &lt;a href="http://dotnetjunkies.com/WebLog/alan.dean/archive/2004/08/18/22469.aspx"&gt;Alan Dean talked about Lutz Roeder's Documentor&lt;/a&gt;. It lets you preview what your XML comment will look like, once it's compiled, from the markup that you put in code.&lt;br /&gt;&lt;br /&gt;I've used Lutz's other tool, .NET Reflector, but hadn't seen this one before. Looks very interesting, I can't wait to give it a try.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109302168138065843?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109302168138065843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109302168138065843' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109302168138065843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109302168138065843'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-documentor-tool.html' title='.NET: Documentor Tool'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109276832702314806</id><published>2004-08-17T11:43:00.000-07:00</published><updated>2004-08-17T11:45:27.023-07:00</updated><title type='text'>.NET: Best Kept Secrets in .NET</title><content type='html'>&lt;a href="http://dotnetjunkies.com/WebLog/ChristopherBowen/archive/2004/08/16/22193.aspx"&gt;Christopher Bowen posted a great list of tips and tricks for .NET and the VS IDE&lt;/a&gt; that you may not have seen.  Go check it out -- there's some interesting stuff there.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109276832702314806?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109276832702314806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109276832702314806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109276832702314806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109276832702314806'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-best-kept-secrets-in-net.html' title='.NET: Best Kept Secrets in .NET'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109252778041894458</id><published>2004-08-14T16:50:00.000-07:00</published><updated>2004-08-14T16:56:20.416-07:00</updated><title type='text'>MISC: Ever Wonder What It Felt Like to be an Olympian?</title><content type='html'>Well, Scott Goldblatt, a swimmer on the US 4x200m relay has set up a &lt;a href="http://feeds.feedburner.com/goldblatt"&gt;blog&lt;/a&gt;, a &lt;a href="http://www.goldblatt.info/olympicjournal.htm"&gt;journal&lt;/a&gt;, and &lt;a href="http://www.goldblatt.info/cgi-bin/pro/emAlbum.cgi"&gt;photo albums&lt;/a&gt; of his experience traveling to Greece, training, and hopefully what the competition means to him (and the rest of the US Swim team).&lt;br /&gt;&lt;br /&gt;Although the journal doesn't have an RSS feed, I thought it was the most interesting section of the site, so I'll have to come back and check on his progress (even if it doesn't come up in my news aggregator).&lt;br /&gt;&lt;br /&gt;Do you know of any other Olympic athletes that are blogging?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109252778041894458?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109252778041894458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109252778041894458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109252778041894458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109252778041894458'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/misc-ever-wonder-what-it-felt-like-to.html' title='MISC: Ever Wonder What It Felt Like to be an Olympian?'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109252008901493718</id><published>2004-08-14T14:45:00.000-07:00</published><updated>2004-08-14T14:48:09.013-07:00</updated><title type='text'>.NET: Programming Myths</title><content type='html'>Here's an entertaining &lt;a href="http://weblogs.asp.net/jarnold/archive/2004/08/10/211969.aspx"&gt;list of superstitions .NET developers&lt;/a&gt; sometimes have. &lt;a href="http://weblogs.asp.net/jarnold/"&gt;Jim Arnold&lt;/a&gt; did a great job putting the list together. It's quite funny...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109252008901493718?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109252008901493718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109252008901493718' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109252008901493718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109252008901493718'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-programming-myths.html' title='.NET: Programming Myths'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109184139003576199</id><published>2004-08-10T18:35:00.000-07:00</published><updated>2004-08-10T18:46:07.666-07:00</updated><title type='text'>.NET: XML Serialization Base Class</title><content type='html'>Working on WinForms applications, I've written several projects that persist information out to a file. I have found that using XML serialization to save and load the file is an easy way of mapping a class to an XML document.&lt;br /&gt;&lt;br /&gt;Serialization in the .NET Framework is very powerful and really pretty easy to implement. Although multiple serializers are available, like XML, binary, text, etc, I've used the XML method most often. Therefore, I created a base class called &lt;strong&gt;XmlPersistedClass&lt;/strong&gt; that I use in projects that want to read and write XML files. The class implements &lt;strong&gt;Save&lt;/strong&gt; and &lt;strong&gt;Load&lt;/strong&gt; methods which encapsulate all of the code required to interact with serializers, readers, and writers.&lt;br /&gt;&lt;br /&gt;Here's what it looks like:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.IO;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Xml;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; System.Xml.Serialization;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;namespace&lt;/span&gt;&lt;span style="color: #000000; "&gt; MyClassLibrary&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; XmlPersistedClass allows derieved classes to provide Save/Load functionality&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; to and from xml files.  The methods are generic and can be overridden or &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; overloaded to provide type specific versions. &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    [Serializable]&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;abstract&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; XmlPersistedClass&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Default constructor -- required for serialization.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; XmlPersistedClass()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Saves this class to xml at the specified filename.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;pathFilename&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Filename by which to save the class.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;classType&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;The type of the class to save.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;virtual&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Save(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; pathFilename, Type classType)&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; make sure the string and type are valid.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (pathFilename &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;||&lt;/span&gt;&lt;span style="color: #000000; "&gt; classType &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;throw&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArgumentNullException();&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (pathFilename.Length &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;throw&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArgumentException();&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Create an instance of the XmlSerializer class; specify the type of object to serialize.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;            XmlSerializer serializer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; XmlSerializer(classType);&lt;br /&gt;            TextWriter writer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(pathFilename);&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Serialize this object, and close the TextWriter.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;            serializer.Serialize(writer, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;this&lt;/span&gt;&lt;span style="color: #000000; "&gt;);&lt;br /&gt;            writer.Close();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Loads a class from xml at the specified filename.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;pathFilename&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Filename from which to load the class&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;classType&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;The expected type of the class to load.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Returns the class with data loaded from the file.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; Load(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; pathFilename, Type classType)&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; make sure the string and type are valid.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (pathFilename &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;||&lt;/span&gt;&lt;span style="color: #000000; "&gt; classType &lt;/span&gt;&lt;span style="color: #000000; "&gt;==&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;throw&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArgumentNullException();&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (pathFilename.Length &lt;/span&gt;&lt;span style="color: #000000; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;throw&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArgumentException();&lt;br /&gt;&lt;br /&gt;            FileStream stream &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;try&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Create an instance of the XmlSerializer class; &lt;br /&gt;                specify the type of object to be deserialized.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;                XmlSerializer serializer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; XmlSerializer(classType);&lt;br /&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; A FileStream is needed to read the XML document.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;                stream &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileStream(pathFilename, FileMode.Open);&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Use the Deserialize method to restore the object's state with data from the XML document.&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; objLoaded &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; serializer.Deserialize(stream);&lt;br /&gt;                stream.Close();&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; objLoaded;&lt;br /&gt;            }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;catch&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileNotFoundException)&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; do nothing, but return null...&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;finally&lt;/span&gt;&lt;span style="color: #000000; "&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (stream &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;null&lt;/span&gt;&lt;span style="color: #000000; "&gt;)&lt;br /&gt;                {&lt;br /&gt;                    stream.Close();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;As you can see this is an abstract class, so that to use it you must derive your own class from it. The &lt;strong&gt;Save&lt;/strong&gt; method instantiates an &lt;strong&gt;XmlSerializer&lt;/strong&gt; with the specified class type, then uses a &lt;strong&gt;TextWriter&lt;/strong&gt; to serialize this class into. The &lt;strong&gt;Load&lt;/strong&gt; method also uses an &lt;strong&gt;XmlSerializer&lt;/strong&gt; and then a &lt;strong&gt;TextReader&lt;/strong&gt; to create an instance of the class from what has been saved in the file.&lt;br /&gt;&lt;br /&gt;The following is an example of creating a derived class:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Class that derives from XmlPersistedClass and adds properties to be&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; persisted. Then adds type-specific Load and Save methods.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; MyTestClass : XmlPersistedClass&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; private members&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; number &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;private&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArrayList list &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArrayList();&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; public properties&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        [XmlAttribute] &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; Number&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt; { &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; number; }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt; { number &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value; }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        [XmlArray] &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; ArrayList List&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;get&lt;/span&gt;&lt;span style="color: #000000; "&gt; { &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; list; }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;set&lt;/span&gt;&lt;span style="color: #000000; "&gt; { list &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; value; }&lt;br /&gt;        }&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Default constructor - required for serialization.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; MyTestClass()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Saves this class to the specified file.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;fileName&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Full path to file.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;virtual&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Save(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; fileName)&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;base&lt;/span&gt;&lt;span style="color: #000000; "&gt;.Save(fileName, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(MyTestClass));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; Loads a new instance of this class from the specified file.&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080; "&gt;///&lt;/span&gt;&lt;span style="color: #008000; "&gt; &lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;param name=&amp;quot;fileName&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000; "&gt;Full path to file.&lt;/span&gt;&lt;span style="color: #808080; "&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;public&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; MyTestClass Load(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; fileName)&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;return&lt;/span&gt;&lt;span style="color: #000000; "&gt; (MyTestClass)XmlPersistedClass.Load(fileName, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;typeof&lt;/span&gt;&lt;span style="color: #000000; "&gt;(MyTestClass));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;In the code above, you'll notice that the &lt;strong&gt;[Serializable]&lt;/strong&gt; attribute needs to be on the class, each property needs to have an XML serialization attribute as well, and you need a public default constructor for the class. If you don't specify an attribute for your property, then it defaults to &lt;strong&gt;[XmlElement]&lt;/strong&gt;. However, &lt;strong&gt;[XmlAttribute]&lt;/strong&gt;, &lt;strong&gt;[XmlArray]&lt;/strong&gt;, and &lt;strong&gt;[XmlIgnore]&lt;/strong&gt; are also very useful. Finally, XML serialization only persists property or data members that are public and have getters and setters. If your property doesn't follow these guidelines, then it won't be saved.&lt;br /&gt;&lt;br /&gt;Usually, I overload the &lt;strong&gt;Save&lt;/strong&gt; and &lt;strong&gt;Load&lt;/strong&gt; methods to be type-specific rather than requiring types to be passed into those methods. Finally, this is a good example of methods that could really benefit from the &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/csharp_generics.asp"&gt;Generics functionality coming out in Visual Studio 2005&lt;/a&gt; -- at some point, I'll update the class to take advantage of that.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109184139003576199?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109184139003576199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109184139003576199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109184139003576199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109184139003576199'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-xml-serialization-base-class.html' title='.NET: XML Serialization Base Class'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109210187389373336</id><published>2004-08-09T18:31:00.000-07:00</published><updated>2004-08-09T18:38:39.243-07:00</updated><title type='text'>.NET: System Tray Applications</title><content type='html'>Here's a quick tidbit from &lt;a href="http://weblogs.asp.net/mhawley"&gt;Matt Hawley&lt;/a&gt;. If you're writing a Windows app that &lt;a href="http://weblogs.asp.net/mhawley/archive/2004/08/05/209198.aspx"&gt;minimizes to the system tray&lt;/a&gt;, he describes how to make that work so that users can't Alt+Tab to it.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109210187389373336?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109210187389373336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109210187389373336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109210187389373336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109210187389373336'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-system-tray-applications.html' title='.NET: System Tray Applications'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109181061834035350</id><published>2004-08-06T09:39:00.000-07:00</published><updated>2004-08-06T09:43:38.340-07:00</updated><title type='text'>MISC: Edit in Notepad Command</title><content type='html'>&lt;a href="http://weblogs.asp.net/rweigelt/"&gt;Roland Weigelt&lt;/a&gt; recently posted a &lt;a href="http://weblogs.asp.net/rweigelt/archive/2004/08/05/209276.aspx"&gt;useful little registry file that lets you add an 'Edit in Notepad' menu item to the Windows Explorer right-click menu&lt;/a&gt;. This is a useful tool for being able to get a simple editor on any file on your hard-drive. Also, it shows how you could do this for other editors as well.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109181061834035350?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109181061834035350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109181061834035350' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109181061834035350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109181061834035350'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/misc-edit-in-notepad-command.html' title='MISC: Edit in Notepad Command'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109172796869919013</id><published>2004-08-05T10:43:00.000-07:00</published><updated>2004-08-05T10:47:54.330-07:00</updated><title type='text'>MISC: Some Words Always Look Misspelled</title><content type='html'>Is it just me or are there words that always look misspelled regards if they're correct or not? I was just writing something with the word inch in it. No matter how much I looked at it, the word just looked wrong.&lt;br /&gt;&lt;br /&gt;Hmm... Maybe it IS just me.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109172796869919013?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109172796869919013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109172796869919013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109172796869919013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109172796869919013'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/misc-some-words-always-look-misspelled.html' title='MISC: Some Words Always Look Misspelled'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109164965551864195</id><published>2004-08-04T12:55:00.000-07:00</published><updated>2004-08-04T13:00:55.520-07:00</updated><title type='text'>BOOK: Wiki on Books and Authors</title><content type='html'>I love reading and am a big fan of novels, so I was excited when a happened upon this wiki by chance: &lt;a href="http://bookshelved.org/cgi-bin/wiki.pl?FrontPage"&gt;Bookshelved Wiki&lt;/a&gt;. This wiki allows users to search for book titles and authors and find what other readers think about that particular book or author. Anyone is allowed to update the wiki with their own comments.&lt;br /&gt;&lt;br /&gt;There are lots of interesting comments on there about books of every type.  And, if one doesn't exist, you can just create your own page for it. It also appears to allow user to create their own reading list, but I haven't had a chance to look into creating one of my own yet.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109164965551864195?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109164965551864195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109164965551864195' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109164965551864195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109164965551864195'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/book-wiki-on-books-and-authors.html' title='BOOK: Wiki on Books and Authors'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109081747424735210</id><published>2004-08-03T18:05:00.000-07:00</published><updated>2004-08-03T18:11:38.626-07:00</updated><title type='text'>.NET: Loading Resource Strings in a ClassLibrary</title><content type='html'>I just started working on a class library and one of the first things that came up was using a string resource from that assembly rather than a hard-coded string. It's always a good idea to start new projects with localization in mind, that way you don't have to go back and retroactively do it. To that end, I developed a little helper class that lets you find the resources in a class library.&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Resources;&lt;br /&gt;using System.Globalization;&lt;br /&gt;&lt;br /&gt;namespace MyClassLibrary&lt;br /&gt;{&lt;br /&gt;  /// &amp;lt;summary&amp;gt;&lt;br /&gt;  /// Manages localized string resources for the DesignSurface.&lt;br /&gt;  /// &amp;lt;/summary&amp;gt;&lt;br /&gt;  internal sealed class ResourceStringManager&lt;br /&gt;  {&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Constructor - for the singleton pattern it's made private.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	private ResourceStringManager()&lt;br /&gt;	{&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	static ResourceManager instance = null;&lt;br /&gt;&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Singleton ResourceManager for the class library assembly.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	internal static ResourceManager Instance&lt;br /&gt;	{&lt;br /&gt;		get&lt;br /&gt;		{&lt;br /&gt;		    if (instance == null)&lt;br /&gt;		    {&lt;br /&gt;			lock (typeof(ResourceStringManager))&lt;br /&gt;			{&lt;br /&gt;			    if (instance == null)&lt;br /&gt;			    {&lt;br /&gt;				instance = new ResourceManager("MyClassLibrary.Strings",&lt;br /&gt;					  typeof(ResourceStringManager).Assembly);&lt;br /&gt;			    }&lt;br /&gt;			}&lt;br /&gt;		    }&lt;br /&gt;&lt;br /&gt;		    return instance;&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Convenience method for retrieving a string from the Resource Manager &lt;br /&gt;	/// without having to specify the CultureInfo.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	/// &amp;lt;param name="id"&amp;gt;String id to retrieve.&amp;lt;/param&amp;gt;&lt;br /&gt;	/// &amp;lt;returns&amp;gt;String in resource.&amp;lt;/returns&amp;gt;&lt;br /&gt;	internal static string GetString(string id)&lt;br /&gt;	{&lt;br /&gt;		return Instance.GetString(id, CultureInfo.CurrentUICulture);&lt;br /&gt;	}&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;The code is pretty straight-forward. It creates an instance of a &lt;strong&gt;ResourceManager&lt;/strong&gt; based on the name of the .resource section in the assembly and the type of this class, which it uses to locate the assembly. Although this particular class is focused on retrieving strings from the resource file, you can actually retrieve any type of resource: strings, icons, bitmaps, etc. The other interesting attribute of this class is that it's implemented as a &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/ImpSingletonInCsharp.asp?frame=true"&gt;Singleton pattern&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can use this class by calling:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;string displayText = ResourceStringManager.Instance.GetString("MyResourceString"); &lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You need to be sure that you've added a Strings.resx file to your project, added a resource string with the specified name ("MyResourceString"), and that you've done a full rebuild on the class library project. The full rebuild is sometimes needed because I've run into a couple of instances when just doing a build doesn't build in the resource file, if the project had been previously built without any resources in it.&lt;br /&gt;&lt;br /&gt;I have used similar resource classes in the past, but since I just ran into this requirement again, I thought it would be a good topic to blog about.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109081747424735210?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109081747424735210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109081747424735210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109081747424735210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109081747424735210'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/net-loading-resource-strings-in.html' title='.NET: Loading Resource Strings in a ClassLibrary'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109139954016659707</id><published>2004-08-02T13:20:00.000-07:00</published><updated>2004-08-02T13:22:53.390-07:00</updated><title type='text'>BOOK: Eragon</title><content type='html'>&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0375826688/qid=1089328435/sr=2-2/ref=sr_2_2/102-3391810-6595348"&gt;Eragon&lt;/a&gt; was based on an interesting premise --  a boy discovers a dragon's egg and when it hatches, he becomes a mythical dragon rider.  Something that hasn't happened in hundreds of years.  It's a typical Tolkien-esque fantasy novel where the journey from home to some distant land takes up the majority of the story and leads to most of the action in the book.  The races are the standard fare - humans, elves, dwarves, and dragons.  And, the book revolves mainly around the essence of the relationship between dragons and their human riders.&lt;br /&gt;&lt;br /&gt;It was generally a good book and a light read, but there's nothing new or distinct in the novel. However, it was written by &lt;a href="http://www.amazon.com/exec/obidos/search-handle-url/index=books&amp;field-author=Paolini%2C%20Christopher/104-2098395-5637501"&gt;Christopher Paolini&lt;/a&gt; when he was in his teens, and it's much better than anything I could have ever dreamed up and delivered while I was in high school.  And, I'm sure that each book in the series will become progressively better as his imagination and writing ability grow.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109139954016659707?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109139954016659707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109139954016659707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109139954016659707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109139954016659707'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/08/book-eragon.html' title='BOOK: Eragon'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109131047035767767</id><published>2004-07-31T14:32:00.000-07:00</published><updated>2004-07-31T14:47:50.356-07:00</updated><title type='text'>.NET: Interesting Conversion From ASP.NET to Smart Clients</title><content type='html'>I just read this &lt;a href="http://weblogs.asp.net/Klaus.Aschenbrenner/archive/2004/07/31/202991.aspx"&gt;interesting post&lt;/a&gt; from an ASP.NET proponent (&lt;a href="http://weblogs.asp.net/klaus.aschenbrenner/"&gt;Klaus Aschenbrenner&lt;/a&gt;) who is repenting his ways and seeing the benefits of smart client development with WinForms. It's good to see... :)&lt;br /&gt;&lt;br /&gt;Not every application needs to be a web application, especially for intranet applications within an enterprise. There are many instances where a WinForms application can be more responsive and easier to implement. However, until now, deployment of WinForms applications has been difficult, but with the ClickOnce feature in Visual Studio 2005, you will be able to easily deploy WinForms applications through a published URL.  The user just clicks the link and gets the application deployed down to their machine.  There are still caveats, like the right version of the .NET Framework needs to that machine, but that's just a one-time hit to get installed.&lt;br /&gt;&lt;br /&gt;But, with WinForms, ClickOnce, and additional GUI features coming in Longhorn, it looks like smarter client applications with connections to data stores and web services will become a viable option for enterprise applications -- perhaps even some applications deployed over the internet...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109131047035767767?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109131047035767767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109131047035767767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109131047035767767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109131047035767767'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-interesting-conversion-from-aspnet.html' title='.NET: Interesting Conversion From ASP.NET to Smart Clients'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109080059928827271</id><published>2004-07-28T09:52:00.000-07:00</published><updated>2004-07-28T10:11:00.553-07:00</updated><title type='text'>.NET: Descending Comparer</title><content type='html'>I was recently working on some code, and came upon an instance where I needed to sort an array of integers in descending order.&amp;nbsp; I looked at the &lt;strong&gt;Array.Sort&lt;/strong&gt; method, but that orders them in ascending order by default. So, I started looking for an &lt;strong&gt;IComparer&lt;/strong&gt; implementation that would sort in descending order.&amp;nbsp;Amazingly enough, it doesn't appear that the .NET Framework has a comparer to do that (at least not in v1 or v1.1 -- not sure about v2) . &lt;br /&gt;&lt;br /&gt;So, I decided to code one up myself.&amp;nbsp; It's actually a relatively simple concept but very useful. I created a &lt;strong&gt;DescendingComparer&lt;/strong&gt; class that implements the&amp;nbsp;&lt;strong&gt;IComparer&lt;/strong&gt; interface.&amp;nbsp; In its &lt;strong&gt;Compare&lt;/strong&gt; method, I just take the result of the default &lt;strong&gt;Comparer&lt;/strong&gt; class in the .NET Framework and multiple it by -1.&amp;nbsp; This causes the array to be sorted in descending order.&amp;nbsp; So, here's the code: &lt;br /&gt;&lt;code&gt;&lt;pre&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// DescendingComparer is a comparer class the orders items in descending order.&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;public sealed class DescendingComparer : IComparer&lt;br /&gt;{&lt;br /&gt;	#region private members&lt;br /&gt;	private CultureInfo culture;&lt;br /&gt;	private static DescendingComparer defaultCurrent = &lt;br /&gt;		new DescendingComparer(CultureInfo.CurrentCulture);&lt;br /&gt;	private static DescendingComparer defaultInvariant = &lt;br /&gt;		new DescendingComparer(CultureInfo.InvariantCulture);&lt;br /&gt;	#endregion&lt;br /&gt;&amp;nbsp;&lt;br /&gt;	#region public properties&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Gets the default DescendingComparer with its culture set to the CurrentCulture.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	public static DescendingComparer Default&lt;br /&gt;	{&lt;br /&gt;		get { return defaultCurrent; }&lt;br /&gt;	}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Gets the default DescendingComparer with its culture set to the InvariantCulture.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	public static DescendingComparer DefaultInvariant&lt;br /&gt;	{&lt;br /&gt;		get { return defaultInvariant; }&lt;br /&gt;	}&lt;br /&gt;	#endregion&lt;br /&gt;&amp;nbsp;&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Constructor that sets the CultureInfo for this class.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	/// &amp;lt;param name="culture"&amp;gt;Culture for this comparer.&amp;lt;/param&amp;gt;&lt;br /&gt;	public DescendingComparer(CultureInfo culture)&lt;br /&gt;	{&lt;br /&gt;		this.culture = culture;&lt;br /&gt;	}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;	/// &amp;lt;summary&amp;gt;&lt;br /&gt;	/// Performs a case-sensitive comparison of two objects of the same type and &lt;br /&gt;	/// returns a value indicating whether one is less than, equal to or greater &lt;br /&gt;	/// than the other.&lt;br /&gt;	/// &amp;lt;/summary&amp;gt;&lt;br /&gt;	/// &amp;lt;param name="a"&amp;gt;First object to compare.&amp;lt;/param&amp;gt;&lt;br /&gt;	/// &amp;lt;param name="b"&amp;gt;Second object to compare.&amp;lt;/param&amp;gt;&lt;br /&gt;	/// &amp;lt;returns&amp;gt;Negative number means a is greater than b; 0 means they're equal; &lt;br /&gt;	/// Positive number means a is less than b.&amp;lt;/returns&amp;gt;&lt;br /&gt;	public int Compare(object a, object b)&lt;br /&gt;	{&lt;br /&gt;		Comparer comparer = (culture == CultureInfo.InvariantCulture) ? &lt;br /&gt;			Comparer.DefaultInvariant : Comparer.Default;&lt;br /&gt;		return comparer.Compare(a, b) * -1;&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;Then, I use it by calling: &lt;br /&gt;&lt;pre&gt;	Array.Sort(myArray, DescendingComparer.DefaultInvariant); &lt;/pre&gt;&lt;br /&gt;And yeah, I know I could have just sorted the array and called &lt;strong&gt;Array.Reverse&lt;/strong&gt; to get it in the right order, but that just seemed like a lot of needless operations when this can be done more efficiently with the right comparer class. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109080059928827271?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109080059928827271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109080059928827271' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109080059928827271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109080059928827271'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-descending-comparer.html' title='.NET: Descending Comparer'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109079777490524018</id><published>2004-07-25T16:16:00.000-07:00</published><updated>2004-07-26T14:56:34.036-07:00</updated><title type='text'>MISC: Fun Game to Waste Time On</title><content type='html'>For a weekend reprieve, here's a link to a little online game that I've been hooked on for the last couple of weeks.&amp;nbsp; It's called &lt;a href="http://www.kingdomofloathing.com/"&gt;Kingdom of Loathing&lt;/a&gt; -- it's a&amp;nbsp;self-described comical RPG.&amp;nbsp; And, besides having lots of funny bits and gags, being a pretty simple page based game, and consisting entirely of stick figures, it appears to be highly addictive.&amp;nbsp; At least it has been for me... :)&lt;br /&gt;&lt;br /&gt;Give it a try, let me know what you think.&amp;nbsp; Once you've gotten your bearings in the game and are&amp;nbsp;interested in joining a clan, come over to the "Bandit's Outpost".&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109079777490524018?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109079777490524018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109079777490524018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109079777490524018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109079777490524018'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/misc-fun-game-to-waste-time-on.html' title='MISC: Fun Game to Waste Time On'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-109028743281069550</id><published>2004-07-19T18:27:00.000-07:00</published><updated>2004-07-19T18:37:12.810-07:00</updated><title type='text'>.NET: Designing an Online Poker Game</title><content type='html'>&lt;a href="http://weblogs.asp.net/Justin_Rogers/"&gt;Justin Rogers &lt;/a&gt;has been posting a series on the design that he's working for an online poker game and card games in general.&amp;nbsp; It's been very interesting reading so far as he's worked out issues of reuse for Deck and Hand classes, as well as how it would work for Poker and Solitaire games.&amp;nbsp; And, there's been some interesting comments on the posts too.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Here's a list of the relevant posts:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a id="_7f7d4a4340b_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl1_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/07/15/184245.aspx"&gt;Visual C# Express 2005: Creating a Poker Application, 1PM (PDT) Thursday, That's Today!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="_7f7d4a4340b_HomePageDays_DaysList__ctl3_DayItem_DayList__ctl0_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/07/15/184510.aspx"&gt;Visual C# Express 2005: Creating a Poker Application, Source Download&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="_7f7d4a4340b_HomePageDays_DaysList__ctl2_DayItem_DayList__ctl3_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/07/16/185679.aspx"&gt;Establishing a protocol for the networkable poker I'll be adding to over the next month or so.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="_7f7d4a4340b_HomePageDays_DaysList__ctl2_DayItem_DayList__ctl2_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/07/16/185740.aspx"&gt;Poker using the IM Protocol and Server as Client models... some more eye candy.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/Justin_Rogers/archive/2004/07/16/185965.aspx"&gt;Describing the limits of the generic Deck previously created for the Poker application.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a id="_7f7d4a4340b_HomePageDays_DaysList__ctl1_DayItem_DayList__ctl1_TitleUrl" href="http://weblogs.asp.net/justin_rogers/archive/2004/07/17/186068.aspx"&gt;A quick view of the CardManager class playing Solitaire... and it still plays Poker as well ;-)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-109028743281069550?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/109028743281069550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=109028743281069550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109028743281069550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/109028743281069550'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-designing-online-poker-game.html' title='.NET: Designing an Online Poker Game'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108994229636407556</id><published>2004-07-15T18:34:00.000-07:00</published><updated>2004-07-15T18:47:03.440-07:00</updated><title type='text'>.NET: Printer Margin Bounds in .NET</title><content type='html'>&lt;span style="font-family:verdana;"&gt;There's a very good &lt;a href="http://www.codeproject.com/"&gt;Code Project&lt;/a&gt; article by &lt;a href="http://www.codeproject.com/script/profile/whos_who.asp?id=536673"&gt;Philippe Leybaert&lt;/a&gt; on &lt;a href="http://www.codeproject.com/csharp/DotNetprinterbounds.asp"&gt;getting the appropriate printer margin bounds &lt;/a&gt;so that what you print from you WinForms application will appear correctly.&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;While &lt;strong&gt;PrintPageEventArgs&lt;/strong&gt; has a property &lt;strong&gt;MarginBounds&lt;/strong&gt;, this property doesn't account for the hard margins of your printer for left and right margins -- although they do appear to have the top and bottom margins right.&amp;nbsp; However, this article describes how you can get this information from the Windows API &lt;strong&gt;GetDeviceCaps&lt;/strong&gt;.&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;It'll be interesting to see if this is fixed in Whidbey.&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108994229636407556?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108994229636407556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108994229636407556' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108994229636407556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108994229636407556'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-printer-margin-bounds-in-net.html' title='.NET: Printer Margin Bounds in .NET'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108984808165044908</id><published>2004-07-14T16:34:00.000-07:00</published><updated>2004-07-14T17:13:32.590-07:00</updated><title type='text'>.NET: Web Services in Whidbey</title><content type='html'>Now that Visual Studio 2005 Beta is out, we're going to start seeing more information about the new Web Services features. Here's an &lt;a href=http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnvs05/html/wsnetfx2.asp&gt;MSDN article&lt;/a&gt; about what some of the new features are:&lt;ul&gt;&lt;li&gt;Proxy type sharing&lt;/li&gt;&lt;li&gt;More extensibility of XML serialization&lt;/li&gt;&lt;li&gt;Support for WS-I Basic Profile 1.0&lt;/li&gt;&lt;li&gt;Support for SOAP 1.2&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108984808165044908?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108984808165044908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108984808165044908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108984808165044908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108984808165044908'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-web-services-in-whidbe_108984808165044908.html' title='.NET: Web Services in Whidbey'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108973893756759183</id><published>2004-07-13T10:11:00.000-07:00</published><updated>2004-07-13T10:15:37.566-07:00</updated><title type='text'>MISC: Need Redmond Real Estate</title><content type='html'>Boy, I really wish I owned some real estate in Redmond near the Microsoft campus. The Seattle Times just reported that &lt;a href=http://seattlepi.nwsource.com/business/181830_eddie13.html&gt;Microsoft is planning to buy the Eddie Bauer campus for $38 million&lt;/a&gt;. Whoa...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108973893756759183?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108973893756759183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108973893756759183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108973893756759183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108973893756759183'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/misc-need-redmond-real-estate.html' title='MISC: Need Redmond Real Estate'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108949847415150388</id><published>2004-07-10T15:21:00.000-07:00</published><updated>2004-07-10T15:27:54.150-07:00</updated><title type='text'>.NET: New ASP.NET 2.0 controls</title><content type='html'>With the release of the VS 2005 Beta, I'm expecting that there will be a lot of talk about the new controls and features that can be found in this latest release. The first interesting post I ran across was from Ohad Israeli who &lt;a href=http://weblogs.asp.net/israelio/archive/2004/07/08/177179.aspx&gt;discussed the new security controls and pages in ASP.NET&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These new controls let you put login sections onto your website without having to code up all of the UI and logic for tracking the user. ASP.NET also includes functionality for creating new user accounts, retrieving forgotten passwords, and changing passwords. And, it appears that these controls have a fairly customizable look and feel. This should free up developers to use these controls rather than creating these typical features from scratch.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108949847415150388?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108949847415150388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108949847415150388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108949847415150388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108949847415150388'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-new-aspnet-20-controls.html' title='.NET: New ASP.NET 2.0 controls'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108941905308495779</id><published>2004-07-09T17:20:00.000-07:00</published><updated>2004-07-09T17:24:13.083-07:00</updated><title type='text'>.NET: Breaking Changes in Whidbey Beta 1</title><content type='html'>Here's an article that enumerates the &lt;a href=http://www.gotdotnet.com/team/changeinfo/Backwards1.1to2.0/default.aspx&gt;breaking changes&lt;/a&gt; that have been made between version 1.1 and the new Whidbey Beta.&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://blogs.msdn.com/brada/archive/2004/07/01/171209.aspx&gt;Brad Abrams&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108941905308495779?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108941905308495779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108941905308495779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108941905308495779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108941905308495779'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-breaking-changes-in-whidbey-beta-1.html' title='.NET: Breaking Changes in Whidbey Beta 1'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108941853506950073</id><published>2004-07-09T17:12:00.000-07:00</published><updated>2004-07-09T17:15:35.070-07:00</updated><title type='text'>.NET: Use of Equality and GetHashCode()</title><content type='html'>Here's an interesting post by Brendan Tompkins on the use of the &lt;a href=http://dotnetjunkies.com/WebLog/BsBlog/archive/2004/07/09/18700.aspx&gt;equality operators for your own class types and typed collections&lt;/a&gt;. If you're going to check for uniqueness in a collection based on anything other than the instance, then you're have to override the GetHashCode() and operator==, so that you can actually check based upon the instance data in the class.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108941853506950073?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108941853506950073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108941853506950073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108941853506950073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108941853506950073'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-use-of-equality-and-gethashcode.html' title='.NET: Use of Equality and GetHashCode()'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108932839589630442</id><published>2004-07-08T16:11:00.000-07:00</published><updated>2004-07-08T16:13:15.896-07:00</updated><title type='text'>BOOK: Plan of Attack</title><content type='html'>I just finished reading &lt;a href=http://www.amazon.com/exec/obidos/ASIN/074325547X/qid=1084983209/sr=2-1/ref=sr_2_1/104-5692322-4195150&gt;"Plan of Attack" by Bob Woodward&lt;/a&gt; over the long weekend. The book made some interesting points, but in the end didn't really change my view of what happened in the lead up to the Iraqi war.&lt;br /&gt;&lt;br /&gt;The most interesting chapters in the book were dedicated to the covert operations in Northern Iraq that were going on months before the war started. Some of the revelations about how they started a camp there and recruited intelligence help from within the Iraqi government were actually quite good. And, how they responded to intelligence about Saddam's whereabouts to try a early strike to get him. It was like reading some &lt;a href=http://www.amazon.com/exec/obidos/search-handle-url/index%3Dstripbooks%26field-keywords%3Dtom%2520clancy/102-3391810-6595348&gt;Tom Clancy novels&lt;/a&gt; (only better because it had real-world events as background).&lt;br /&gt;&lt;br /&gt;As for describing the war planning, Bob did a good job of describing the timeline, but it was kind of dry and slow-paced. And, there really weren't any major revelations. It basically described that the folks in the administration believed the intelligence they received from the CIA and UK and may have embellished the risk of weapons. However, congress reviewed some of that material and came to the same conclusion when they voted to give the president power to use force in Iraq. The fact that the war planning had been going on for over a year before the actual start wasn't surprising. I would hope that something of that magnitude was planned out well (and it may be that this had already been reported in other venues, so it lost the surprise factor for me).&lt;br /&gt;&lt;br /&gt;The one interesting point was that Dick Cheney was really the one with his mind set on attacking Iraq. President Bush actually went back and forth between war and diplomacy several times before making up his mind.&lt;br /&gt;&lt;br /&gt;Of course all of this needs to be taken with a grain of salt because Bob Woodward was given access to documents and people that the administration wanted him to have. It wasn't clear from the book how much external research he did in addition to that.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108932839589630442?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108932839589630442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108932839589630442' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108932839589630442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108932839589630442'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/book-plan-of-attack.html' title='BOOK: Plan of Attack'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108872856018954552</id><published>2004-07-01T17:28:00.000-07:00</published><updated>2004-07-01T17:37:27.540-07:00</updated><title type='text'>.NET: Class Designer Blog Discussions</title><content type='html'>Rakesh has made several posting about Class Designer and some of the tough decisions and trade-offs that they've had to make for the first release in Whidbey.  Here are some links to his discussion:&lt;ul&gt;&lt;li&gt;&lt;a href=http://blogs.msdn.com/rakeshna/archive/2004/06/23/164372.aspx&gt;Hard Decisions...&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=http://blogs.msdn.com/rakeshna/archive/2004/06/28/168388.aspx&gt;Hard Decisions (Contd..) &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=http://blogs.msdn.com/rakeshna/archive/2004/06/29/169126.aspx&gt;Our outlook&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=http://blogs.msdn.com/rakeshna/archive/2004/07/01/170993.aspx&gt;Overload Methods &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108872856018954552?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108872856018954552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108872856018954552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108872856018954552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108872856018954552'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/07/net-class-designer-blog-discussions.html' title='.NET: Class Designer Blog Discussions'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108862040911074236</id><published>2004-06-30T11:19:00.000-07:00</published><updated>2004-06-30T11:33:29.110-07:00</updated><title type='text'>MISC: Surprising Political Views</title><content type='html'>I try to steer clear of politics on my blog because it can quickly get bogged down into a flamefest for people with differing views. But, I was pleasantly surprised to see &lt;a href=http://archive.scripting.com/2004/06/30#mooresTactics&gt;Dave Winer's comments on Michael Moore and Fahrenheit 9/11&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dave basically says that he disagrees with the tactics that Moore is taking in trying to push his political agenda with this movie rather than presenting an honest documentary about terrorism and the war in Iraq. I think that presenting such an obviously skewed view is doing more harm than good to the democrats and Michael Moore.  In this &lt;a href=http://slate.msn.com/id/2102723&gt;article&lt;/a&gt;, Christopher Hitchens does a good job of refuting and questioning a lot of issues that Moore brings up in the movie. It's quite an interesting read.&lt;br /&gt;&lt;br /&gt;Like I said, I was surprised by Dave's view of this because in following his blog for a while, I would have thought that he was a Michael Moore supporter. It's nice to see that people can always surprise you.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108862040911074236?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108862040911074236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108862040911074236' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108862040911074236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108862040911074236'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/misc-surprising-political-views.html' title='MISC: Surprising Political Views'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108854156699756958</id><published>2004-06-29T13:31:00.000-07:00</published><updated>2004-06-29T13:39:26.996-07:00</updated><title type='text'>.NET: Screen-saver and RSS Sample</title><content type='html'>It appears that all of the bloggers on the Net are posting about the announcement of &lt;a href=http://lab.msdn.microsoft.com/vs2005&gt;Visual Studio 2005&lt;/a&gt;. I'll leave that for everyone else, since I already posted about it a few days ago...&lt;br /&gt;&lt;br /&gt;However, here's an interesting post from Dan Fernandez about an &lt;a href=http://blogs.msdn.com/danielfe/archive/2004/06/29/168449.aspx&gt;RSS Screen Saver Starter Kit in C# Express&lt;/a&gt;. It sounds like a very cool sample -- allowing you to discover how screen savers are written in C# and code for working with RSS feeds.  All very cool.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108854156699756958?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108854156699756958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108854156699756958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108854156699756958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108854156699756958'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-screen-saver-and-rss-sample.html' title='.NET: Screen-saver and RSS Sample'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108845124184767357</id><published>2004-06-28T12:28:00.000-07:00</published><updated>2004-06-28T12:34:01.846-07:00</updated><title type='text'>MISC: Bill Gates Reports on Anti-Spam Efforts</title><content type='html'>No, this isn't a link to Bill's first blog entry. It's actually a post of his executive emails that he sends to customers. &lt;a href=http://www.microsoft.com/mscorp/execmail/&gt;He's talking about the important anti-Spam work being done by MSN, Exchange, Outlook, and other groups at Microsoft&lt;/a&gt;. He also discusses the alliance with AOL, Yahoo, EarthLink, and Comcast that's targetting Spam producers worldwide.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108845124184767357?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108845124184767357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108845124184767357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108845124184767357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108845124184767357'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/misc-bill-gates-reports-on-anti-spam.html' title='MISC: Bill Gates Reports on Anti-Spam Efforts'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108821628573641639</id><published>2004-06-25T19:12:00.000-07:00</published><updated>2004-06-25T19:18:05.736-07:00</updated><title type='text'>.NET: Visual Studio 2005 Beta 1 Announced</title><content type='html'>&lt;a href=http://www.eweek.com/&gt;eWeek&lt;/a&gt; has just announced some news on &lt;a href=http://www.eweek.com/article2/0,1759,1617344,00.asp&gt;Visual Studio 2005 Beta 1&lt;/a&gt;. The Team Architect portion (codenamed Whitehorse and my personal favorite) of Visual Studio Team System is in Beta 1. But you should see the rest of Team System in upcoming Betas.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;&lt;strong&gt;Visual Studio 2005 Beta Ready to Roll&lt;/strong&gt;&lt;br /&gt;At its TechEd Europe conference in Amsterdam next week, Microsoft Corp. will announce the first official beta release of Visual Studio 2005, which will include the Team Architect version of the Visual Studio Team System technology Microsoft announced last month at its TechEd conference in San Diego.&lt;br /&gt;&lt;br /&gt;Sources close to the company said the beta software should be available for download by the end of next week. More and more of the Visual Studio Team System will find its way into Visual Studio 2005 in future releases, sources said. &lt;/em&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108821628573641639?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108821628573641639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108821628573641639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108821628573641639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108821628573641639'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-visual-studio-2005-beta-1.html' title='.NET: Visual Studio 2005 Beta 1 Announced'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108818125605258934</id><published>2004-06-25T09:29:00.000-07:00</published><updated>2004-06-25T09:36:04.853-07:00</updated><title type='text'>BLOG: Bill Gates to Start Blogging</title><content type='html'>In a recent &lt;a href=http://seattletimes.nwsource.com/html/businesstechnology/2001964841_gatesblog25.html&gt;Seattle Times article&lt;/a&gt;, they reported that Bill Gates intends to start blogging. I can't wait to see what he has to say to the world. Should be interesting to see the traffic and comments on this first post.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;blockquote&gt;&lt;strong&gt;Bill Gates could join the ranks of bloggers&lt;/strong&gt;&lt;br /&gt;Bill's blog won't be all business, either. He's expected to share personal details such as tidbits from recent vacations, according to tech pundit Mary Jo Foley's Microsoft Watch newsletter. Citing unnamed sources, she reported yesterday that Gates is about to start blogging "real soon now." &lt;/blockquote&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108818125605258934?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108818125605258934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108818125605258934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108818125605258934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108818125605258934'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/blog-bill-gates-to-start-blogging.html' title='BLOG: Bill Gates to Start Blogging'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108811953176933243</id><published>2004-06-24T16:25:00.000-07:00</published><updated>2004-06-24T16:33:13.873-07:00</updated><title type='text'>.NET: Class Designer in Visual Studio 2005</title><content type='html'>There are quite a few bloggers out there &lt;a href=http://loudcarrot.com/Blogs/dave/archive/2004/06/08/268.aspx&gt;excited by the prospects of the new Class Designer that's being produced for Visual Studio 2005&lt;/a&gt; (also &lt;a href=http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=e9e05269-acfe-4bfb-ad73-fcf3c7daa638&gt;here&lt;/a&gt; and &lt;a href=http://dotnetjunkies.com/WebLog/BsBlog/archive/2004/06/23/17442.aspx&gt;here&lt;/a&gt;). This is part of the Whitehorse designers that I've been working on for the last couple of years.  It's exciting to see people getting into these new features.&lt;br /&gt;&lt;br /&gt;Not surprisingly, code and diagram synchronization appears to be the feature most people like. Anyone who has used Visio or other diagramming tools know how much of a pain it is to keep the diagram and code in synch. The fact that the Class Designer is always in synch with the code makes developers very happy...&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://dotnetjunkies.com/WebLog/BsBlog/archive/2004/06/23/17442.aspx&gt;Brendan Tompkins&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108811953176933243?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108811953176933243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108811953176933243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108811953176933243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108811953176933243'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-class-designer-in-visual-studio.html' title='.NET: Class Designer in Visual Studio 2005'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108811181826272633</id><published>2004-06-24T14:01:00.000-07:00</published><updated>2004-06-24T14:16:58.263-07:00</updated><title type='text'>BLOG: Comments and Trackbacks Good For Blogs</title><content type='html'>&lt;a href=http://markbernstein.org/Jun0401/Commentary.html&gt;Mark Bernstein posted a topic about why comments and trackbacks are bad because they lead to and encourage flaming&lt;/a&gt;. I have to disagree with Mark on this. I think comments and trackbacks are good for blogs. Being able to share ideas with your readers is very important. Comments allows that for quick statements or just to let someone know you're listening (or reading in this case). Trackbacks allow you link your blog post to another one - whether it be to respond or add to the discussion by your own entry. This greatly increases the discoverability of related information because you can follow a topic from blog to blog all the way to conclusion (hopefully).&lt;br /&gt;&lt;br /&gt;Mark believes that the recent backlash against weblogs.com being shut down was fueled by comments and trackbacks. However, as &lt;a href=http://archive.scripting.com/2004/06/23#When:6:29:31AM&gt;Dave Winer pointed out&lt;/a&gt;, most of the flames last week were people spouting off on their own blogs and had nothing to do with comments and may have been only mildly influenced by trackbacks.&lt;br /&gt;&lt;br /&gt;I think it would be an over-reaction to decide to remove comments or trackbacks from your blog because of an incident like this. They provide much greater value for community and discoverability than the effect they may have on flaming via blogs (because someone could flame all they want on their own blog anyway). &lt;br /&gt;&lt;br /&gt;My wish is to see more active use of trackbacks than we have today.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108811181826272633?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108811181826272633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108811181826272633' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108811181826272633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108811181826272633'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/blog-comments-and-trackbacks-good-for.html' title='BLOG: Comments and Trackbacks Good For Blogs'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108784377139033374</id><published>2004-06-21T13:58:00.000-07:00</published><updated>2004-06-21T14:00:16.736-07:00</updated><title type='text'>Finally, Put Your GMail Invitations to Good Use!</title><content type='html'>Lately, I've seen many blogs promising GMail invitations for readers who answer a question, or help out with content, or to a worthy contestant. But, I think I just found a much better use for those invitations...&lt;br /&gt;&lt;br /&gt;Wil Wheaton and a band of his fellows have put together a &lt;a href=http://www.gmail4troops.com/&gt;website that allows you to share you GMail invitations with troops in Iraq&lt;/a&gt;, so that they can communicate with friends and families back home, including pictures, audio, and video clips. I can't think of a better use for those accounts, can you?&lt;br /&gt;&lt;br /&gt;Wil does a much better job of describing the soldiers' needs than I can, so go over and read &lt;a href=http://www.wilwheaton.net/mt/archives/001639.php&gt;his post on the topic&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108784377139033374?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108784377139033374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108784377139033374' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108784377139033374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108784377139033374'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/finally-put-your-gmail-invitations-to.html' title='Finally, Put Your GMail Invitations to Good Use!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108751827698294613</id><published>2004-06-18T11:21:00.000-07:00</published><updated>2004-06-18T14:43:32.126-07:00</updated><title type='text'>HUMOR: Serious Environmental Threat</title><content type='html'>Here's a hilarious post about a &lt;a href=http://www.circus.com/~nodhmo/index.html&gt;campaign to ban one of the most abundant&lt;/a&gt; (and it would appear dangerous) substances on the planet.&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://blogs.msdn.com/ddysart/archive/2004/06/11/153809.aspx&gt;Derek Dysart&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108751827698294613?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108751827698294613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108751827698294613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108751827698294613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108751827698294613'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/humor-serious-environmental-threat.html' title='HUMOR: Serious Environmental Threat'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108751802805045914</id><published>2004-06-17T17:15:00.000-07:00</published><updated>2004-06-17T17:20:28.050-07:00</updated><title type='text'>.NET Whitehorse Article on MSDN</title><content type='html'>Here's a good overview from &lt;a href=http://msdn.microsoft.com/msdnmag/issues/04/07/Whitehorse/default.aspx&gt;MSDN Magazine of the Whitehorse features&lt;/a&gt; that we're developing for Visual Studio 2005.  Plus, there are several cool pictures of what the features look like.&lt;br /&gt;&lt;br /&gt;Whitehorse was available as a technical preview at TechEd and will soon be part of the Visual Studio 2005 Beta. So, has anyone had the opportunity to try it yet?  What do you think?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108751802805045914?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108751802805045914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108751802805045914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108751802805045914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108751802805045914'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-whitehorse-article-on-msdn.html' title='.NET Whitehorse Article on MSDN'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108750543826659032</id><published>2004-06-17T12:59:00.000-07:00</published><updated>2004-06-17T16:23:53.450-07:00</updated><title type='text'>.NET: Interesting .NET Articles to Read</title><content type='html'>There's been quite a number of really good .NET articles that have been posted recently. I've been busy looking at some of them and decided to just link to several from a single post:&lt;br /&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;The .NET Framework contains many different types of collections. However, one that isn't part of the base class library is the Set collection. Sets allow you perform operations like Union, Intersects, and more across multiple sets. There a very good sample on Code Project that implements the &lt;a href=http://www.codeproject.com/csharp/sets.asp&gt;Set collection&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;Whidbey is going to support FTP for file upload/download through &lt;a href=http://blogs.msdn.com/brada/archive/2004/06/11/153523.aspx&gt;FtpWebRequest and FtpWebResponse&lt;/a&gt; classes.&lt;br /&gt;[via Brad Abrams]&lt;/div&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;A bunch of cool new WinForms controls named the &lt;a href=http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=167542e0-e435-4585-ae4f-c111fe60ed58&gt;VB Power Pack&lt;/a&gt; were recently released on GotDotNet.  The new controls include: Blend Panel, Notification Window, Utility Toolbar, Image Button, Task Frame, and more.&lt;br /&gt;[via &lt;a href=http://blogs.msdn.com/rgreen_msft/archive/2004/06/11/153858.aspx&gt;Robert Green&lt;/a&gt;]&lt;/div&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;Along with that, an &lt;a href=http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dv_vstechart/html/vbpowerpack.asp&gt;accompanying article describing the controls&lt;/a&gt; was published on MSDN.&lt;br /&gt;[via &lt;a href=http://weblogs.asp.net/duncanma/archive/2004/06/16/157634.aspx&gt;Duncan MacKenzie&lt;/a&gt;]&lt;/div&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;For those who don't know, in Visual C# 2003, you can &lt;a href=http://weblogs.asp.net/markda/archive/2004/06/16/157685.aspx&gt;easily implement stubs for all of the methods on an interface&lt;/a&gt; for a class that inherits from it.&lt;br /&gt;[via &lt;a href=http://weblogs.asp.net/duncanma/archive/2004/06/16/157823.aspx&gt;Duncan MacKenzie&lt;/a&gt;]&lt;/div&gt;&lt;br /&gt;&lt;div style='margin-left:30'&gt;And, Roy Osherove discusses an approach that you can use to &lt;a href=http://weblogs.asp.net/rosherove/archive/2004/06/16/156933.aspx&gt;limit MDI child forms to a single instance within an MDI application&lt;/a&gt;. Roy creates a FormLoader which knows how to reuse the single instance rather than always creating a new one.&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108750543826659032?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108750543826659032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108750543826659032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108750543826659032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108750543826659032'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-interesting-net-articles-to-read.html' title='.NET: Interesting .NET Articles to Read'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108723149927446537</id><published>2004-06-14T09:16:00.000-07:00</published><updated>2004-06-14T09:44:59.273-07:00</updated><title type='text'>MISC: Prisoner of Azkaban</title><content type='html'>I went to watch &lt;a href=http://entertainment.msn.com/movies/movie.aspx?m=541708&gt;Harry Potter and the Prisoner of Azkaban&lt;/a&gt; this weekend. Although I thought the movie was good, it didn't have the excitement of the previous two Harry Potter films. I found it kind of flat in different places and the whole time travel sub-plot just turned me off to the end of the movie.  It's been done too many times and better than what was attempted in this movie.&lt;br /&gt;&lt;br /&gt;They were trying to build tension by having Sirius hunt Harry, but they didn't really build much fear into what would happen if he caught him and in the end it wasn't much of a surprise that he didn't really want to harm Harry at all.&lt;br /&gt;&lt;br /&gt;Also, they made Malfoy into a big wimp for this film.  In the first two movies, he was annoying but at least he was a good antagonist to plot against Harry. In Prisoner of Azkaban, he was sent running off crying twice -- just plain weak.&lt;br /&gt;&lt;br /&gt;The good things about this film: the Dementers were pretty cool and the Divination professor was the funniest part of the whole thing.&lt;br /&gt;&lt;br /&gt;Oh well, hope the next movie is better...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108723149927446537?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108723149927446537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108723149927446537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108723149927446537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108723149927446537'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/misc-prisoner-of-azkaban.html' title='MISC: Prisoner of Azkaban'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108697176371159726</id><published>2004-06-11T09:28:00.000-07:00</published><updated>2004-06-11T09:36:03.710-07:00</updated><title type='text'>BLOG: Cringely Discusses Future of Blogging</title><content type='html'>&lt;a href=http://www.pbs.org/cringely/pulpit/pulpit20040610.html&gt;Bob Cringely talks about the future of blogging&lt;/a&gt;.  He claims that blogs will become like a personal data mining tool -- allowing you (or tools) to learn more about your own lives rather than the publishing, link-driven model that we have today.  It's an interesting thought, and we'll see how it plays out.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108697176371159726?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108697176371159726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108697176371159726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108697176371159726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108697176371159726'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/blog-cringely-discusses-future-of.html' title='BLOG: Cringely Discusses Future of Blogging'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108689066947027347</id><published>2004-06-10T10:30:00.000-07:00</published><updated>2004-06-10T11:04:29.470-07:00</updated><title type='text'>.NET: Automated Registration of Visual Studio Custom Tools</title><content type='html'>Michael McKechney wrote an automated registration tool for &lt;a href=http://www.codeproject.com/useritems/Custom_Tool_Registration.asp&gt;registering Visual Studio Custom Tools&lt;/a&gt;.  This is a very handy tool for anyone wishing to integrate their own custom tools into VS.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108689066947027347?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108689066947027347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108689066947027347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108689066947027347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108689066947027347'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-automated-registration-of-visual.html' title='.NET: Automated Registration of Visual Studio Custom Tools'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108688780906503575</id><published>2004-06-10T10:06:00.000-07:00</published><updated>2004-06-10T10:16:49.066-07:00</updated><title type='text'>.NET: Design Patterns in C#</title><content type='html'>Sorry, it's been so long since my last post, but things have been really hectic at work trying to get &lt;a href=http://msdn.microsoft.com/vstudio/teamsystem/architect/default.aspx&gt;the Whitehorse features ready for Visual Studio 2005 Beta 1&lt;/a&gt;.  But, I've finally had a few minutes to breathe, so here I am again...&lt;br /&gt;&lt;br /&gt;The &lt;a href=http://www.dofactory.com/&gt;Data and Object Factory&lt;/a&gt; has replicated some &lt;a href=http://www.dofactory.com/Patterns/Patterns.aspx&gt;software design patterns with source code in C#&lt;/a&gt;. This should be really helpful for those of us familiar with these patterns, but only had them in C++.&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://weblogs.asp.net/jtobler/archive/2004/06/09/151988.aspx&gt;John Tobler&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108688780906503575?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108688780906503575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108688780906503575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108688780906503575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108688780906503575'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/06/net-design-patterns-in-c.html' title='.NET: Design Patterns in C#'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108553663946294136</id><published>2004-05-25T18:50:00.000-07:00</published><updated>2004-05-25T18:57:19.463-07:00</updated><title type='text'>.NET: Whitehorse is Part of the Newly Announced Visual Studio 2005 Team System!</title><content type='html'>Well, from my latest blog readings, it appears that everyone is at &lt;a href=http://www.microsoft.com/seminar/teched2004/default.mspx&gt;TechEd 2004&lt;/a&gt;.  There has just been a huge amount to posts about the conference.  But, here's the most important announcement that you'll see throughout the entire conference...&lt;br /&gt;&lt;br /&gt;Whitehorse is shipping as the Architect and deployment pieces of the newly announced Visual Studio 2005 Team System.  If you'd like to read an in-depth account of what that means check out &lt;a href=http://blogs.msdn.com/keith_short/archive/2004/05/24/140809.aspx&gt;this post by Keith Short&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sitting at home; wishing I was in San Diego...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108553663946294136?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108553663946294136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108553663946294136' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108553663946294136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108553663946294136'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/net-whitehorse-is-part-of-newly.html' title='.NET: Whitehorse is Part of the Newly Announced Visual Studio 2005 Team System!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108518021497267215</id><published>2004-05-21T15:45:00.000-07:00</published><updated>2004-05-21T15:56:54.973-07:00</updated><title type='text'>MISC: Learning Large Bodies of Code</title><content type='html'>Matt Warren gives an &lt;a href=http://weblogs.asp.net/mattwar/archive/2004/05/20/135962.aspx&gt;excellent description of what it's like to learn and absorb large blocks of code&lt;/a&gt; into your mind.  I can certainly relate to Matt's description and have felt the same way myself (I was never able to express the way he has though).&lt;br /&gt;&lt;br /&gt;Once you reach a certain level of familiarity, it is almost like you can see the shape of the code (whether an app, component, library, ...) in your mind.  I can't tell you how many times I've found and solved an error in my code while in the shower or driving home all without ever needing to run any tests on it. The scary part is that sometimes I don't actually remember the drive home.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108518021497267215?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108518021497267215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108518021497267215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108518021497267215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108518021497267215'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/misc-learning-large-bodies-of-code.html' title='MISC: Learning Large Bodies of Code'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108517921831221873</id><published>2004-05-21T15:36:00.000-07:00</published><updated>2004-05-21T15:40:18.313-07:00</updated><title type='text'>BOOK: Wil's Latest Bookcover</title><content type='html'>&lt;a href=http://www.wilwheaton.net/mt/archives/001617.php&gt;Check out the bookcover&lt;/a&gt; for Wil Wheaton's upcoming book -- called &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/059600768X/qid=1085179146/sr=1-1/ref=sr_1_1/104-5692322-4195150?v=glance&amp;s=books&gt;"Just A Geek"&lt;/a&gt; (you can even pre-order it on Amazon).&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108517921831221873?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108517921831221873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108517921831221873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108517921831221873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108517921831221873'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/book-wils-latest-bookcover.html' title='BOOK: Wil&apos;s Latest Bookcover'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108492497827147206</id><published>2004-05-18T16:22:00.000-07:00</published><updated>2004-05-19T09:12:21.366-07:00</updated><title type='text'>BOOK: Angels &amp; Demons</title><content type='html'>Although this one came before &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0385504209/qid=1082078811/sr=5-1/ref=cm_lm_asin/103-8778633-0181408?v=glance&gt;"The Da Vinci Code"&lt;/a&gt;, I read &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0671027360/ref=bxgy_cc_img_a/104-4996063-6255908?v=glance&amp;s=books&gt;"Angels &amp; Demons"&lt;/a&gt; by Dan Brown afterwards.  And, to my surprise, I actually like &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0671027360/ref=bxgy_cc_img_a/104-4996063-6255908?v=glance&amp;s=books&gt;"Angels &amp; Demons"&lt;/a&gt; even more than I liked &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0385504209/qid=1082078811/sr=5-1/ref=cm_lm_asin/103-8778633-0181408?v=glance&gt;"The Da Vinci Code"&lt;/a&gt; -- even if it is a more popular novel.&lt;br /&gt;&lt;br /&gt;This book also features Robert Langdon, a symbology professor.  This ones give a little more detail into his background and character development than the Da Vinci Code, in which it was glossed over.&lt;br /&gt;&lt;br /&gt;Again, this was a fast paced novel.  The pace kept things intriguing as Langdon sped through four different churches trying to stop the cardinals' assassinations.  And, the art mysteries at every stop were good.  The puzzles in this novel didn't seem as complex as the ones in Da Vinci, but they were still very entertaining.  The least believable parts were that Langdon was able to survive three different encounters with the assassin.  Each time, he should have probably been killed (at least most professors I know would have been :).&lt;br /&gt;&lt;br /&gt;Brown did an excellent job of providing background for the church intrigue and the Illuminati.  Let's face it, they're a great group to develop as the bad guys.  And, all of the conspiracy theories around the Illuminati helps fill background information in people's minds.  (also if you like Illuminati stories, check &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0440539811/ref=pd_bxgy_text_1/103-6752001-0697457?v=glance&amp;s=books&amp;st=*&gt;this&lt;/a&gt; out)&lt;br /&gt;&lt;br /&gt;Also, Brown seems to like have extreme plot twists at the end of his books.  I'm not sure if this one was more predictable than Da Vinci's twist (but I was able to see it coming) -- reading Da Vinci first may have put me on greater alert and expecting it though.&lt;br /&gt;&lt;br /&gt;Overall, another good read by Dan Brown.  And, as I said the background story and Vatican intrigue made it even more enjoyable for me than The Da Vinci Code.  So, here's a question to other readers:  are Brown's other two novels worth reading?  Has anyone read those?  And, if so, what do you think about them?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108492497827147206?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108492497827147206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108492497827147206' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108492497827147206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108492497827147206'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/book-angels-demons.html' title='BOOK: Angels &amp; Demons'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108484511905703503</id><published>2004-05-17T18:41:00.000-07:00</published><updated>2004-05-17T18:51:59.056-07:00</updated><title type='text'>.NET: Objects and Components and Services, Oh My!</title><content type='html'>Michael Platt talks about the &lt;a href=http://blogs.msdn.com/michael_platt/archive/2004/05/17/133201.aspx&gt;differences between objects and components&lt;/a&gt;.  I think he has a good defintion of the differences between objects and components.  And, then applies the same analogy in comparing models and services.&lt;br /&gt;&lt;br /&gt;There's been a lot of talk lately about model-driven development.  And, there's no end to discussion about the forth-coming Service Oriented Architecture (SOA), so it would be most helpful if people kept these straight.&lt;br /&gt;&lt;br /&gt;It looks like Mike likes to taunt other architects with these metaphysical questions.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108484511905703503?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108484511905703503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108484511905703503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108484511905703503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108484511905703503'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/net-objects-and-components-and.html' title='.NET: Objects and Components and Services, Oh My!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108484298822447779</id><published>2004-05-17T18:12:00.000-07:00</published><updated>2004-05-17T18:16:28.223-07:00</updated><title type='text'>HUMOR: What is Evil?</title><content type='html'>Here's a very &lt;a href=http://www.scripting.com/images/mathematicalProofWomen.gif&gt;interesting "proof"&lt;/a&gt; (as in geometry proof) about what is really evil.  Sure, it's sophomoric humor, but still quite fun...&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://archive.scripting.com/2004/05/17#When:10:37:02AM&gt;Dave Winer's blog&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108484298822447779?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108484298822447779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108484298822447779' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108484298822447779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108484298822447779'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/humor-what-is-evil.html' title='HUMOR: What is Evil?'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108474659545914134</id><published>2004-05-16T15:16:00.000-07:00</published><updated>2004-05-16T15:29:55.460-07:00</updated><title type='text'>.NET: Deconstructing ASMX and Whitehorse preview</title><content type='html'>Don Box goes into great detail about &lt;a href=http://www.gotdotnet.com/team/dbox/default.aspx?key=2004-05-16T08:01:07Z&gt;the benefits and shortcomings of using ASMX to develop Web Services&lt;/a&gt;.  It's a definite read for anyone working with ASMX today.&lt;br /&gt;&lt;br /&gt;Also, Don mentions the upcoming features in Whidbey that will alleviate some of the problems with the development model for "contract-first" development of Web Services that currently exist.  He even goes so far as to call Whitehorse "a fancy ASMX contract designer".  Well, that's a large over-simplification of the Whitehorse feature set, but one of its designers will allow developers to design the contract for web services and their interaction with other components, services, and applications. And, it also goes on to generate all of the ASMX and language code for them.  &lt;a href=http://blogs.msdn.com/keith_short/archive/2004/03/16/90663.aspx&gt;Here&lt;/a&gt;'s some more information about the Whitehorse features.&lt;br /&gt;&lt;br /&gt;Well, any mention of Whitehorse is better than none at all.  So, being part of the Whitehorse team, I'm glad for Don's mention.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108474659545914134?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108474659545914134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108474659545914134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108474659545914134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108474659545914134'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/net-deconstructing-asmx-and-whitehorse.html' title='.NET: Deconstructing ASMX and Whitehorse preview'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108456442753147052</id><published>2004-05-14T12:49:00.000-07:00</published><updated>2004-05-14T12:53:47.530-07:00</updated><title type='text'>.NET: Auto-Incrementing Unique IDs in XML.</title><content type='html'>Here is a good discussion by Sonu Kapoor on &lt;a href=http://weblogs.asp.net/sonukapoor/archive/2004/05/14/132150.aspx&gt;how to create auto-generated unique ids&lt;/a&gt; for XML files.  There are lots of times when you're creating data files that you may run across this need to provide a unique id.  This post has the C# code on how to do just that.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108456442753147052?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108456442753147052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108456442753147052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108456442753147052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108456442753147052'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/net-auto-incrementing-unique-ids-in.html' title='.NET: Auto-Incrementing Unique IDs in XML.'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108455338272074192</id><published>2004-05-14T09:43:00.000-07:00</published><updated>2004-05-14T11:25:38.226-07:00</updated><title type='text'>BLOG: RssBandit Reads Atom Feeds</title><content type='html'>Well, I mentioned in a &lt;a href=http://darthpedro.blogspot.com/2004/05/blog-bloggers-new-features.html&gt;previous post&lt;/a&gt; that I was converting my Atom feed to RSS, so that news readers could handle them.  I was told (thanks a lot Stephen) that the latest release of &lt;a href=http://sourceforge.net/projects/rssbandit/&gt;RssBandit&lt;/a&gt; now supports reading Atom feeds as well as RSS.  This is great news.  I just installed the new build, and it works beautifully.&lt;br /&gt;&lt;br /&gt;I know some of the other news aggregators also read Atom, and hopefully the rest will follow suit by providing the ability to read both.  That way, whichever feed format is published doesn't really matter.  And, we can stop seeing the endless &lt;a href=http://radio.weblogs.com/0001011/2004/05/13.html#a7451&gt;flood of blog posts about which one is better&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108455338272074192?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108455338272074192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108455338272074192' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108455338272074192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108455338272074192'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/blog-rssbandit-reads-atom-feeds.html' title='BLOG: RssBandit Reads Atom Feeds'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108439873100490662</id><published>2004-05-12T14:34:00.000-07:00</published><updated>2004-05-12T15:07:39.710-07:00</updated><title type='text'>MISC: Unexpected Results from Open Source Projects</title><content type='html'>People have been touting the benefits of open source development projects for quite some time now.  However, they like to present a rosy picture that all in the open source projects is great.  Although there are some very attractive aspects to open source (like the price is right and developing solutions faster by extending and using an existing codebase), there are other pieces that open source developers don't like to talk about.  Here is a &lt;a href=http://blogs.msdn.com/frankarr/archive/2004/05/12/130430.aspx&gt;blog about some examples of things that aren't discussed&lt;/a&gt; some times:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;The myth that the community will fix the bugs in a project.  &lt;a href=http://www-staff.it.uts.edu.au/~laurel/Research/Presentations/StephenSchach.pdf&gt;The study&lt;/a&gt; found that there is a core group of developers who fix most of the bugs (about 70-80%) in an open source project.  The vast majority of users just report bugs that are fixed by the core (which is very similar to the way closed source products work). This is because most people on the periphery don't have the necessary debugging skills and architectural knowledge to fix the bugs themselves.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open source projects are not more maintainable. The study tracks some code usage and patterns in several projects and finds that over time they could end up even less maintainable and more tightly-coupled than paid products.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Remember there's a cost for everything. The only question is how much and when you pay it.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108439873100490662?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108439873100490662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108439873100490662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108439873100490662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108439873100490662'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/misc-unexpected-results-from-open.html' title='MISC: Unexpected Results from Open Source Projects'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108432623653974381</id><published>2004-05-11T18:28:00.000-07:00</published><updated>2004-05-11T18:55:59.070-07:00</updated><title type='text'>BLOG: Blogger's New Features</title><content type='html'>Well, I 've had a chance to try out a couple of &lt;a href=http://www.blogger.com/home&gt;Blogger's&lt;/a&gt; new features, and all seems to be going well so far.  The new Comments feature works really well.  You can set that on in the Settings tab by selecting the Comments link tab (and then updating you blog template to include the comments tags).  Like other comments services, it allows your users to leave to their thoughts about your post.  I like having the option to allow anyone to comment or only those that sign in.  This provides a slight barrier for folks out there that just want to do bad things in the comments.  Here are a couple of helpful topics on getting Blogger comments working:&lt;br /&gt;&lt;a href=http://help.blogger.com/bin/answer.py?answer=126&amp;topic=23&gt;Adding comments to posts&lt;/a&gt;&lt;br /&gt;&lt;a href=http://help.blogger.com/bin/answer.py?answer=794&amp;topic=23&gt;Removing old comments services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another feature I really like is having a single page per post, which is hidden in the Archiving settings page.  That way when a reader clicks on a permalink of yours (where on a webpage link or from news aggregators), they go to a page just for that post.  This integrates very well with comments because all of the comments associated to that post are also shown.  I like this so much, I made all of the titles on my posts hot, so they could link to the single post page.&lt;br /&gt;&lt;br /&gt;Also, there are lots of new templates for blogs.  I'm sure people on Blogger will be moving over to some of these new looks and making up even more of their own.&lt;br /&gt;&lt;br /&gt;Unfortunately, with the good comes the bad -- or at least other things that I would like to see.  Comments are only turned on for new posts not old ones in my blog, so readers can't go to old posts and add comments.  Actually, I can turn this on if I go repost each post, but I don't have the patience for that.&lt;br /&gt;&lt;br /&gt;Also, there is still no RSS support.  We get Atom instead.  I'm sure it's a fine syndication format, but my news aggregator (&lt;a href=http://sourceforge.net/projects/rssbandit/&gt;RssBandit&lt;/a&gt;) only supports RSS, so I'm left having to use a third party service to do the conversion.  I really wish Blogger would allow you to post both.  &lt;a href=http://radio.weblogs.com/0001011/2004/05/10.html#a7402&gt;Dave Winer talks about this a bit on his blog&lt;/a&gt;, but he didn't mention that there are conversion services like &lt;a href=http://www.2rss.com/software.php?page=atom2rss&gt;2Rss&lt;/a&gt; that will convert it for you.&lt;br /&gt;&lt;br /&gt;Oh yeah, and I couple of other minor things.  I really like the new Blogger image (find it in my navigation panel), but the new "I Power Blogger" tag-line has just enough marketing crud to make me want to hurl.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108432623653974381?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108432623653974381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108432623653974381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108432623653974381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108432623653974381'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/blog-bloggers-new-features.html' title='BLOG: Blogger&apos;s New Features'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108420821750915988</id><published>2004-05-10T09:56:00.000-07:00</published><updated>2004-05-10T10:14:04.406-07:00</updated><title type='text'>BLOG: Testing Blogger Comments</title><content type='html'>The new Blogger release includes a comments feature.  This post is just a test to see if it works.&lt;br /&gt;&lt;br /&gt;It looks like the Comments feature is up and running.  I'm switching over to use their comments service rather than the third party one that I've used to this point, so the comments on my old blog posts will no longer appear.&lt;br /&gt;&lt;br /&gt;If this doesn't work out, I may switch back to the old service I was using.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108420821750915988?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108420821750915988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108420821750915988' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108420821750915988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108420821750915988'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/blog-testing-blogger-comments.html' title='BLOG: Testing Blogger Comments'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108386072172318202</id><published>2004-05-06T09:15:00.000-07:00</published><updated>2004-05-10T09:54:52.966-07:00</updated><title type='text'>.NET: New Developments for WinForms 2.0.</title><content type='html'>There's been quite a few interesting posts in the last week about new functionality coming for WinForms 2.0.  That's pretty exciting because I'm a big fan of WinForms for writing Windows client applications, and I spend a lot of time at work doing just that -- plus some of my "free" time too.  So, here are a couple of links that I ran across in some blogs:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;div style='margin-left: 30'&gt;&lt;a href=http://blogs.msdn.com/jaybaz_ms/archive/2004/04/28/122392.aspx&gt;Winforms designed code and C# partial classes&lt;/a&gt;&lt;br /&gt;In Whidbey, the WinForms designer takes advantage of a new C# language feature called “partial classes”.  This allows them to pull out the designer generated code into a separate file.  This will be great because it will separate and hide the code that's produced by the WinForms code generation.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style='margin-left: 30'&gt;The WinForms team has posted screenshots and overviews of some &lt;a href=http://www.windowsforms.net/WhidbeyFeatures/default.aspx?tabindex=4&gt;new features in WinForms 2.0&lt;/a&gt;. There's a lot of good new features coming, so have a quick look at what to expect.&lt;/div&gt;&lt;/em&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108386072172318202?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108386072172318202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108386072172318202' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108386072172318202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108386072172318202'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/net-new-developments-for-winforms-20.html' title='.NET: New Developments for WinForms 2.0.'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108368624985002991</id><published>2004-05-04T08:50:00.000-07:00</published><updated>2004-05-04T19:20:47.513-07:00</updated><title type='text'>BLOG: OneNote Will Import OPML.</title><content type='html'>&lt;a href=http://archive.scripting.com/2004/05/03#When:11:19:27AM&gt;Dave Winer is commenting on Microsoft's OneNote importing OPML in its next version&lt;/a&gt;.  It's actually nice to hear him give Microsoft some credit for adopting existing formats and standards rather than starting from scratch.  He even goes so far as to hold that up as an example that Google should follow.  That's quite a different tone from the way Microsoft is portrayed (not necessarily by Dave, but just on the Net in general).&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108368624985002991?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108368624985002991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108368624985002991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108368624985002991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108368624985002991'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/blog-onenote-will-import-opml.html' title='BLOG: OneNote Will Import OPML.'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108368562346950966</id><published>2004-05-04T08:38:00.000-07:00</published><updated>2004-05-04T08:50:58.450-07:00</updated><title type='text'>XBOX: Doom 3 Only on the XBox.</title><content type='html'>It looks like Id Software the makers of Doom have announced that &lt;a href=http://www.nytimes.com/2004/04/29/technology/circuits/29xbox.html?ex=1398571200&amp;en=923a549b10e71e57&amp;ei=5007&amp;partner=USERLAND&gt;Doom 3 will be exclusively released for the XBox&lt;/a&gt;.  That's really great news for the XBox.  It's finally starting to make some real in-roads against PS2, and it looks like some title developers are starting to notice.  I can't wait to play Doom 3 with some friends on XBox Live -- that will be awesome.&lt;br /&gt;&lt;br /&gt;[via &lt;a href=http://radio.weblogs.com/0001011/2004/05/02.html#a7352&gt;Scoble's blog&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108368562346950966?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108368562346950966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108368562346950966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108368562346950966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108368562346950966'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/05/xbox-doom-3-only-on-xbox.html' title='XBOX: Doom 3 Only on the XBox.'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108320288518857351</id><published>2004-04-28T18:31:00.000-07:00</published><updated>2004-04-28T18:46:40.793-07:00</updated><title type='text'>.NET: Whitehorse Core to DSI Mission</title><content type='html'>Today, &lt;a href=http://www.microsoft.com/mscorp/execmail/&gt;Steve Ballmer released an executive mail discussing Microsoft's vision for the Dynamic Systems Initiative (DSI)&lt;/a&gt;.  Here's an excerpt from this message describing DSI:&lt;br /&gt;&lt;br /&gt;&lt;div style='margin-left: 30'&gt;&lt;em&gt;"Specifically, DSI is about doing three things really well: &lt;ul&gt;&lt;li&gt;Building software development tools that help IT managers and software-development teams design computing systems that are inherently simple and inexpensive to manage. We call this "design for operations."&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Enhancing the Windows operating system platform with powerful management technologies suited for complex and constantly-changing IT environments, such as automated deployment, configuration and monitoring.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Building easy-to-use, scalable solutions that cover every aspect of the management experience, with real-time feedback on system performance and a high level of automation."&lt;/li&gt;&lt;/ul&gt;&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;These are the key tenets of the Whitehorse tools -- a set of designers for Visual Studio 2005 that allow developers and operations people to create diagrams of their logical data center, define constraints on them, build applications that will run on machines with those constraints, and test a deployment to ensure the application will run on the specified machines.  Whitehorse is the 'design' part in the 'design for operations' tag line.&lt;br /&gt;&lt;br /&gt;Whitehorse was first demoed at PDC last year and will also be a key component of what's discussed at &lt;a href=http://www.microsoft.com/seminar/teched2004/default.mspx&gt;TechEd 2004 in May&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108320288518857351?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108320288518857351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108320288518857351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108320288518857351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108320288518857351'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/net-whitehorse-core-to-dsi-mission.html' title='.NET: Whitehorse Core to DSI Mission'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108320186505814396</id><published>2004-04-28T18:12:00.000-07:00</published><updated>2004-04-28T18:30:25.670-07:00</updated><title type='text'>BLOG: RSS Aggregators Leveling Playing Field?</title><content type='html'>&lt;a href=http://blogs.msdn.com/jledgard/archive/2004/04/27/121805.aspx&gt;Josh makes some very good points about 'A-List Bloggers'&lt;/a&gt; and how news aggregators can help level the playing field between those on the 'list' and newer bloggers with interesting content.&lt;br /&gt;&lt;br /&gt;At first glance at the title of his post, I was worried that it was going to be some rant railing against 'A-List bloggers' and how they're stealing all of his readers.  But, reading through the post, Josh talks about how using &lt;a href=http://www.rssbandit.org/ow.asp?DownLoad&gt;RSS Bandit&lt;/a&gt; to get updates from 2000 feeds (Wow! that's a lot of posts), he can cover more territory than reading the blogs in IE.  And, now he only reads the posts that interest him from any blogger he's signed up for, rather than always reading the same people (regardless of what they were talking about on a particular day).&lt;br /&gt;&lt;br /&gt;I have to agree with him.  Using RSS Bandit to keep tabs on all of the feeds that mildly interest me definitely lets me keep my tentacles out there and see and read more content that interests me.  It works pretty well with feeds numbering in the hundreds as well as the thousands.  And, I hear that some of the fancier aggregators have better productivity features to head you search and sort through the feeds. But, RSS Bandit works well for me, and it's the right price -- free!&lt;br /&gt;&lt;br /&gt;The only drawback to this -- you still have to know a blog is out there and sign up to it.  Otherwise, you may never come across it.  At least not until people start referencing it.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108320186505814396?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108320186505814396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108320186505814396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108320186505814396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108320186505814396'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/blog-rss-aggregators-leveling-playing.html' title='BLOG: RSS Aggregators Leveling Playing Field?'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108301507539796869</id><published>2004-04-26T15:20:00.000-07:00</published><updated>2004-04-26T15:25:15.623-07:00</updated><title type='text'>BLOG: Stealing Blog Content?</title><content type='html'>&lt;a href=http://radio.weblogs.com/0001011/2004/04/24.html#a7259&gt;Scoble took down his experimental aggregator blog&lt;/a&gt; after several complaints about it being stealing.  It's a shame that Scoble felt pressured into taking down his aggregator.  Although it aggregated copies of whole blog entries, it did attribute the original author.  The one point might be that the attribution was a little subtle, and it could have made it clearer that these came from other blogs.  But, I didn't think it was a big deal.  As a reader of his aggregator blog, I was clear on which content came from where...&lt;br /&gt;&lt;br /&gt;Hopefully, Scoble will come back with &lt;a href=http://radio.weblogs.com/0001011/2004/04/24.html#a7261&gt;an aggregator blog that just uses excerpts of the posts&lt;/a&gt;, because I found it kind of useful.&lt;br /&gt;&lt;br /&gt;Just to be clear.  Anyone who wants to can copy content from my blog -- either piecemeal or wholesale.  That's what it's here for.  But, a link back to my original blog post would be greatly appreciated.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108301507539796869?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108301507539796869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108301507539796869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108301507539796869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108301507539796869'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/blog-stealing-blog-content.html' title='BLOG: Stealing Blog Content?'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108301710999863211</id><published>2004-04-26T15:19:00.000-07:00</published><updated>2004-04-26T15:23:56.966-07:00</updated><title type='text'>HUMOR: Featuring the Latest in Peripherals, the i-Duck</title><content type='html'>Finally, I've found a memory storage device that I can use.  It has:&lt;ul&gt;&lt;li&gt;a USB 1.1 interface&lt;/li&gt;&lt;br /&gt;&lt;li&gt;maximum storage capacity of 256MB&lt;/li&gt;&lt;br /&gt;&lt;li&gt;available in 6 different colors (including camouflage)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and, oh yeah, it's shaped like a rubber ducky&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;What more could you ask for? Introducing the new &lt;a href=http://www.dynamism.com/iduck/&gt;i-Duck by Dynamism.com&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.dynamism.com/iduck/ducks.jpg" width="406" height="200"&gt;&lt;br /&gt;[via &lt;a href=http://www.neilgaiman.com/journal/2004_04_18_archive.asp#108270498295454880&gt;Neil Gaiman's blog&lt;/a&gt;]&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108301710999863211?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108301710999863211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108301710999863211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108301710999863211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108301710999863211'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/humor-featuring-latest-in-peripherals.html' title='HUMOR: Featuring the Latest in Peripherals, the i-Duck'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108293897936502758</id><published>2004-04-26T10:43:00.000-07:00</published><updated>2004-04-26T10:47:20.890-07:00</updated><title type='text'>BOOK: The Da Vinci Code</title><content type='html'>I just finished reading &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/0385504209/qid=1082078811/sr=5-1/ref=cm_lm_asin/103-8778633-0181408?v=glance&gt;"The Da Vinci Code" by Dan Brown&lt;/a&gt; this weekend.  It was a very interesting book.  I really liked the way he tied a historical context to a modern day suspense/thriller.  The following are all spoilers, so stop now if you plan to read the book.&lt;br /&gt;&lt;br /&gt;The book was a very interesting read. He did a good job of blurring the portions of it that were based on factual, historical data and the parts that were purely fiction.  I guess that's what made it so interesting.  There's actually a couple of books that were written explaining the history behind "The Da Vinci Code" (like &lt;a href=http://www.amazon.com/exec/obidos/tg/detail/-/1592761011/ref=cm_custrec_gl_acc/104-4996063-6255908?v=glance&amp;s=books&gt;"De-Coding Davinci: The Facts Behind the Fiction of the Da Vinci Code"&lt;/a&gt; and &lt;a href=http://www.amazon.com/exec/obidos/ASIN/0971812861/ref=cm_custrec_gl_acc/104-4996063-6255908&gt;Fact and Fiction in The Da Vinci Code&lt;/a&gt;).  I've thought about picking one up and reading it, but maybe it's best not to ruin the mystery.  So, has anyone read these (or other similar) books?  If so, what are your recommendations?  Should I read one???&lt;br /&gt;&lt;br /&gt;The book was definitely well-paced and fun.  It almost had the feel of an episode of &lt;a href=http://www.fox.com/24/&gt;24&lt;/a&gt; (which I'm a big fan of) with almost all of the action taking place within a one day period.  And, Brown made extensive use of flashbacks to bring the reader up to speed on Grail mythology and on Sophie's life.  Also, the puzzles they had to solve to find the Holy Grail were also entertaining.&lt;br /&gt;&lt;br /&gt;And, the twist at the end with the Teacher being none other than Leigh Teabing was good (although I did find that part a little over the top), especially since the author went through some trouble trying to set the police chief, Fache, up as the possible mastermind.  One thing I would have liked to have learned more about was Fache, and how exactly he changed his mind from thinking that Langdon was the murderer to believing it was someone else.  That was kind of glossed over in the novel. Overall though, I would recommend this book as a good read.&lt;br /&gt;&lt;br /&gt;Finally, as an observation, I find it intriguing that there seems to be a set of books coming out with deep historical ties.  The Da Vinci Code being one of them, but others like The Baroque Cycle by Neal Stephenson, seem to be leading the charge of historically-based novels.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108293897936502758?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108293897936502758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108293897936502758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108293897936502758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108293897936502758'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/book-da-vinci-code.html' title='BOOK: The Da Vinci Code'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108268545449820863</id><published>2004-04-22T18:46:00.000-07:00</published><updated>2004-04-22T19:01:42.840-07:00</updated><title type='text'>.NET: What Good Is XML For?</title><content type='html'>Ever ask yourself that questions?  Sometimes it seems that people think XML is the cure all.  Once they've moved their system to XML all of their interoperability problems will go away.  I'm sure you recognize the shpeal...&lt;br /&gt;&lt;br /&gt;Well, there's an interesting discussion about this taking place on &lt;a href=http://blogs.msdn.com/seangrimaldi/archive/2004/04/21/117548.aspx&gt;Sean Grimaldi blog&lt;/a&gt;, in case you're interested to see how other people feel about it or make your own observations.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108268545449820863?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108268545449820863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108268545449820863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108268545449820863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108268545449820863'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/net-what-good-is-xml-for.html' title='.NET: What Good Is XML For?'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108268400589885187</id><published>2004-04-22T18:27:00.000-07:00</published><updated>2004-04-22T18:50:31.890-07:00</updated><title type='text'>HUMOR: Star Trek: SP1 Released!</title><content type='html'>&lt;a href=http://bbspot.com/News/2004/04/star_trek_service_pack.html&gt;This fake press release from BBSpot is damn funny&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Looks like Paramount is going to release a service pack for the original Star Trek series.  This patch will contain fixes for technical goofs and other errors, which have nagged fans for decades.  And, it will be call Star Trek: SP1.  I'm sure the trekkies out there (me included) will enjoy this...&lt;br /&gt;[via &lt;a href=http://www.wilwheaton.net/mt/archives/001599.php&gt;Wil Wheaton's blog&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;And, if you liked that one, check out this article about &lt;a href=http://bbspot.com/News/2003/02/episode3.html&gt;Star Wars: Episode III&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108268400589885187?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108268400589885187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108268400589885187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108268400589885187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108268400589885187'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/humor-star-trek-sp1-released.html' title='HUMOR: Star Trek: SP1 Released!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6541638.post-108251159051703471</id><published>2004-04-20T18:34:00.000-07:00</published><updated>2004-04-20T18:45:53.233-07:00</updated><title type='text'>MUSIC: Worst Song Ever!</title><content type='html'>There was a new list published by &lt;a href=http://www.blender.com/index.html&gt;Blender&lt;/a&gt; of the worst songs ever.  Here is &lt;a href=http://www.usatoday.com/life/music/news/2004-04-18-worst-songs_x.htm&gt;link to the top 10&lt;/a&gt; (or is that the bottom).&lt;br /&gt;&lt;br /&gt;Can't say that I argue with most of their choices...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6541638-108251159051703471?l=darthpedro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darthpedro.blogspot.com/feeds/108251159051703471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6541638&amp;postID=108251159051703471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108251159051703471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6541638/posts/default/108251159051703471'/><link rel='alternate' type='text/html' href='http://darthpedro.blogspot.com/2004/04/music-worst-song-ever.html' title='MUSIC: Worst Song Ever!'/><author><name>ElvenScribe</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
