<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Technically Speaking</title><link>http://weblogs.asp.net/chrisri/default.aspx</link><description>Chris Riccio&amp;#39;s Blog</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Expression Encoder bug</title><link>http://weblogs.asp.net/chrisri/archive/2009/05/19/expression-encoder-bug.aspx</link><pubDate>Wed, 20 May 2009 03:36:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7093259</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=7093259</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2009/05/19/expression-encoder-bug.aspx#comments</comments><description>
&lt;p&gt;I've been working on getting the excellent video sharing site &lt;a href="http://www.codeplex.com/videoshow" target="_blank" mce_href="http://www.codeplex.com/videoshow"&gt;Video.Show&lt;/a&gt; up and running on my home server for easy sharing of home videos with friends and family. Video.Show was developed by Vertigo software as a sort of blueprint for implementing silverlight applications, but I think it's pretty cool as-is.You can grab it from codeplex and see for yourself.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;In order to get my videos ready for the site and uploaded to my silverlight streaming account, I have a simple command line application that scans my home video directory, adds the video to the database, and then kicks off the processing of it. The Video.Show implementation has most of the mechanics worked out including launching the Expression Encoder command line.&lt;/p&gt;

&lt;p&gt;Things were working just dandy, videos getting processed and uploaded and then appearing on my site. Except some were causing the expression encoder to throw an unhandled exception. Some were for valid reasons - for example, I didn't have the required codec installed for some videos. (Why an unhandled exception is necessary for that is beyond me. It seems like a pretty common scenario). Anyways, I still had a set of videos that were causing the encoder to still throw an exception, and these were videos of the same type as others successfully getting processed.&lt;/p&gt;

&lt;p&gt;Digging deeper I found that for the videos in question the command line encoder was throwing the following exception:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
Unhandled Exception: System.ArgumentOutOfRangeException: The value must be great
er than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: left
Actual value was -4.
   at System.Console.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.Expression.Encoder.ConsoleEncoder.OnEncodePropChange(Object send
er, PropertyChangedEventArgs e)
   at Microsoft.Expression.Encoder.PropertyChangedImplTarget.FirePropertyChanged
Event(String strName)
   at Microsoft.Expression.Encoder.PropertyChangedImpl.Dispose()
   at Microsoft.Expression.Encoder.EncoderBase.&lt;finishitem&gt;b__3()
   at Microsoft.Expression.Encoder.MessageManager.SendToUIThread(MethodInvoker i
nvoker)
   at Microsoft.Expression.Encoder.EncoderBase.FinishItem()
   at Microsoft.Expression.Encoder.Encoder.EncodeItem(ItemData item, PublishItem
Info&amp;amp; publishedItem)
   at Microsoft.Expression.Encoder.ConsoleEncoder.Encode()
   at Microsoft.Expression.Encoder.ConsoleEncoder.Encode(ConsoleJob job)
   at Microsoft.Expression.Encoder.XmlCommand.Execute()
   at Microsoft.Expression.Encoder.Program.Run(String[] args)
   at Microsoft.Expression.Encoder.ProgramStarter.Run3[T](String[] args, RunAppH
andler`1 runApp)
   at Microsoft.Expression.Encoder.ProgramStarter.Run[T](String[] args, RunAppHa
ndler`1 runApp)
   at Microsoft.Expression.Encoder.Program.Main(String[] args)&lt;/finishitem&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I was still sort of baffled. I noticed that the expression encoder console application outputs to the console the percentage complete of the task, which seems perfectly logical to me. With this video though, it wasn't fitting on one line in the console window, because the file name for source and destination were big, so it looked like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
