<?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-6970636</id><updated>2011-07-28T16:11:29.722-07:00</updated><category term='Marathon'/><category term='26.2'/><category term='CDA'/><category term='Coeur d&apos;Alene'/><category term='Marathon Maniacs'/><title type='text'>Knock Knock...</title><subtitle type='html'>Random thoughts from James</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6970636.post-674080443341374016</id><published>2007-05-29T08:29:00.000-07:00</published><updated>2007-05-30T10:00:23.709-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='26.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Coeur d&apos;Alene'/><category scheme='http://www.blogger.com/atom/ns#' term='Marathon'/><category scheme='http://www.blogger.com/atom/ns#' term='CDA'/><category scheme='http://www.blogger.com/atom/ns#' term='Marathon Maniacs'/><title type='text'>3 down... 47 to go</title><content type='html'>&lt;a href="http://bp3.blogger.com/_euXFVCZX66Q/RlxOQSMMhuI/AAAAAAAAAAU/8A4473g09fY/s1600-h/CDAMarathon07-2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5070013322180200162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="~Mile 25.5" src="http://bp3.blogger.com/_euXFVCZX66Q/RlxOQSMMhuI/AAAAAAAAAAU/8A4473g09fY/s320/CDAMarathon07-2.jpg" border="0" /&gt;&lt;/a&gt;The marathon bug has officially bit me. This past weekend I finished the Coeur d'Alene Marathon. I intentionally took this one easy because of lack of endurance training as a result of a couple injuries over the winter/spring. I had my slowest time yet for a marathon (&lt;a href="http://results.racecenter.com/2007/cdam07.htm"&gt;4:22:31&lt;/a&gt;), though it was also probably my most enjoyable marathon. I ran with some great people and had some great conversations. In addition I didn't hit the "wall" until mile 22 (previous hit it at 20 and 18) and was able to push through it and regain some speed at mile 24 to finish strong.&lt;br /&gt;&lt;br /&gt;As for the 47 to go... well my first Marathon was &lt;a href="http://www.sanjuanislandmarathon.com/results-2005.html"&gt;San Juan &lt;/a&gt;(WA). My second was &lt;a href="http://www.runraceresults.com/Individual.asp?EV=RCAG2006&amp;Bib=5484"&gt;Portland&lt;/a&gt; (OR). My third just happened to be in Idaho... see a pattern? I'm thinking about Dayton, Oh next fall. But then again, I may just run some more locally before that (Seafair in Bellevue!?!?). Before this run I had no plans to run more than the minimum to get the next State. On this run I met a 78 year old (I think... head was a bit fuzzy so age could be a bit off) lady who was running her 90th marathon (5th this year). The course was also full of "Maniac Marathoners" that had run 100's of marathons. As we would pass one (it was out and back) she would point someone out and say... oh he has run 243 marathons... oh see him, he has over 400... Definitely very inspirational.&lt;br /&gt;&lt;br /&gt;The other reason to think I can do more is that I feel great, with little soreness (mainly hips). After my first marathon I was a lump of raw meat for about two plus weeks. My second marathon I was sore for about a week. Maybe you can train your body to do this thing!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_euXFVCZX66Q/RlxTKCMMhwI/AAAAAAAAAAk/CvUNBMSL11s/s400/CDAMarathon07-polar.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5070018712364156674" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="Polar Data" src="http://bp2.blogger.com/_euXFVCZX66Q/RlxTKCMMhwI/AAAAAAAAAAk/CvUNBMSL11s/s400/CDAMarathon07-polar.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-674080443341374016?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/674080443341374016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=674080443341374016&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/674080443341374016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/674080443341374016'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2007/05/3-down-47-to-go.html' title='3 down... 47 to go'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_euXFVCZX66Q/RlxOQSMMhuI/AAAAAAAAAAU/8A4473g09fY/s72-c/CDAMarathon07-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-9059286810992115208</id><published>2007-03-15T12:02:00.000-07:00</published><updated>2007-03-15T15:36:04.509-07:00</updated><title type='text'>Good bye Exchange, Ehlo .Net Micro Framework</title><content type='html'>Ok, so this is actually old news but last September I left the Exchange team for a new position as the test manager for the platform team in the SPOT group.  I joined this group just in time to help ship the &lt;a href="http://msdn.microsoft.com/embedded/netmf/"&gt;.Net Micro Framework&lt;/a&gt; SDK.&lt;br /&gt;&lt;br /&gt;While working on Exchange 12 was great, after 9 years it was time for a change.  I definately could not pick a better place than the platform team.  My desktop instead of being covered with Exchange spec's is now covered with cool hardware (&lt;a href="http://direct.msn.com/"&gt;Spot watch&lt;/a&gt;, &lt;a href="http://www2.oregonscientific.com/shop/product.asp?cid=2&amp;scid=108&amp;amp;pid=742"&gt;Oregon Weather Station&lt;/a&gt;, &lt;a href="http://www.digi.com/products/embeddedsolutions/digiconnectme.jsp"&gt;Digi Dev board&lt;/a&gt;, &lt;a href="http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=02XPgQ8217297301A5"&gt;Freescale dev board&lt;/a&gt;, plus other odds and ends).&lt;br /&gt;&lt;br /&gt;I'm hoping to work on some interesting pet projects with these cool devices so stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-9059286810992115208?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/9059286810992115208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=9059286810992115208&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/9059286810992115208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/9059286810992115208'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2007/03/good-bye-exchange-ehlo-net-micro.html' title='Good bye Exchange, Ehlo .Net Micro Framework'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-114970181290065376</id><published>2006-06-07T10:33:00.000-07:00</published><updated>2006-06-07T10:36:52.916-07:00</updated><title type='text'>TechEd 2006</title><content type='html'>I'll be in Boston next week at Tech Ed as staff for the Exchange team.  If you happen to be attending, feel free to stop by and say hi.  I should be in MSG Discussion area every day except Tuesday.&lt;br /&gt;&lt;br /&gt;I'll also be blogging about my adventures while attending.&lt;br /&gt;&lt;br /&gt;James&lt;br /&gt;&lt;br /&gt;&lt;A HREF="http://techedbloggers.net"&gt;&lt;IMG border="0" SRC="http://techedbloggers.net/Images/Flair/blogbadges_1.JPG"&gt;&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-114970181290065376?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/events/teched2006' title='TechEd 2006'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/114970181290065376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=114970181290065376&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/114970181290065376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/114970181290065376'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2006/06/teched-2006.html' title='TechEd 2006'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-113072411248306655</id><published>2005-10-30T16:12:00.000-08:00</published><updated>2005-10-30T18:01:52.533-08:00</updated><title type='text'>Coming up for air...</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6738/405/1600/FederalEscape.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6738/405/320/FederalEscape.jpg" border="0" alt="" /&gt;&lt;/a&gt;Well it's been quite some time since I posted here.  The E12 train is steaming forward and quite a bit of my time has been consumed making sure my little part of the train stays on the track.&lt;br /&gt;&lt;br /&gt;First things first...  SPAM... ON MY BLOG!!?!?!?!  I haven't had time to check it out, but I have been getting notified when the spam comments have been posted.  I was going to come here to turn comments off for now, but it looks like there is a new feature to prevent bots from posting.  While it may be a pain for ordinary users, it should help reduce my work load in terms of having to delete the noise.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now what have I been up to?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6738/405/1600/EFRTri03.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6738/405/320/EFRTri03.jpg" border="0" alt="" /&gt;&lt;/a&gt;On the personal front I had a great summer.  I started my season with the &lt;a href="http://www.perfecttimeevents.com/events/2005/dash/dashinfo.htm"&gt;Dash&lt;/a&gt; and &lt;a href="http://www.cascade.org/EandR/chilly/index.cfm"&gt;Chilly Hilly&lt;/a&gt; (normal fair).  I followed up that with my "&lt;a href="http://jameswho.blogspot.com/2005/05/epic-ride.html"&gt;Epic&lt;/a&gt;" ride up Raineer.  But then in June I stepped it up and completed my &lt;a href="http://www.sanjuanislandmarathon.com/"&gt;first Marathon &lt;/a&gt;with a time of 4:13:31.  With a Marathon in my pocket, I decided it was time to take the &lt;a href="http://www.cascade.org/EandR/stp/index.cfm"&gt;STP&lt;/a&gt; to a new level and completed it in one day.  Then with a double century completed all I needed to complete my summer trifecta was the &lt;a href="http://www.trifreak.com/"&gt;Federal Escape&lt;/a&gt; Olympic Triathlon (see picture).  Then to wrap up the seaon I ran the &lt;a href="http://www.superjocknjill.com/SJJ_half-05/"&gt;Super Jock n Jill&lt;/a&gt; and gave &lt;a href="http://www.envirosports.com/results/event/1308/results.php"&gt;Escape from Rock&lt;/a&gt; a try.  Now I just need to figure out how to one up all of this next year! :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the work side of life.... well I can't officially comment but feel free to browse the following links:&lt;br /&gt;&lt;a href="http://www.msexchange.org/tutorials/Overview-E12-Features.html"&gt;http://www.msexchange.org/tutorials/Overview-E12-Features.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2005/09/15/410941.aspx"&gt;http://blogs.technet.com/exchange/archive/2005/09/15/410941.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft-watch.com/article2/0,1995,1752696,00.asp?kc=MWRSS02129TX1K0000535"&gt;http://www.microsoft-watch.com/article2/0,1995,1752696,00.asp?kc=MWRSS02129TX1K0000535&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well, back to the trenches...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-113072411248306655?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/113072411248306655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=113072411248306655&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/113072411248306655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/113072411248306655'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/10/coming-up-for-air.html' title='Coming up for air...'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-111731127188167790</id><published>2005-05-28T11:32:00.000-07:00</published><updated>2005-05-28T13:17:03.813-07:00</updated><title type='text'>Epic Ride</title><content type='html'>One of my buddies from work, Ladislau, has been bugging me to do an "Epic" ride for awhile.  Since we had Friday off (Thursday was a ship party for internal work Milestone as well as an office move day so they gave us a 4 day weekend) and I had my new bike, Ladislau was conviced the stars had aligned for the "Epic" ride.&lt;br /&gt;&lt;br /&gt;For this particular journey, he wanted to revisit a route that had brutalized him a year or so ago with an other avid biker from MS.  The route takes you from the bottom of Raineer (Park Exit on Map) to Paradise.   This trip was originally suppose to be four of us, but Saeed &lt;em&gt;&lt;strong&gt;wimped&lt;/strong&gt;&lt;/em&gt; out at the last moment.&lt;br /&gt;&lt;br /&gt;To get an idea of the ride, take a look at the following profile from RamRod (a truely Epic ride).  We started at the 120 mark, went to Paradise (backwards on profile), had lunch, and then biked back to the park Exit.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.redmondcyclingclub.org/RAMROD/rrelev.gif" width=90% height=90%&gt;&lt;br /&gt;&lt;br /&gt;Stats from Ride (partially from my Polar, partially provided from Thom):&lt;br /&gt;&lt;br /&gt;Distance: 83.12 miles (from Thom)&lt;br /&gt;Riding Time: 6h 17m (from Thom)&lt;br /&gt;Climbing: 10,426 ft (from Thom)&lt;br /&gt;Speed Max: 37.2 MPH, Avg 12.5 MPH&lt;br /&gt;Water Consumed on Ride: 1.6 gallons (204 oz)&lt;br /&gt;Calories expended: ~5,875 riding, ~7225 total (from Thom)&lt;br /&gt;Mechanicals: 0&lt;br /&gt;Flat Tires: 0&lt;br /&gt;Crashes/Wreaks/gunfights/explosions: 0&lt;br /&gt;Bad drivers: 1 (red neck in a truck at very end)&lt;br /&gt;Cops out patrolling: too many to count! (Too bad they didn't see the truck)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-111731127188167790?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/111731127188167790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=111731127188167790&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111731127188167790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111731127188167790'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/05/epic-ride.html' title='Epic Ride'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-111506000793125570</id><published>2005-05-02T11:53:00.000-07:00</published><updated>2006-07-17T20:02:44.073-07:00</updated><title type='text'>Got me a new bike!</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/6738/405/1600/buenos_aires.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6738/405/320/buenos_aires.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I finally broke down and bought a new bike.  I've been riding my Trek Elance since college (almost 15 years), but with my renewed interest in biking recently I decided it was time to upgrade.  There were three main reasons for upgrading.  &lt;br /&gt;&lt;br /&gt;#1 - Shifting: My Elance was a frame shifter, so I had to lean down to shift gears.  This was always a little unnerving at the bottom of a hill when I'm doing 30+ mph and I have to down shift because of a stop.&lt;br /&gt;&lt;br /&gt;#2 - Age: Being as old as it is, my Elance was quite a bit heavier (being Chromolly steel) then my riding partners bikes.  While it did mean I got a better workout :), it also meant I fatigued sooner.  In addition I blew 4 spokes last year.  I suspect my wheels are reaching their end of life.&lt;br /&gt;&lt;br /&gt;#3 - Spinning: Man does it suck to be standing up powering up a hill and have old folks spin right past you (nothing against old folks as I'm quickly becoming one).  My Elance is only a 12 speed, so my gear ratio choices are rather limited.&lt;br /&gt;&lt;br /&gt;That said, I'm a rather finicky about my ride.  I rode several aluminum bikes, but didn't really like the vibration.  I wasn't sure I wanted to invest in a fully Carbon.  Then I saw the spine bikes from Lemond, which piqued my interest.  After riding one this weekend, I fell in love and had to order one.  The final selling point for me was that the bike I ordered was named after the city I was born in.  It must be fate! &lt;br /&gt;&lt;br /&gt;According to my dealer, the bike should be in on Thursday.  They didn't have a double in my size, but luckily he had just sold another size that wanted a triple, so he was going to switch the hardware between the bikes when they came in.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lemondbikes.com/bikes/road_racing/carbon_aluminum_spine/#"&gt;LeMond Racing Cycles &amp;#65533; 2005 Bikes &amp;#65533; Steel/Carbon &amp;#65533; Buenos Aires&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-111506000793125570?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.lemondbikes.com/2005_bikes/buenos_aires.shtml#' title='Got me a new bike!'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/111506000793125570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=111506000793125570&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111506000793125570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111506000793125570'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/05/got-me-new-bike.html' title='Got me a new bike!'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-111405822155841721</id><published>2005-04-20T21:37:00.000-07:00</published><updated>2005-04-20T21:37:01.556-07:00</updated><title type='text'>St. Patricks Day Dash</title><content type='html'>Get's better every year... who's says old dogs can't run faster!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perfecttimeevents.com/events/2005/dash/APATMALG.TXT"&gt;2005&lt;/a&gt;: "505  63  1359 JAMES WEBSTER         36  BELLEVUE WA            &lt;strong&gt;23:23&lt;/strong&gt;   23:53"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perfecttimeevents.com/events/2004/stpats/PMALEG.TXT"&gt;2004&lt;/a&gt;: "725 101  1030 JAMES WEBSTER         36  BELLEVUE WA            &lt;strong&gt;23:44&lt;/strong&gt;   25:16"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perfecttimeevents.com/events/2003/2003dash/MALEGRN.TXT"&gt;2003&lt;/a&gt;: "1011 174  3399 JAMES WEBSTER         34  BELLEVUE WA            &lt;strong&gt;25:38&lt;/strong&gt;   26:50"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.perfecttimeevents.com/events/2002/stpats/GRNMEN.TXT"&gt;2002&lt;/a&gt;: "1060 369  3922 JAMES WEBSTER         33  BELLEVUE WA            &lt;strong&gt;27:18&lt;/strong&gt;   28:39"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-111405822155841721?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.perfecttimeevents.com/events/2005/dash/APATMALG.TXT' title='St. Patricks Day Dash'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/111405822155841721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=111405822155841721&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111405822155841721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111405822155841721'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/04/st-patricks-day-dash.html' title='St. Patricks Day Dash'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-111405733160884210</id><published>2005-04-20T21:22:00.000-07:00</published><updated>2005-04-20T21:22:11.606-07:00</updated><title type='text'>Complete Running Wisdom</title><content type='html'>&lt;a href="http://completerunning.com/running-wisdom/"&gt;Complete Running Wisdom&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Link to some interesting running/x-training wisdom in preparation for &lt;a href="http://www.sanjuanislandmarathon.com/"&gt;San Juan&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-111405733160884210?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://completerunning.com/running-wisdom/' title='Complete Running Wisdom'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/111405733160884210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=111405733160884210&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111405733160884210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/111405733160884210'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/04/complete-running-wisdom.html' title='Complete Running Wisdom'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-110849408251128909</id><published>2005-02-15T09:26:00.000-08:00</published><updated>2005-02-15T11:01:22.516-08:00</updated><title type='text'>The making of SmtpDiag</title><content type='html'>While its been almost two years since I worked on SmtpDiag, its always gratifying to see that the work you've done is actually helping customers.  For those that are interested, here's a little more background on the tool.&lt;br /&gt;&lt;br /&gt;Last summer one of my teammates, Matt Kuzior, took over my work in progress and finished the last of the work to get SmtpDiag ready for web release.  If it wasn't for Matt, the tool may never had made it into the public domain, as it had been prioritized so low on my list that I probably would never had gotten to it.  So if you ever run across Matt, make sure you thank him.&lt;br /&gt;&lt;br /&gt;SmtpDiag shipped as part of the Exchange 2003 Web Release 1.1 last fall.  The tool itself is fairly simple.  In essence it automates the steps set out in several KB articles used to diagnose outbound SMTP/DNS issues for both Exchange and IIS SMTP.&lt;br /&gt;&lt;br /&gt;One of the reasons I created the tool, is that while the KB's were useful for those that had a lot of experience with DNS and SMTP, they tended to cause more questions for those that weren't familiar with these protocols.  In addition the KB articles didn't go into details as to other issues with DNS that could cause random failures.&lt;br /&gt;&lt;br /&gt;For Inbound issues, it was easy to point customers to www.checkdns.net or www.dnsreport.net.  Both sites provide detailed information on a domains DNS records as well as providing warnings and failures.  Though as stated earlier, for outbound issues, customers only had KB articles that pointed to tools such as telnet and nslookup that were less then customer friendly.&lt;br /&gt;&lt;br /&gt;The tool started as a side project (as most tools do) for myself to brush up on my C++ as well as get more familiar with the Windows DNS api.  The original purpose was to create a library that I could reuse in several different internal tools used to automate testing of our products.  As time went on though, I realized that with a little bit of work I could leverage my work to create a simple command line tool that automated &lt;a href="http://support.microsoft.com/kb/203204"&gt;KB203204&lt;/a&gt;.  Once that was done, I started adding similar checks found on CheckDNS and DnsReport.  The final step was to add support to check SMTP to replace &lt;a href="http://support.microsoft.com/kb/q153119/"&gt;Q153119&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Unfortunately that was not the end of the process for me.  Since this was the first tool I had written for public release, I had no idea that there were localization requirements.  In October of 2003 the tool was checked into our source depot where it sat for 6 months untouched.  During those 6 months the priority of changing strings into resources, supporting Unicode, and all else that goes along with localization fell far below work on Titanium, Service packs, new automation, etc.&lt;br /&gt;&lt;br /&gt;In July of 04, Matt was looking for a side project to work on to brush up on his C++, so I offered up SmtpDiag and gave him the 2 month timeline for WR1.1.  Matt then spent the next two months localizing, fixing bugs, and then finally delivering the finished product in the WebRelease.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-110849408251128909?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?FamilyID=BC1881C7-925D-4A29-BD42-71E8563C80A9&amp;displaylang=en' title='The making of SmtpDiag'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/110849408251128909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=110849408251128909&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/110849408251128909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/110849408251128909'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2005/02/making-of-smtpdiag.html' title='The making of SmtpDiag'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-109546198612078002</id><published>2004-09-17T14:50:00.000-07:00</published><updated>2004-09-17T16:04:10.240-07:00</updated><title type='text'>My 1st Triathlon</title><content type='html'>It was the end of summer, I'd just finished doing my 2nd STP and I was getting ready for the fall running season.  A friend of mine from work, Eric Hartman, ran into me in the locker room and started talking about a Tri he'd done earlier in the summer.  Next thing I know, he's talked ME into doing a Tri!  While I'm a decent runner and biker, I'm not that strong of a swimmer.  In addition the thought of doing all three activities together sounded a bit scary.  But not being one to go back on my word, I started to prepare.&lt;br /&gt;&lt;br /&gt;The first thing I did was head to my local pool and swam 32 laps which is ~half a mile.  While it wasn't easy, I was able to do it, though it took me 37 minutes and I spent a lot of time swimming on my back.&lt;br /&gt;&lt;br /&gt;The next thing was to read some Tri articles online.  I found some useful information, but what I found most interesting was that most people posting about their 1st tri actually talked about that it was easier then they thought.  All of these were talking about a sprint tri of course, which I was doing, so it did lift my spirts a bit as to the reality of finishing.&lt;br /&gt;&lt;br /&gt;The day of event my brother was in town, and so he went down to the lake with us to take pictures.&lt;br /&gt;&lt;br /&gt;The first part of the event was swimming.  I was actually pretty happy about this as I wouldn't have to worry about drowning because I was exhausted! :)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.websterclan.com/ac/DSCN3053sm.jpg" height=200 width=300&gt;&lt;br /&gt;&lt;em&gt;Thats me in the blue and black wetsuit diving in.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The swim WAS much harder then I expected.  The wetsuit did help in terms of keeping me warm and helping me keep afloat, but all the splashing made it really difficult to breath without choking on some lake water.  In addition swimming in a pool is nothing like jumping into a lake and then realizing that tiny little blob WAY out there is the 1/2 way point.&lt;br /&gt;&lt;br /&gt;Finally after 25:31 I dragged my soggy self into the transition area.  I then spent the next 4:32 trying to figure out how to put my shirt on.  Yes, I said shirt.  Most people have problems taking off the wetsuits.  I had practiced several times before the race and had that down.  But for some reason after I had my suit off, my shorts on, my shoes on, I then had the devil of a time getting my friggin shirt on.  It was probably because my skin was half dry/half wet and was sticking but in any case I finally got the shirt on and headed off biking.&lt;br /&gt;&lt;br /&gt;It felt great to get on my bike and start passing people.  On the swim I quickly fell to the back of our pack and was being passed by waves that started after ours.  Matter of fact, out of 183 men only 8 swam slower than I did.  The good news this is a great place for me to make up time.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.websterclan.com/ac/DSCN3071sm.jpg" height=200 width=300&gt;&lt;br /&gt;&lt;em&gt;This is me leaving the transition area after the swim.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The bike ride was actually a familar route for me (East Lake Samamish) though its usually part of a much longer ride.  My friend Eric, who is a strong swimmer, quickly showed up and disappeared from my radar as I pedaled furiously trying to make up for my swimming performance.  14 miles later and I finished the ride in 48:43 and finished 107 out of 183 for the bike leg.&lt;br /&gt;&lt;br /&gt;Since I had toe clips on, my 2nd transition was pretty quick.  I just parked my bike, took off my helment, and ran out the other side.  All together it took 51 seconds.  I was then off on a VERY rough 3.5 mile cross country run.  The first part of the run I actually had a problem I thought I would earlier, my calf muscles were cramped up.  I actually expected this from swim to bike, but I guess the bike to run had a bigger effect on the muscles I was using.  I quickly worked out the cramps and then proceeded to try not to twist my ankles on the rough path we were running on.  The good news was that it was also slowing everyone else down, so once again I found myself passing people.  A little bit past the 2 mile mark we actually got a real path and I was able to hit the gas.  The last 1/2 mile I passed quite a few people and ended up finishing 86 out of 183 for the running leg.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.websterclan.com/ac/DSCN3078sm.jpg" height=200 width=300&gt;&lt;br /&gt;&lt;em&gt;Dash to the finish, not even stopping to tie my shoe!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;My total time was 1:47:06 and I finished 135 out of 185 men, not too shabby for my first Tri!  Overall I really enjoyed the experience and will most likely do a couple more Tri's next spring/summer.  In the mean time I'm planning on hitting the lap pool to see if I can't do anything to improve that swim leg!&lt;br /&gt;&lt;br /&gt;James&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-109546198612078002?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/109546198612078002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=109546198612078002&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/109546198612078002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/109546198612078002'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/09/my-1st-triathlon.html' title='My 1st Triathlon'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-109545413383539852</id><published>2004-09-17T13:46:00.000-07:00</published><updated>2004-09-17T13:48:53.836-07:00</updated><title type='text'>IMF Archive Manager Version 2 released</title><content type='html'>After 6 months of feedback and contributions by the folks over in the &lt;a href="http://workspaces.gotdotnet.com/imfarchive"&gt;IMFAM&lt;/a&gt; workspace, I’m happy to announce the final release of the 2nd IMF Archive Manager.&lt;br /&gt;&lt;br /&gt;For those that don’t know, IMFAM is a C# GUI tool released as shared source on GotDotNet that provides a view of the IMF archive directory and the eml files in it. It also has a preview pane that displays decoded P2 mail message properties as well as the entire raw message. There are 5 actions: Refresh, Delete, Resubmit, Copy to Clip, and Report. Refresh reloads the view as well as the raw message. Delete deletes the selected message. Resubmit moves the message to the pickup directory where it is resubmitted to the MTA and delivered. Copy to Clip copies the entire raw message to the clipboard in case you want to paste it in another window. Report creates a new message, attaches the selected message as an attachment, and then sends it to the recipient listed in the report settings. In addition it optionally strips P1 headers, x-SCL header, and deletes the message if so configured in the report settings. The report feature is useful if you want to send the UCE to reporting organizations such as &lt;a href="http://www.spamcop.net"&gt;http://www.spamcop.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Version 2 adds support for 4 languages; French, German, Spanish (Mexico), and Traditional Chinese (Taiwan). It also provides a new List View that allows the messages to be previewed similar to a mail client as well as supporting multi-select operations. Head over to &lt;a href="http://workspaces.gotdotnet.com/imfarchive"&gt;http://workspaces.gotdotnet.com/imfarchive&lt;/a&gt; for a full list of features and to download the tool.&lt;br /&gt;James Webster&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-109545413383539852?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=e8728572-3a4e-425a-9b26-a3fda0d06fee' title='IMF Archive Manager Version 2 released'/><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/109545413383539852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=109545413383539852&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/109545413383539852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/109545413383539852'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/09/imf-archive-manager-version-2-released.html' title='IMF Archive Manager Version 2 released'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108758747683423305</id><published>2004-06-18T12:27:00.000-07:00</published><updated>2004-06-18T12:37:56.833-07:00</updated><title type='text'>IMF Archive Manager 2.0 Beta</title><content type='html'>I've been working on IMFAM during my spare time to address the feedback I've been getting.  I believe the Beta is now ready, but as fate would have it, GotDotNet appears to be having problems.&lt;br /&gt;&lt;br /&gt;So for now you will just have to salivate over what is going to be in it as opposed to trying it out:&lt;br /&gt;&lt;br /&gt;Delete Key mapped to Delete Button for those that are mouse imparied (like myself).&lt;br /&gt;&lt;br /&gt;Several rendering bug fixes for particular (corrupt?!?) messages.&lt;br /&gt;&lt;br /&gt;Automatic Refresh time exposed in the xml configuration file.  In addition, Automatic refresh no longer reloads the message pane, so if you are editing a message, you won't loose your changes.&lt;br /&gt;&lt;br /&gt;NEW VIEW!  I've added the ability to switch from the original tree view to a new list view.  The new list view allows column reordering, column sorting, and multiselect.  Multiselect actions are limited to delete at this point.&lt;br /&gt;&lt;br /&gt;Better loading experience.  For both the old view and the new view I added a Application.DoEvents() in the loop that populates the views.  This will allow you to start working without waiting for everything to reload.  One additional feature for the ListView is the entire list is not reset during automatic refresh, just new items are added.&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/6970636-108758747683423305?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108758747683423305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108758747683423305&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108758747683423305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108758747683423305'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/06/imf-archive-manager-20-beta.html' title='IMF Archive Manager 2.0 Beta'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108743360150305837</id><published>2004-06-16T17:53:00.000-07:00</published><updated>2004-06-16T17:53:21.503-07:00</updated><title type='text'>Intelligent Message Filter Release Notes</title><content type='html'>&lt;a href="http://download.microsoft.com/download/2/2/C/22CCB3FB-CE5F-4E23-810B-1A4AC5540C97/IntelligentMessageFilterReadmejune2004.htm"&gt;Intelligent Message Filter Release Notes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those running into issues with IMF, an updated README has now been published.  This includes a FAQ that covers most issues you may have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108743360150305837?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108743360150305837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108743360150305837&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108743360150305837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108743360150305837'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/06/intelligent-message-filter-release.html' title='Intelligent Message Filter Release Notes'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108691146626717801</id><published>2004-06-10T16:51:00.000-07:00</published><updated>2004-06-10T16:51:06.266-07:00</updated><title type='text'>MissingManifestResourceException</title><content type='html'>What a pain in the butt!  I was working on getting the &lt;a href="http://workspaces.gotdotnet.com/imfarchive"&gt;IMF Archive Manager&lt;/a&gt; working for globalization when I suddenly ran into this.  I have two forms, main and report.  The main report I took care of without a hitch, but as soon as I turned localization = true on the report form, the app would throw a MissingManifestResourceException when it loaded.&lt;br /&gt;&lt;br /&gt;There were several articles that I read that could cause this problem, but none of them offered a solution or the solution didn't apply.  After some digging I realized that my main form resource file was being generated as Microsoft.Exchange.Tools.IMFArchiveManger.frmMain.resources where my report form was being generated as IMFFilterManger.Report.resources.&lt;br /&gt;&lt;br /&gt;The fix was as simple as going into the project settings and changing the default namespace from IMFFilterManager to Microsoft.Exchange.Tools.IMFArchiveManager and then suddenly everything started working.&lt;br /&gt;&lt;br /&gt;God I hate dumb things like that! :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108691146626717801?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108691146626717801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108691146626717801&amp;isPopup=true' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108691146626717801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108691146626717801'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/06/missingmanifestresourceexception.html' title='MissingManifestResourceException'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108561954025191209</id><published>2004-05-26T17:59:00.000-07:00</published><updated>2004-05-26T17:59:00.250-07:00</updated><title type='text'>Not sure which is funnier.. The level of blog referrals, or the actual article.</title><content type='html'>&lt;a href="http://www.vsdevcentral.net/blogs/roys/archive/2004/03/07/150.aspx"&gt;Not sure which is funnier.. The level of blog referrals, or the actual article.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are willing to dig, there is a pretty funny story at the end of this long referral! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108561954025191209?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108561954025191209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108561954025191209&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108561954025191209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108561954025191209'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/not-sure-which-is-funnier-level-of.html' title='Not sure which is funnier.. The level of blog referrals, or the actual article.'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108553223059998064</id><published>2004-05-25T17:41:00.000-07:00</published><updated>2004-05-25T17:43:50.600-07:00</updated><title type='text'>Weather in Ilinois</title><content type='html'>My best friend Eric was complaining that my blog was filled with too much techo babble, so &lt;a href="http://radar.accuweather.com/adcbin/public/radar_index_large.asp?partner=accuweather&amp;type=loop&amp;nxtype=sir&amp;getArea=SC_REG&amp;btnGet=btnreg"&gt;here&lt;/a&gt; is something a little different. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108553223059998064?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108553223059998064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108553223059998064&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108553223059998064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108553223059998064'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/weather-in-ilinois.html' title='Weather in Ilinois'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108550250136601999</id><published>2004-05-25T09:27:00.000-07:00</published><updated>2004-05-25T09:28:21.366-07:00</updated><title type='text'>IMF Archive Manager</title><content type='html'>As you may have heard by now, Exchange has released a cool new feature today (5/25/04) that goes by the name of Intelligent Message Filter (IMF).  You can find out more details on this cool feature at www.microsoft.com/exchange/imf.  On Exchange, we are encouraged internally to Dogfood (consume pre-release deliverables) our own products, and since I’ve always enjoyed battling the UCE problem on my personal mail server, I decided to give IMF a test drive.&lt;br /&gt;&lt;br /&gt;After getting everything thing setup, my first choice in filtering was to give my end users (family) the burden of cleaning up UCE from their own junk mail folder.  The initial feedback was extremely positive, and I was quickly able to figure out the thresholds that worked for most people (6 on the fence, 7 and up almost always UCE).  But I also started getting feedback that the end users didn’t really want to continue to deal with the stuff that was definitely UCE and would prefer it never got to the inbox.  &lt;br /&gt;&lt;br /&gt;As it so happens, IMF has a choice of choosing different actions at two different levels.  The first action that I had already used was storing the UCE to the Junk E-mail folder.  The second action was a blocking action that would Archive, Delete, or Reject.  I didn’t want to reject, as more likely then not I’d end up with a bunch of NDR’s sitting in an outbound queue that would never be delivered.  I didn’t want to delete, as I’m always concerned about accidental mail deletion, so Archive sounded like the perfect solution for me.&lt;br /&gt;&lt;br /&gt;Since I knew that level 7 and up typically was UCE, I set the Blocking configuration to Archive messages with SCL 7 or greater.  I then started watching messages pile up in my “program files\exchsrvr\mailroot\vsi 1\UceArchive” folder.  I now had to figure out a way to manage this folder.  Unfortunately this was not an area that the IMF feature was focused on.  Using OE or notepad via browser window was not very pleasant.  So it was time to fire up Visual Studio and roll my own Archive Manager.  The result was the IMF Archive Manager (IMFAM) that is now available on http://workspaces.gotdotnet.com/imfarchive.&lt;br /&gt;&lt;br /&gt;IMFAM is a C# GUI tool released as source on GotDotNet that provides a tree view of the archive directory and the eml files in it.  It also has a preview pane that displays decoded P2 mail message properties as well as the entire raw message.  There are 5 actions; Refresh, Delete, Resubmit, Copy to Clip, and Report.  Refresh reloads the tree view as well as the raw message.  Delete deletes the selected message.  Resubmit moves the message to the pickup directory where it is resubmitted to the MTA and delivered.  Copy to Clip copies the entire raw message to the clipboard in case you want to paste it in another window.  Report creates a new message, attaches the selected message as an attachment, and then sends it to the recipient listed in the report settings.  In addition it optionally strips P1 headers, x-SCL header, and deletes the message if so configured in the report settings.  The report feature is useful if you want to send the UCE to reporting organizations such as http://www.spamcop.net.&lt;br /&gt;&lt;br /&gt;Since this is released as an open source project on GotDotNet, feel free to download it, kick the tires, provide feedback, or even join the group and provide new features.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108550250136601999?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108550250136601999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108550250136601999&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108550250136601999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108550250136601999'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/imf-archive-manager.html' title='IMF Archive Manager'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108484459286281882</id><published>2004-05-17T18:43:00.000-07:00</published><updated>2004-05-17T18:43:12.863-07:00</updated><title type='text'>IMF Archive Manager: Home</title><content type='html'>&lt;a href="http://www.gotdotnet.com/community/workspaces/workspace.aspx?ID=E8728572-3A4E-425A-9B26-A3FDA0D06FEE"&gt;IMF Archive Manager: Home&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've gotten approval for release of my IMF Archive manager tool.  More details will be released next week on IMF at TechEd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108484459286281882?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108484459286281882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108484459286281882&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108484459286281882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108484459286281882'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/imf-archive-manager-home.html' title='IMF Archive Manager: Home'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108483476965339489</id><published>2004-05-17T15:59:00.000-07:00</published><updated>2004-05-17T15:59:29.653-07:00</updated><title type='text'>Microsoft extends availability of spam filter</title><content type='html'>&lt;a href="http://searchexchange.techtarget.com/originalContent/0,289142,sid43_gci964214,00.html"&gt;Microsoft extends availability of spam filter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The IMF buzz has started.  Next week's TechEd conference should be interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108483476965339489?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108483476965339489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108483476965339489&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108483476965339489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108483476965339489'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/microsoft-extends-availability-of-spam.html' title='Microsoft extends availability of spam filter'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108449635692764582</id><published>2004-05-13T12:24:00.000-07:00</published><updated>2007-07-18T14:24:07.510-07:00</updated><title type='text'>QP/Base64 decoding of RFC 2822 header fields</title><content type='html'>As I mentioned previously, I have a distain for UCE. On my home Exchange server I'm constantly trying to come up with new ways to block this junk email. For quite some time I've relied on RBL's which is now very easy to use with Exchange 2003. The only problem with RBL's is that the speed that worms/viruses create new open proxies usually allows spammers a couple of hours to exploit a new slave machine before it is black listed. Being an insider lets me test drive new technologies like IMF.&lt;br /&gt;&lt;br /&gt;One cool aspect of IMF is that it can be setup to archive messages that exceed a certain spammines. Of course then you are left with a bunch of messages in a directory that you have to browse through.&lt;br /&gt;&lt;br /&gt;Being the geek that I am, I decided to write my own browser to parse the messages so I could decide to resubmit them, delete them, or report them to &lt;a href="http://www.spamcop.net/"&gt;SpamCop&lt;/a&gt;. Everything was going great until I found that quite a few spammers have started either QP or Base64 encoding the headers per RFC 1342. I quickly figured out how to solve the Base64 issue with C#, but there didn't seem to be any support for QP decoding. Searching online only generated results of other people looking for the same solution. So after going through the spec I ended rolling my own solution as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;//using System;&lt;br /&gt;//using System.Collections;&lt;br /&gt;//using System.Globalization;&lt;br /&gt;//using System.Text;&lt;br /&gt;//using System.Text.RegularExpressions;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;private static string DecodeField(string field)&lt;br /&gt;{&lt;br /&gt;    string result = field;&lt;br /&gt;    int isoStart = field.IndexOf("=?");&lt;br /&gt;    int isoEnd = field.IndexOf("?=") - isoStart -2;&lt;br /&gt;    if (isoStart &gt; -1 &amp;&amp;amp; isoEnd &gt; -1)&lt;br /&gt;    {&lt;br /&gt;        string text = field.Substring(isoStart + 2, isoEnd);&lt;br /&gt;        string[] parts = field.Substring(isoStart + 2, isoEnd).Split('?');&lt;br /&gt;&lt;br /&gt;        // Only continue parsing if there are 3 parts&lt;br /&gt;        // charset?encoding?text&lt;br /&gt;        if (parts.Length == 3)&lt;br /&gt;        {&lt;br /&gt;            Encoding coder = Encoding.GetEncoding(parts[0]);&lt;br /&gt;            byte[] bSubject;&lt;br /&gt;            if (parts[1].ToLower().Equals("b"))&lt;br /&gt;                bSubject = Convert.FromBase64String(parts[2]);&lt;br /&gt;            else&lt;br /&gt;                bSubject = QPGetString(parts[2]);&lt;br /&gt;            result = coder.GetString(bSubject);&lt;br /&gt;            if (isoStart + isoEnd + 4 &lt;&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;                result += field.Substring(isoStart + isoEnd + 4);&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;            if (isoStart &gt; 0)&lt;br /&gt;                result = field.Substring(0, isoStart) + result;&lt;br /&gt;        } &lt;/span&gt;&lt;span style="color:green;"&gt;&lt;br /&gt;        else&lt;br /&gt;            throw new ArgumentException(String.Format("Invalid number of parameters! Expected 3, found {0}. Correct format is =?charset?encoding?text?=", parts.Length));&lt;br /&gt;    }&lt;br /&gt;    else if (isoStart &gt; -1  isoEnd &gt; -1)&lt;br /&gt;        throw new ArgumentException("Invalid encoding detected! Correct format is =?charset?encoding?text?=");&lt;/span&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;    return result;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private static byte[] QPGetString(string line)&lt;br /&gt;{&lt;br /&gt;    if (line == null)&lt;br /&gt;    throw new ArgumentNullException();&lt;br /&gt;&lt;br /&gt;    ArrayList byteArray = new ArrayList();&lt;br /&gt;&lt;br /&gt;    // look for =XX where xx is hex&lt;br /&gt;    Regex reg = new Regex("(\\=([0-9A-F][0-9A-F]))", RegexOptions.IgnoreCase);&lt;br /&gt;    for (int i = 0; i &lt;&gt;&lt;br /&gt;&lt;span style="color:green;"&gt;        if(line.Length &gt;= i + 3 &amp;&amp;amp; Char.Equals(line[i],'=') &amp;&amp;amp; reg.IsMatch(line.Substring(i,3)))&lt;br /&gt;        {&lt;br /&gt;            byteArray.Add(Convert.ToByte(int.Parse(line.Substring(i+1,2), NumberStyles.HexNumber)));&lt;br /&gt;            // skip two chars&lt;br /&gt;            i += 2;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            byteArray.Add(Convert.ToByte(char.Parse(line.Substring(i,1))));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    return (byte[]) byteArray.ToArray(typeof(byte));&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Updated with error checking&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108449635692764582?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108449635692764582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108449635692764582&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108449635692764582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108449635692764582'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/qpbase64-decoding-of-rfc-2822-header.html' title='QP/Base64 decoding of RFC 2822 header fields'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108447094531524574</id><published>2004-05-13T10:55:00.000-07:00</published><updated>2004-05-13T10:55:45.316-07:00</updated><title type='text'>Microsoft Unveils Future Of Tablet PC</title><content type='html'>&lt;a href="http://www.eweek.com/article2/0,1759,1586512,00.asp"&gt;Microsoft Unveils Future Of Tablet PC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I never really thought that tablets were all that until I my laptop died and I had to get a new one.  Corporate policy dictates the minimum specs for new hardware, so my choice was between a bulky "desktop" laptop with all the bells and whistles or a slim line Toshiba Portege Tablet.  Needless to say I went the tablet route and and have quickly fallen in love with it.  I've always been a big pad and pen note taker in meetings, so moving to the tablet using &lt;a href="http://office.microsoft.com/home/office.aspx?assetid=FX01085803"&gt;Onenote&lt;/a&gt; wasn't very hard, especially since I had gone to using one notes to organize my notes before making the switch.&lt;br /&gt;&lt;br /&gt;Some of the new features mentioned in this article are sure to only increase my reliance on electronic Ink.&lt;br /&gt;&lt;br /&gt;James&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108447094531524574?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108447094531524574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108447094531524574&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108447094531524574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108447094531524574'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/microsoft-unveils-future-of-tablet-pc.html' title='Microsoft Unveils Future Of Tablet PC'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108439750562362320</id><published>2004-05-12T14:31:00.000-07:00</published><updated>2004-05-12T14:31:45.623-07:00</updated><title type='text'>Slashdot | OptInRealBig Wins Restraining Order On SpamCop</title><content type='html'>&lt;a href="http://yro.slashdot.org/yro/04/05/12/1226222.shtml?tid=111&amp;amp;tid=123&amp;amp;tid=126&amp;amp;tid=95&amp;amp;tid=99"&gt;Slashdot | OptInRealBig Wins Restraining Order On SpamCop&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lets hope that Spamcop wins this round, though I suspect that going after the fact that Spamcop is generating reports about websites inside of mail can be construed as harassment.  I personally use Spamcop for both RBL as well as a reporting mechanism and find their services very effective at stopping future spam.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108439750562362320?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108439750562362320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108439750562362320&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108439750562362320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108439750562362320'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/slashdot-optinrealbig-wins-restraining.html' title='Slashdot | OptInRealBig Wins Restraining Order On SpamCop'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6970636.post-108439543174595657</id><published>2004-05-12T13:15:00.000-07:00</published><updated>2004-05-13T18:00:49.526-07:00</updated><title type='text'>Knock Knock...</title><content type='html'>Who's there...  &lt;br /&gt;&lt;br /&gt;I guess its time for me to finally plunge into this new world of blogging with my own blog page.  The sites name was inspired by my youngest daughter, Emily, who loves "knock knock" jokes.  This isn't the first time I've &lt;a href="http://blogs.msdn.com/exchange/archive/2004/02/19/76432.aspx"&gt;blogged&lt;/a&gt; though.&lt;br /&gt;&lt;br /&gt;A little about me, I'm a Software Test Engineer lead working on the Exchange Transport team at Microsoft.  I live with my wife, two daughters, two cats, and dog in Bellevue a short 5 minute drive to work.&lt;br /&gt;&lt;br /&gt;One of my biggest pet peeve's is SPAM aka UCE.  Working on the Exchange Transport team helps me provide input into the direction MS is going in terms of fighting this issue.  Currently I'm working &lt;a href="http://www.microsoft.com/exchange/techinfo/security/EdgeServices.asp"&gt;Edge&lt;/a&gt; Server.  While I can't talk about any details other then what has been published, I am very excited about the prospects of Edge.&lt;br /&gt;&lt;br /&gt;James&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6970636-108439543174595657?l=jameswho.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jameswho.blogspot.com/feeds/108439543174595657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6970636&amp;postID=108439543174595657&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108439543174595657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6970636/posts/default/108439543174595657'/><link rel='alternate' type='text/html' href='http://jameswho.blogspot.com/2004/05/knock-knock.html' title='Knock Knock...'/><author><name>James Webster</name><uri>http://www.blogger.com/profile/15114992558919914134</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://4.bp.blogspot.com/_euXFVCZX66Q/TFnqnqNG8XI/AAAAAAAAABA/7xwDl3UpLEc/S220/JamesWebster-11-24-1968.jpg'/></author><thr:total>0</thr:total></entry></feed>