Encoding: Playing-before-swim-lessons.wmv -&amp;gt; Playing-before-swim-lessons.wmv 0.1
&lt;/code&gt;&lt;br&gt;
&lt;code&gt;
%
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
Note the way the percent wrapped to the next line. I changed the properties of my command window to change the width from 80 to 100, making it so that the status would appear on one line, and what do you think happened? &lt;/p&gt;&lt;p&gt;it worked!&lt;/p&gt;&lt;p&gt;So there is a bug somewhere in the calculation of how to output the status line when dealing with wrapping.&lt;/p&gt;&lt;p&gt;Hopefully this helps someone else out. &lt;br&gt;&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7093259" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/bugs/default.aspx">bugs</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Expression/default.aspx">Expression</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Lala.com and complex logic</title><link>http://weblogs.asp.net/chrisri/archive/2009/05/18/lala-bugs.aspx</link><pubDate>Mon, 18 May 2009 18:10:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7092220</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=7092220</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2009/05/18/lala-bugs.aspx#comments</comments><description>&lt;p&gt;I like listening to music while I work, and I like having all of my music at my fingertips. It used to be that I had to literally have a full copy of all my music on my work computer, until I found this cool service called Lala. It's a music service where I can have an application scan my home collection, and then play any song I own in my web browser, instantly making my entire collection available from anywhere. &lt;/p&gt;&lt;p&gt;Check it out: &lt;a href="http://www.lala.com/emaillanding?templateName=SignUp&amp;amp;path=signup%3FinviteToken%3DY3JlZGl0cz01OmZyb209LTkyMjMzMzg0MjQ0NDA2OTI4NTU6dG89bm9vcEBsYWxhLmNvbTo*-5H7CYNi_x7ToT98GPNUivA**&amp;amp;fc=viral.invite.memberLink" target="_blank" mce_href="http://www.lala.com/emaillanding?templateName=SignUp&amp;amp;path=signup%3FinviteToken%3DY3JlZGl0cz01OmZyb209LTkyMjMzMzg0MjQ0NDA2OTI4NTU6dG89bm9vcEBsYWxhLmNvbTo*-5H7CYNi_x7ToT98GPNUivA**&amp;amp;fc=viral.invite.memberLink"&gt;lala.com&lt;/a&gt; &lt;/p&gt;&lt;p&gt;I've been curious as to how exactly it handles the matching of the song I own to the song they have in their database. It appears that some songs just match, and others don't match, and they then upload the file into my account, so it's still available to me. Most curious is when it matches 5 songs from an album that has 10 songs. I would think it would match all of them, but maybe they only have the most popular five songs from that album in their database.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Anyways, I had scanned my library a while ago, and listening to
different albums for the last few weeks, with no complaints
what-so-ever. Today I started listening to Green Day's American Idiot. I was suprised to find that while the first two songs were the album versions, the third song, Holiday, was actually a live version from another album. I guess the matching logic still needs a little refining. &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7092220" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/bugs/default.aspx">bugs</category></item><item><title>Top Tools - HTTP Tracing</title><link>http://weblogs.asp.net/chrisri/archive/2009/05/18/top-tools-http-tracing.aspx</link><pubDate>Mon, 18 May 2009 17:31:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7092188</guid><dc:creator>chrisri</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=7092188</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2009/05/18/top-tools-http-tracing.aspx#comments</comments><description>&lt;p&gt;Continuing with my list of the most important tools for any web tester to have in thier arsenal, I turn to a set of tools that give you the low level HTTP information related to your tests.&lt;/p&gt;&lt;p&gt;Let's say you are busy bug bashing on the latest build of your super cool world changing web service, and suddenly there is one portion of the page failing to load. Maybe it's a silverlight or flash control, or a complex javascript image loader, or whatever. Every tester should log that bug. However the really good testers aren't content with just that. They want to know why that portion didn't load. In another post i'll talk about tools you can use on the client to determine that the page is working just fine, for now let's assume that it is. So that means there must be a problem getting the resources from the server.&lt;/p&gt;&lt;p&gt;Maybe you have a special version of your web site formatted for mobile devices, but there is one particular device that isn't getting detected. Again, every tester is going to log that bug, but the really good ones are going to say exactly why it's broken. So how are you going to figure that out? &lt;br&gt;&lt;/p&gt;&lt;p&gt;Enter HTTP Tracing tools. With these tools you'll be able to see exactly what the client is requesting from the server and the data it's sending, as well as the actual response from the server.&lt;br&gt;&lt;/p&gt;&lt;p&gt;A really good tool for http tracing will&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;let you see the raw http request and response, including headers and body&lt;/li&gt;&lt;li&gt;provide better visual aids for searching complex requests and responses&lt;/li&gt;&lt;li&gt;allow you to craft your own requests &lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Two great tools out there that meet these needs are &lt;a href="http://www.fiddler2.com/fiddler2/" target="_blank" mce_href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; and &lt;a href="http://www.wireshark.org/" target="_blank" mce_href="http://www.wireshark.org/"&gt;Wireshark&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Both of these tools are useful, and you would be well served getting familiar with them. Fiddler is just an HTTP(s) proxy, so it will only show that traffic, while Wireshark is a full network sniffer, so it will show all traffic in gory detail, and you can filter down to just show the HTTP traffic if you want. &lt;br&gt;&lt;/p&gt;&lt;p&gt;I've found that I use Fiddler mostly for the simple reason that I am only interested in the HTTP traffic usually. &lt;/p&gt;&lt;p&gt;Let me know if you have a favorite that's not one of these &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7092188" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/IIS/default.aspx">IIS</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/tools/default.aspx">tools</category></item><item><title>Top Tools - Screen Capture tools</title><link>http://weblogs.asp.net/chrisri/archive/2009/05/12/top-tools-screen-capture-tools.aspx</link><pubDate>Tue, 12 May 2009 17:43:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7084401</guid><dc:creator>chrisri</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=7084401</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2009/05/12/top-tools-screen-capture-tools.aspx#comments</comments><description>&lt;p&gt;The primary deliverable for many testers are bug reports. A treatise on what makes a good bug report is a post in and of itself, so i won't drill into that part (now), but will say that it's true that a picture says a thousand words. I've seen many bug reports with very little information get tossed around in triage meetings for weeks without resolution, because the tester didn't do a great job explaining the issue. I've also seen many bug reports with tons of information get tossed around in triage meetings for weeks without solution, because the triage team didn't want to wade through reams of complicated explanations. &lt;/p&gt;&lt;p&gt;Enter the screen capture tool - It's amazing how much a screenshot can help move a bug along. Everyone instantly grasps the problem without having to figure out what you are trying to say, and can make decisions quickly, plus you don't have to type so much.&lt;/p&gt;&lt;p&gt;So what are good tools to use for this? For me I look for a few different features:&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Easy to invoke&lt;/li&gt;&lt;li&gt;Provides basic cropping&lt;/li&gt;&lt;li&gt;Provides ability to highlight specific areas&lt;/li&gt;&lt;li&gt;Integrates well with my bug reporting tool &lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;My current screen capture tool of choice comes from the reporting tool we use, &lt;a href="http://www.fogcreek.com/FogBugz/" mce_href="http://www.fogcreek.com/FogBugz/"&gt;FogBugz Screenshot&lt;/a&gt;. It sits in my system tray, a single click on it takes a screenshot that i can then crop, add highlighting to, and then either append to an existing bug, or create a new bug.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Check your current bug system and see if there is a similar facility, you'd be suprised how many of them actually provide something.&lt;/p&gt;&lt;p&gt;If your bug system doesn't there still are lots of other great screen capture tools out there. I've been using the Snipping tool in Windows 7 a lot recently as well. &lt;a href="http://lifehacker.com/5218155/five-best-screen-capture-tools" mce_href="http://lifehacker.com/5218155/five-best-screen-capture-tools"&gt;This lifehacker post&lt;/a&gt; has a list of a bunch of other great ones.&lt;br&gt;&lt;/p&gt;&lt;p&gt;If you want to get really sophisticated you can grab one that actual makes recordings for complicated scenarios, like &lt;a href="http://camstudio.org/" mce_href="http://camstudio.org/"&gt;this tool&lt;/a&gt;.&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;p&gt;Obviously if you are working on something that doesn't have a UI to take a screenshot of, then this isn't specifically helpful, but your takeaway should be about determining the best way to get your bug across visually. We have an image transcoding service without a UI, but providing before and after images as well as expected image helps get the point across alot better than a few lines from an error log.&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7084401" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/tools/default.aspx">tools</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Windows/default.aspx">Windows</category></item><item><title>Top Tools for Testers</title><link>http://weblogs.asp.net/chrisri/archive/2009/05/12/top-tools-for-testers.aspx</link><pubDate>Tue, 12 May 2009 17:26:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7084392</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=7084392</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2009/05/12/top-tools-for-testers.aspx#comments</comments><description>&lt;p&gt;I was planning on giving a talk to my test team at Nokia about great tools for web testers, and then the &lt;a href="http://www.techflash.com/venture/Nokia_to_close_Kirkland_office_layoffs_possible_44560452.html" mce_href="http://www.techflash.com/venture/Nokia_to_close_Kirkland_office_layoffs_possible_44560452.html"&gt;hammer dropped&lt;/a&gt;, and won't be able to. I was planning on blogging about them anyway, so my next few posts are from a version of that talk.&lt;/p&gt;&lt;p&gt;Before I do that, I wanted to put them in perspective. This list is by no means comprehensive, and i'm quite sure I missed your favorite tool. If you have cool tools for testers, please let me know in the comments! This list is also a bit targeted at testers of web platforms or web services, although some are applicable across the board.&lt;/p&gt;&lt;p&gt;Finally, all the tools in the world won't help without an intimate understanding of the software you are testing, and the platform it is running on. If you are testing a web site built in ASP.NET running on .NET 3.5 and IIS 7, you should know exactly what it means to be running ASP.NET 3.5 websites on IIS 7 even before you get into the intracies of the web site itself. This principle is the same if you are running Ruby sites on Linux. Make sure you know the gotchas of the platform, or the freebies that developers get from the platform. Understanding that will bring you great insight into a better class of bugs that are the real shipstoppers.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7084392" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/tools/default.aspx">tools</category></item><item><title>Jewel Quest bugs</title><link>http://weblogs.asp.net/chrisri/archive/2008/12/24/jewel-quest-bugs.aspx</link><pubDate>Wed, 24 Dec 2008 20:47:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6806320</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=6806320</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2008/12/24/jewel-quest-bugs.aspx#comments</comments><description>&lt;p&gt;I've been playing Jewel Quest on XBox live Arcade recently. The essential point of the game is to match 3 or more gems of the same kind to color the squares they are on gold, removing them from the board, repeating until all the squares are gold. The game board refills with new random gems when you remove some.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Learn more about the game &lt;a href="http://www.xbox.com/en-US/games/j/jewelquestlivearcadexbox360/" target="_blank" mce_href="http://www.xbox.com/en-US/games/j/jewelquestlivearcadexbox360/"&gt;here&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;In any event, you start the game with 4 or so lives, and you get a new life after every 50,000 points scored. Also, you are allowed anywhere from 3-5 moves on a board before restarting the board costs you a life.&lt;/p&gt;&lt;p&gt;Of course, if you are going to spend time gaming, might as well spend time finding bugs too :) &lt;br&gt;
&lt;/p&gt;&lt;p&gt;Bug number 1: Unlimited lives - Get very close to a free life in your score, like 2-3 moves close. Let time run out on the board, or complete the board if you are that close. You'll start the next board within 3-4 moves of a free life, go ahead and make those moves. Now, restart the board. Here's the bug, your score resets to what it was before you started the board, which is correct, but it doesn't reset your number of lives. You can pretty much earn unlimited lives by making a few moves, getting that free life, restarting the board, and repeating this.&lt;/p&gt;&lt;p&gt;Another aspect of the game is making cascading matches. You match 3 gems which causes the ones above them to fall, in turn making a match, etc &lt;br&gt;&lt;/p&gt;&lt;p&gt;Bug number 2: Points after restart - This is in combination with the first bug. If you make a match that you know will cause cascading matches, press start immediately after you match that initial match, and choose restart. The game resets your score immediately, but then allows the cascading to continue, increasing your score before the board actually resets. This one isn't as useful as the first one, but still interesting to see. &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6806320" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/bugs/default.aspx">bugs</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/xbox/default.aspx">xbox</category></item><item><title>old skool photos</title><link>http://weblogs.asp.net/chrisri/archive/2008/12/23/old-skool-photos.aspx</link><pubDate>Tue, 23 Dec 2008 19:19:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6804456</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=6804456</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2008/12/23/old-skool-photos.aspx#comments</comments><description>&lt;p&gt;It's that time of year again, so the family went for Santa pictures. We've been going to the same photographer for the last 7 years or so, so all of our Santa photos are essentially the same - Same Santa, same setup, just growing kids and aging parents :). This year though the Santa was different, and not even remotely close to looking like the other Santa's. We were there so we took the picture anyway.&lt;/p&gt;&lt;p&gt;Of course we paid the going rate for a Santa photo, and the 5 minutes of photographer time it took for the session, we even sprung for the extra copy of the photo on disk. Here's what we got:&lt;/p&gt;&lt;p&gt;&lt;img src="http://media.share.ovi.com/m1/medium/0547/ac008e872db847868ec9bf0b0f5afff0.jpg" title="Share on Ovi" alt="Share on Ovi" mce_src="http://media.share.ovi.com/m1/medium/0547/ac008e872db847868ec9bf0b0f5afff0.jpg" width="192" border="0" height="256"&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Yes it is 2008 and yes that is a floppy disk. I no longer own a computer that has a floppy drive, so i don't think i'll be getting that photo anytime soon. But of course what would the point be? What digital camera takes a decent photo that fits on a 1.44MB floppy anyway? The photo on this disk is for the "web", it's really reduced in size.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Talk about timewarp. 7 years ago, this seemed perfectly logical. Everyone has floppy drives, not alot of folks have advanced digital cameras, and you always reduced the size of a photo to a thumbnail put it on the web because otherwise it would take forever to load. &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6804456" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/photography/default.aspx">photography</category></item><item><title>GTAC 2008</title><link>http://weblogs.asp.net/chrisri/archive/2008/12/05/gtac-2008.aspx</link><pubDate>Fri, 05 Dec 2008 18:18:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6767364</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=6767364</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2008/12/05/gtac-2008.aspx#comments</comments><description>&lt;p&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-alt:"Calisto MT";
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-alt:"Arial Rounded MT Bold";
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-size:10.0pt;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
&lt;/style&gt;
&lt;![endif]--&gt;





&lt;/p&gt;&lt;p class="MsoNormal"&gt;A few weeks ago I was fortunate to be able to attend the Google Test Automation Conference
here in Seattle.&lt;o:p&gt; &lt;/o:p&gt;While the name of the conference implies that it’s all about
Test Automation, I found it to actually be a little broader than that, aiming
at testing in general. Certainly it was one of the first technical conferences
I’ve been to where you didn’t have to explain to other people what a tester is
or what we do. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Many of the talks had great impressive titles that it seemed the 2 days would be awesome. In actuality some of them fell a little short of the lofty goals of the title and abstract of the talk, but all in all, a great conference.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;As a software tester, some of my takeaways from the conference:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;link href="file:///C:%5CUsers%5CChris%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-alt:"Calisto MT";
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-alt:"Arial Rounded MT Bold";
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	font-size:10.0pt;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:864833741;
	mso-list-type:hybrid;
	mso-list-template-ids:1634919602 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.25in;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--&gt;
&lt;/style&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
&lt;/style&gt;
&lt;![endif]--&gt; - Move away from large system tests towards smaller, focused, modular tests. &lt;/p&gt;&lt;p class="MsoNormal"&gt;- Stop writing your own tools, the ones you need are likely already out there&lt;/p&gt;&lt;p class="MsoNormal"&gt;- Start thinking outside the box as it relates to Virtualization - It's more than just getting more machines. &lt;br&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;I'll probably post on these more in the future. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;All of the talks are posted on &lt;a href="http://www.youtube.com/results?search_query=gtac+2008&amp;amp;search_type=&amp;amp;aq=f" target="_blank" mce_href="http://www.youtube.com/results?search_query=gtac+2008&amp;amp;search_type=&amp;amp;aq=f"&gt;YouTube&lt;/a&gt;. &lt;/p&gt;&lt;p class="MsoNormal"&gt;You should also check out the &lt;a href="http://googletesting.blogspot.com/%20%20" target="_blank" mce_href="http://googletesting.blogspot.com/  "&gt;Google Testing Blog&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6767364" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category></item><item><title>One year later...</title><link>http://weblogs.asp.net/chrisri/archive/2008/12/05/one-year-later.aspx</link><pubDate>Fri, 05 Dec 2008 17:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6767328</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=6767328</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2008/12/05/one-year-later.aspx#comments</comments><description>&lt;p&gt;Wow, over a year since my last post. Alot has happened. I work for Nokia now, not Microsoft. Instead of working on ASP.NET, i'm working on a real Internet Service built with ASP.NET (&lt;a href="http://share.ovi.com" target="_blank" mce_href="http://share.ovi.com"&gt;http://share.ovi.com&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;I am officially rebooting this blog today,I've changed the title for now. I'll be posting about more than just ASP.NET and Testing software, so that title wouldn't fit.&lt;/p&gt;&lt;p&gt;I want to talk more about software problems and how they are getting solved. I want to help folks host large scale ASP.NET&amp;nbsp; applications the right way. I want to share my hobbies and interests. &lt;/p&gt;&lt;p&gt;(Insert your favorite reboot sound here) &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6767328" width="1" height="1"&gt;</description></item><item><title>ASP.NET 3.5 is Released</title><link>http://weblogs.asp.net/chrisri/archive/2007/11/19/asp-net-3-5-is-released.aspx</link><pubDate>Mon, 19 Nov 2007 19:44:04 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5283398</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=5283398</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2007/11/19/asp-net-3-5-is-released.aspx#comments</comments><description>&lt;p&gt;We've officially released ASP.NET 3.5 today, you can get it as part of .NET Framework 3.5 from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en"&gt;here&lt;/a&gt;. This download includes SP1 for both .NET Framework 2.0 and 3.0 as well.&lt;/p&gt;  &lt;p&gt;So what's new in 3.5?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The AJAX Extensions are now a core part of the product. You won't need to install the AJAX Extensions separately to get ScriptManager, UpdatePanel, etc.&lt;/li&gt;    &lt;li&gt;LinqDataSource&lt;/li&gt;    &lt;li&gt;ListView&lt;/li&gt;    &lt;li&gt;We've also fixed a lot of the issues submitted via Microsoft Connect in 2.0 SP1&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There's a ton of great videos to get you started with the new 3.5 features &lt;a href="http://asp.net/learn/3.5-videos/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Alongside this release, is a new Visual Web Developer 2008 release that you can get &lt;a href="http://www.microsoft.com/express/download/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Finally, we've updated the standalone Script Library download. If you move to using 3.5, and you need the standalone scripts as well, you can get them &lt;a href="http://asp.net/ajax/downloads/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/somasegar/archive/2007/11/19/visual-studio-2008-and-net-framework-3-5-shipped.aspx"&gt;Soma&lt;/a&gt; has more details about the larger Visual Studio 2008 / .NET Framework 3.5 release.&lt;/p&gt;  &lt;p&gt;(this must explain why i haven't blogged in months, right? :))&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5283398" width="1" height="1"&gt;</description></item><item><title>So what exactly does an SDET do?</title><link>http://weblogs.asp.net/chrisri/archive/2007/04/02/so-what-exactly-does-an-sdet-do.aspx</link><pubDate>Mon, 02 Apr 2007 18:17:52 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:2166284</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=2166284</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2007/04/02/so-what-exactly-does-an-sdet-do.aspx#comments</comments><description>&lt;p&gt;We're just finishing up Mid-Year discussions here at work. It's a great time to take a step back and plan out the next few years of our careers, and I thought it would be worth talking about the testing career here at Microsoft. &lt;/p&gt; &lt;h2&gt;Testing Positions at Microsoft&lt;/h2&gt; &lt;p&gt;There are a few different testing positions at Microsoft and plenty of options if you are interested in an individual highly technical role, or a management role where you are coordinating cross-discipline and cross-team efforts. This post is going to focus on the individual career path and a future post will talk more about the management path.&lt;/p&gt; &lt;p&gt;The majority of testers are SDET's - Software Development Engineers in Test. The role and qualifications mirrors that of our SDE's, with just an emphasis on producing code that does the testing of the product, rather than the product code itself. Our testers are really the first customers of all of our features. They participate in all phases of the development of a feature and in essence become the expert of that feature. There is a career progression from entry level to senior level SDETs, where you take on larger and more complex challenges at each stage.&lt;/p&gt; &lt;p&gt;Usually test teams are organized into functional units grouped by a set of features. For example our team has had a team concentrating on all of the Application Services features of ASP.NET. These functional test teams are managed by an SDET Lead. These leads balance managing the careers of their direct reports with planning for future work and driving improvements into our engineering processes. Many SDET Leads continue to work on technical challenges as well.&lt;/p&gt; &lt;h2&gt;Day-to-day core activities of a tester&lt;/h2&gt; &lt;p&gt;It's really hard to describe a typical tester day, as there usually isn't a typical day. The primary core work that testers do is "own the testing of a feature". They are responsible for ensuring that the the feature meets the customer needs throughout it's lifecycle.&lt;/p&gt; &lt;p&gt;The tester for the UpdatePanel in the AJAX Extensions (for example)&amp;nbsp;participates in the early design meetings for the feature and provides design feedback based on what they would expect (and want) as the customer. As the design becomes more solidified they next create a test plan that enumerates all of the scenarios they will be testing, and a priority order that indicates how important and how likely that scenario will be in the real world.&lt;/p&gt; &lt;p&gt;During the implementation of the feature, the tester is cranking out tons of code as well. We have an internally developed framework we use to automate all of our tests, and we are constantly building and evolving it. In many cases the features our tester needs might not be present, so they are adding that support as well as building out all of the test pages they need to prove the Update Panel is going to work for our customers. &lt;/p&gt; &lt;p&gt;Once the implementation is done, we subject it to the thorough testing planned out by the tester. In most cases this means running all of the now automated tests against the built code across many configurations of Windows versions and languages and security settings. During this time the tester works very closely with the developer to provide simple straight forward bug reports and repros. In some cases, the tester can even debug down to the actual error and suggest a fix.&lt;/p&gt; &lt;p&gt;Once the feature is complete, the finished tests become part of our larger automated test bed and will continue running against future builds and other configurations, providing the tester with even more information about how well the feature is working.&lt;/p&gt; &lt;h2&gt;Other testing activities&lt;/h2&gt; &lt;p&gt;Obviously ensuring our features meet customer needs and are of high quality is the primary job function, but there are alot of other activities that our testers engage in.&amp;nbsp;Such as internal tool development, app building, community engagement and career development.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=2166284" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Podcast about ASP.NET AJAX and Testing</title><link>http://weblogs.asp.net/chrisri/archive/2007/02/05/podcast-about-asp-net-ajax-and-testing.aspx</link><pubDate>Mon, 05 Feb 2007 23:01:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:1553571</guid><dc:creator>chrisri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=1553571</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2007/02/05/podcast-about-asp-net-ajax-and-testing.aspx#comments</comments><description>&lt;p&gt;I recently did an interview with Wally McClure for his ASP.NET podcast. You can check it out &lt;a href="http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2007/02/05/asp-net-podcast-show-85-chris-riccio-of-the-asp-net-ajax-team.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1553571" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Demystifying ‘Sys is undefined’</title><link>http://weblogs.asp.net/chrisri/archive/2007/02/02/demystifying-sys-is-undefined.aspx</link><pubDate>Fri, 02 Feb 2007 19:31:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:1523805</guid><dc:creator>chrisri</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=1523805</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2007/02/02/demystifying-sys-is-undefined.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Are you running into this error on your ASP.NET AJAX enabled web site? Does it only happen on some machines or on some browsers? Here&amp;rsquo;s how you can get to the bottom of it. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Here&amp;#39;s&amp;nbsp;a little background on what is happening&amp;hellip;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;When you have a ScriptManager on a page, ASP.NET AJAX will render a few script tags to load the various ASP.NET AJAX Scripts, and some inline script to get everything initialized and running. If you view source on the page as rendered by your browser, you should see something like this: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;Sys.WebForms.PageRequestManager._initialize(&amp;#39;ScriptManager1&amp;#39;, document.getElementById(&amp;#39;form1&amp;#39;));&lt;br /&gt;Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);&lt;br /&gt;&amp;lt;/script&amp;gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;When the browser goes to run that code, it&amp;rsquo;s going to expect Sys.WebForms.PageRequestManager to be defined somewhere. That somewhere happens to be in the other scripts that are loaded from script tags that look like this: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;script src=&amp;quot;/MyWebApp/ScriptResource.axd?[snip - long query string]&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;If the browser fails to load those scripts, the script engine can&amp;rsquo;t find the definition for Sys, Sys.WebForms, Sys.WebFormsPageRequestManager, and thus the error. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;So why would those scripts fail to load? We&amp;rsquo;ve seen several reasons:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. The browser fails to load the compressed script&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;This is usually the case if you get the error on IE6, but not on other browsers. &lt;/p&gt;&lt;p&gt;The Script Resource Handler &amp;ndash; ScriptResource.axd compresses the scripts before returning them to the browser. In pre-RTM releases, the handler did it all the time for all browsers, and it wasn&amp;rsquo;t configurable. There is an issue in one of the components of IE6 that prevents it from loading compressed scripts correctly. See KB article &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312496" target="_blank"&gt;here&lt;/a&gt;. In RTM builds, we&amp;rsquo;ve made two fixes for this. One, we don&amp;rsquo;t compress if IE6 is the browser client. Two, we&amp;rsquo;ve now made compression configurable. Here&amp;rsquo;s how you can toggle the web.config. &lt;/p&gt;&lt;p&gt;How do you fix it? First, make sure you are using the AJAX Extensions 1.0 RTM release. That alone should be enough. You can also try turning off compression by editing your web.config to have the following: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;system.web.extensions&amp;gt;&lt;br /&gt;&amp;lt;scripting&amp;gt;&lt;br /&gt;&amp;lt;scriptResourceHandler enableCompression=&amp;quot;false&amp;quot; enableCaching=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/scripting&amp;gt;&lt;br /&gt;&amp;lt;/system.web.extensions&amp;gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;2. The required configuration for ScriptResourceHandler doesn&amp;rsquo;t exist for the web.config for your application&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Make sure your web.config contains the entries from the default web.config file provided with the extensions install. (default location: C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025) &lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. The virtual directory you are using for your web, isn&amp;rsquo;t correctly marked as an application&lt;/strong&gt; (thus the configuration isn&amp;rsquo;t getting loaded) - This would happen for IIS webs. &lt;/p&gt;&lt;p&gt;Make sure that you are using a Web Application, and not just a Virtual Directory&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. ScriptResource.axd requests return 404&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;This usually points to a mis-configuration of ASP.NET as a whole. On a default installation of ASP.NET, any web request to a resource ending in .axd is passed from IIS to ASP.NET via an isapi mapping. Additionally the mapping is configured to not check if the file exists. If that mapping does not exist, or the check if file exists isn&amp;#39;t disabled, then IIS will attempt to find the physical file ScriptResource.axd, won&amp;#39;t find it, and return 404. &lt;/p&gt;&lt;p&gt;You can check to see if this is the problem by coipy/pasting the full url to ScriptResource.axd from here, and seeing what it returns &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;script src=&amp;quot;/MyWebApp/ScriptResource.axd?[snip - long query string]&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;How do you fix this? If ASP.NET isn&amp;#39;t properly installed at all, you can run the &amp;quot;aspnet_regiis.exe&amp;quot; command line tool to fix it up. It&amp;#39;s located in C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727. You can run &amp;quot;aspnet_regiis -i -enable&amp;quot;, which does the full registration of ASP.NET with IIS and makes sure the ISAPI is enabled in IIS6. You can also run &amp;quot;aspnet_regiis -s w3svc/1/root/MyWebApp&amp;quot; to only fix up the registration for your web application.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1523805" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>Welcome to my blog!</title><link>http://weblogs.asp.net/chrisri/archive/2007/01/31/welcome-to-my-blog.aspx</link><pubDate>Thu, 01 Feb 2007 02:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:1506404</guid><dc:creator>chrisri</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/chrisri/rsscomments.aspx?PostID=1506404</wfw:commentRss><comments>http://weblogs.asp.net/chrisri/archive/2007/01/31/welcome-to-my-blog.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Hi,&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;My name is Chris Riccio and I am the Test Manager for the ASP.NET team at Microsoft. The core focus of my blog is to provide the ASP.NET community a viewpoint on ASP.NET features from the Test Team&amp;rsquo;s perspective as well as provide greater visibility into the Test discipline at Microsoft. Hopefully I can provide some insight into what it means to be a tester and&amp;nbsp;why some ASP.NET features might behave differently than you would expect.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;A bit about my history at Microsoft:&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;I joined Microsoft in March, 1997 as an SDET working on IIS 4.0 which would ship as part of the Windows NT 4.0 Option Pack, and I have remained a part of the groups working on Microsoft&amp;rsquo;s Web Platform ever since. I was initially responsible for testing the Personal Web Server for Windows 95 and later took on testing of ASP including Session State, Data Access and some of the additional controls like AdRotator.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Shortly after shipping IIS 5.0 in Windows 2000, I had an opportunity to move onto a team looking to revolutionize the way developers write web pages, and became the third tester on the project that would become ASP.NET. My primary focus was on the features that would make up parts of the core of ASP.NET, such as HttpModules, Session State, Application Deployment and Configuration. As the project grew I was able to take a role as an SDET Lead responsible for the team testing all of the core components of ASP.NET. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;I remained in that role for several releases (.NET Framework 1.0, 1.1, 2.0) leading our Core Infrastructure and Application Services testing as well as our Stress and Performance testing efforts. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;In the later stages of the .NET Framework 2.0 product cycle, the IIS team rejoined our group, and the scope of features that my team owned grew to include some early IIS 7 integration points. Over time, we&amp;rsquo;d realize that since the products were on different schedules, it made more sense to keep folks focused on one of them at a time instead of both, so I took on an SDET Lead role for IIS7. The features that my team owned covered the Administration and Configuration of IIS and Health Monitoring related areas. &lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Once IIS 7 officially became part of Windows Vista, which was a major accomplishment for the team, I jumped for an opportunity driving the testing efforts on a project within the ASP.NET team that was just getting underway that would eventually be called Atlas. I was the only tester (from a discipline specific sense) working on Atlas for our first release at the September 2005 PDC. &lt;span&gt;&amp;nbsp;&lt;/span&gt;I took on the Test Manager role for the ASP.NET team in April 2006 as we were planning the feature set for the next .NET Framework release called Orcas. &lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=1506404" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/chrisri/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/Me/default.aspx">Me</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/chrisri/archive/tags/IIS/default.aspx">IIS</category></item></channel></rss>