<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Andy Johns' Blog</title>
        <link>http://geekswithblogs.net/ajohns/Default.aspx</link>
        <description>Andy's twisted brain....</description>
        <language>en-US</language>
        <copyright>Andy Johns</copyright>
        <managingEditor>blog@johnsfamily.org</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Andy Johns' Blog</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/ajohns/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>It's been a while...</title>
            <link>http://geekswithblogs.net/ajohns/archive/2008/09/11/125096.aspx</link>
            <description>It's been a while since my last post.... So what have I been up to?&lt;br /&gt;
&lt;br /&gt;
Javascript - up to my eyeballs&lt;br /&gt;
&lt;br /&gt;
Silverlight - which will be really cool, in a couple more releases. v2-b2 is nice, but needs some oomph.&lt;br /&gt;
&lt;br /&gt;
Code reviews - a tech lead's life is all about telling other people why their code sucks&lt;br /&gt;
&lt;br /&gt;
Interviews - hiring good people is a full time job. Finding web developers with real Javascript/CSS/.Net knowledge is very difficult. Every bozo who writes a web page includes javascript/css on their resume, but ask them what a closure is, or why to namespace your js classes and you get heming and hawing. Ask how to identify and fix memory leaks on the browser and you get a lot of blank stares.  &lt;br /&gt;
&lt;br /&gt;
Oh yeah, and turning 40 (yesterday)  - gack!&lt;br /&gt;
&lt;br /&gt;
I'm going to PDC '08! So I plan on sharing what I can here....  &lt;br /&gt;
&lt;br /&gt;
-Andy&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=125096"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=125096" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/125096.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2008/09/11/125096.aspx</guid>
            <pubDate>Thu, 11 Sep 2008 18:11:36 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/125096.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2008/09/11/125096.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/125096.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/125096.aspx</trackback:ping>
        </item>
        <item>
            <title>VS Live San Francisco - Day 3</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/28/110178.aspx</link>
            <description>&lt;p&gt;So, VS Live San Francisco 2007 is coasting to a stop. No keynote address after lunch today made for an awkward gap after lunch. We'd already seen all dozen vendors, many times over, the low-energy of the whole conference didn't lend much to discussions. The Gold-pass only "VIP" room was full of people watching "Poseidon Adventure" (2006 version).... Snooze. I really want to bag it for the day, but there's a talk at 4:30 that sounds interesting.... Thank god for remote&amp;nbsp;access to my work desktop. At least I can get a few things done....&lt;/p&gt; &lt;p&gt;My overall impression you can read on my other entries.....&amp;nbsp;I'll stick&amp;nbsp;to the positive here. Scott Cate ruled the&amp;nbsp;talks. Topical, packed sessions with lots&amp;nbsp;of good info on Ajax. Second place was Walt Ritscher with some good info on WPF and WPFe.... Obviously with these things I&amp;nbsp;didn't attend every talk, but of these were the best of what I attended.... I plan to&amp;nbsp;Goggle these two, check out their blogs, they seem to be worth listening to....&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110178"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110178" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/110178.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/28/110178.aspx</guid>
            <pubDate>Wed, 28 Mar 2007 22:04:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/110178.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/28/110178.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/110178.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/110178.aspx</trackback:ping>
        </item>
        <item>
            <title>VSLive San Francisco Day 2</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/28/110118.aspx</link>
            <description>&lt;p&gt;So no real fiascos today. Some good talks on Ajax from Scott Cate, and WPF from Walt Ritscher.&lt;/p&gt; &lt;p&gt;I'm still amazed at how scaled down VSLive is from past years.&lt;/p&gt; &lt;p&gt;Last night was the big party night. They had some contests and we giving some prizes away. A few nice things like a portable DVD player from one of the vendors, but the "big prizes" were production licenses of Sharepoint. Woo, hoo, snore. Come on, sure it might be worth 5 grand, but I'll bet nearly every developer there would rather have had a $500 Xbox 360.... Our companies buy sharepoint, we want stuff&amp;nbsp;a developer can use, that we don't already get to play with from our MSDN subscriptions....&lt;/p&gt; &lt;p&gt;Anyway, while some of the talks are good, the overall quality and size of VSLive has just evaporated. If you can only go to one conference a year, I'd skip VSLive and go for TechEd....&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110118"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110118" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/110118.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/28/110118.aspx</guid>
            <pubDate>Wed, 28 Mar 2007 13:04:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/110118.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/28/110118.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/110118.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/110118.aspx</trackback:ping>
        </item>
        <item>
            <title>VSLive - First Impressions</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/26/109903.aspx</link>
            <description>&lt;p&gt;Ok, so I've been to quite a few VS Live's and I've seen the good and the bad, but here's my first impressions from VSLive 2007:&lt;/p&gt; &lt;p&gt;1st Keynote by Prashant Sridharan was good. Demo (by Sam G. (I think)) was clear and informative...&lt;/p&gt; &lt;p&gt;Nima Dilmaghani has some really interesting things to say, but his presentation quality--Well I've already blogged about that....&lt;/p&gt; &lt;p&gt;Lunch - Ok, they've gone away from the cold box lunch of past years; good. But they need a major lesson in crowd control. The lines were way, way&amp;nbsp;too long.&lt;/p&gt; &lt;p&gt;Partners - Hello, anyone there? There's fewer booths than I've ever seen at a VSLive. They need &lt;strong&gt;way&lt;/strong&gt; more, quadruple would be a start.... I've never been to a conference with this few partner booths. &lt;/p&gt; &lt;p&gt;The "Hands-On Center".... Uh. ok. It's a bunch of machines with XP and IE6.0.... No dev tools, no Vista, not even IE 7.0.... Ok, so I can check my email, but at a developers conference you'd think a "Hands-On Center" would allow you to play with the tools you're hearing about in the conference. Seriously sucky.&lt;/p&gt; &lt;p&gt;The VIP Lounge, ok nice yeah, a couple of widescreens running XBox-360's, and movies. The snack area is out of drinks, and the "private computer lab" seems to be two of the "Hands-On Center" pc's stuck in a corner....&amp;nbsp; Hmmmm.&lt;/p&gt; &lt;p&gt;Gotta go, my feet hurt. Yeah, no chairs in the "Hands-On Center" either. &lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109903"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109903" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/109903.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/26/109903.aspx</guid>
            <pubDate>Mon, 26 Mar 2007 21:36:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/109903.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/26/109903.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/109903.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/109903.aspx</trackback:ping>
        </item>
        <item>
            <title>I hate to be harsh, but...</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/26/109902.aspx</link>
            <description>&lt;p&gt;Ok, so Nima Dilmaghani needs to work on his presentation skills...&lt;/p&gt; &lt;p&gt;Nima gave two talks today at VS Live about Vista development--a subject I was quite interested in. But man, watching his presentations (both of them!) was just painful. It appeared he had done no preparation, and&amp;nbsp;he was unfamiliar with Vista, Powerpoint, and&amp;nbsp;Visual Studio. Now the guy might be a genius, he might really know his stuff, but on stage you had to be sorry for the guy. Really Microsoft, give someone else the presentation duties. Spare us Nima ever again.&lt;/p&gt; &lt;p&gt;Unfortunately I really wanted to know what he was trying to convey.&amp;nbsp; I can only hope the slides and demos from his talk will be published later.... (although I doubt it, more on that later....)&lt;/p&gt; &lt;p&gt;In contrast, Scott Stanfield from Vertigo Software did a last minute demo of some new WPF demos his company has been working on. As he described it, he was asked to do the presentation only about an hour beforehand, but his talk was smooth and polished. The demo was very cool, and everything was really put together.&lt;/p&gt; &lt;p&gt;Such a contrast...&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109902"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109902" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/109902.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/26/109902.aspx</guid>
            <pubDate>Mon, 26 Mar 2007 21:06:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/109902.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/26/109902.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/109902.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/109902.aspx</trackback:ping>
        </item>
        <item>
            <title>I'm at VS-Live this week</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/26/109874.aspx</link>
            <description>&lt;p&gt;If you see me, stop by and say "Hi"...&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109874"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109874" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/109874.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/26/109874.aspx</guid>
            <pubDate>Mon, 26 Mar 2007 17:36:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/109874.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/26/109874.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/109874.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/109874.aspx</trackback:ping>
        </item>
        <item>
            <title>Two Generic things....</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/23/109643.aspx</link>
            <description>&lt;p&gt;I've been coding some generic stuff lately and discovered something very cool, and something odd....&lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Cool:&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;public IList&amp;lt;T&amp;gt; SomeMethod&amp;lt;T&amp;gt;(IList&amp;lt;T&amp;gt; listOfStuff) where T : ifoo&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Can be called the normal way:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;IList&amp;lt;foo&amp;gt; listOfStuff; // Somehow we get a list...&lt;br&gt;IList&amp;lt;foo&amp;gt; myStuff = MyObject.SomeMethod&amp;lt;foo&amp;gt;(listOfStuff);&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;However it can also be called:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;IList&amp;lt;foo&amp;gt; myStuff = MyObject.SomeMethod(listOfStuff);&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;You don't need the &amp;lt;&amp;gt; definition&amp;nbsp;on the generic method.... Very cool when refactoring from a type-specific method to a generic.... &lt;/p&gt; &lt;p&gt;&lt;strong&gt;The Odd:&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;IList&amp;lt;ifoo&amp;gt; iFooList = (IList&amp;lt;ifoo&amp;gt;)new List&amp;lt;foo&amp;gt;(); &lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;List&amp;lt;ifoo&amp;gt; iFooList2 = (List&amp;lt;ifoo&amp;gt;)new List&amp;lt;foo&amp;gt;();&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The first line (with the IList) will compile fine, but cause a runtime error, with a message that a list of foo cannot be cast to a list of ifoo.&lt;/p&gt; &lt;p&gt;The second will not compile, with a message that a list of foo cannot be cast to a list of ifoo.&lt;/p&gt; &lt;p&gt;Seems like if the compiler knows #2 is no good, it should know #1 is no good...&lt;/p&gt; &lt;p&gt;Of course what would be really cool is if you could cast it.... And yeah, I know you can't, still seems like the framework should be able too...&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109643"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109643" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/109643.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/23/109643.aspx</guid>
            <pubDate>Fri, 23 Mar 2007 20:39:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/109643.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/23/109643.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/109643.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/109643.aspx</trackback:ping>
        </item>
        <item>
            <title>If you're here because of the Jeff Atwood comment.....</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/03/06/108139.aspx</link>
            <description>&lt;P&gt;&lt;EM&gt;Update: it looks like Jeff fixed my comment (and removed the comment I left afterward that basically said, gee my comment got messed up) rendering this post pretty much pointless.... Oh well.... Thanks for fixing my original comment Jeff!&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;So I wrote what was suppose to be a funny bit of ridiculous code as a comment to a comment on Jeff Atwood's blog about &lt;A href="http://www.codinghorror.com/blog/archives/000805.html"&gt;Curly's Law: Do One Thing.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;His comment software ate the bulk of the code rendering the joke, well, on me... so if you're getting here because you clicked on my link on the comment, here's the original comment:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Does that mean you have to not re-use i for loops? :)" &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Clearly it means you should only code a for-loop once. I can only assume the prescribed code would look something like this: 
&lt;P&gt;public delegate void LoopProcessDelegate(int ndx); 
&lt;P&gt;public void Loop(int startNdx,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int endNdx, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoopProcessDelegate process)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = startNdx; i &amp;lt; endNdx; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; process(i);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;} 
&lt;P&gt;public void TestLoop()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop(0, 9, new LoopProcessDelegate(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delegate(int ndx)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string.Format("{0} : Hello World", ndx)); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;Isn't that much better?&lt;/P&gt;
&lt;P&gt;-Andy&lt;/P&gt;
&lt;P&gt;&amp;lt;disclaimer&amp;gt;&lt;BR&gt;For the humor-impaired, yes, this is a joke.&lt;BR&gt;Nice article Jeff...&lt;BR&gt;&amp;lt;/disclaimer&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Yeah, so it's not that funny. But hey I haven't written an entry in while...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;-Andy&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108139"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=108139" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/108139.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/03/06/108139.aspx</guid>
            <pubDate>Tue, 06 Mar 2007 23:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/108139.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/03/06/108139.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/108139.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/108139.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET Themes or CSS - Pick one</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/01/18/103939.aspx</link>
            <description>&lt;p&gt;Yes, yes, I know pro-ASP.NET Theme people will say "you can use CSS with themes, it's not an either-or!" but my thoughts on this matter are the interaction between Themes and CSS is weak and not well integrated.&lt;/p&gt; &lt;p&gt;In a large sense Themes and CSS are attempting to accomplish the same thing: abstract the presentation, and assign uniformity throughout a web site. The problem I have with Themes is they don't really seem to offer many advantages over CSS, they introduce problems when using CSS, and CSS is really the standard when it comes to this sort of thing in a modern web site.&lt;/p&gt; &lt;p&gt;Issue #1 : &lt;em&gt;All CSS files in a Theme are automatically linked into all pages that use that Theme.&lt;/em&gt; But wait! I have CSS files for specific controls that I only want linked to pages that use that control. Ick, I want finer grained control.&lt;/p&gt; &lt;p&gt;Issue #2: Backwards inheritance. We're coding in ASP.NET, we're&amp;nbsp;familiar with the concept of classes, and subclasses, and how downstream classes can override behaviors from upstream classes. OOP 101, and something that flows very nicely with the CSS concept of &lt;em&gt;Cascading&lt;/em&gt;. It's very useful too, say when you have a high-level CSS style that needs a minor tweak on a single page. In Themes it's the theme that rules, if&amp;nbsp;a given page needs a minor tweak, tough.&lt;/p&gt; &lt;p&gt;Issue #3: Multiplicity. One Theme per page, no exceptions. Pretty inflexible in my mind.&amp;nbsp;With CSS I can assign any number of classes to a markup element, and several CSS files per page. That's been quite useful in the past for me.&lt;/p&gt; &lt;p&gt;Ok, ok, let's look at some of the "positives" of Themes: (I'm afraid I'm going to go into sarcasm mode here....)&lt;/p&gt; &lt;p&gt;You can use skin files to add markup to common elements. A common example often suggested is to setup templates for GridViews. Yeah, because all my grids on my pages are exactly the same.... Oh wait, that's actually really rare...&lt;/p&gt; &lt;p&gt;You can use Default&amp;nbsp;Themes or&amp;nbsp;Themes created by Microsoft or other third parties. Woo-hoo, just what I want, my web site to look exactly like some other web site. Thank you, no.&lt;/p&gt; &lt;p&gt;Organization: your images, CSS, JavaScript, skins, etc is all neatly contained in a single directory structure. Ok, yeah, but I can do that with my own structure and CSS too. In fact Themes can introduce some odd resource reference problems with combined with CSS.&lt;/p&gt; &lt;p&gt;Ok, ok, so do I think Themes suck? No. They have a purpose, and some web developers might find them really nice and useful. However, I don't think that CSS and Themes play all that nicely, and if you're looking at doing a really CSS-based UI for your web site, you probably don't need the extra baggage that Themes bring along.&lt;/p&gt; &lt;p&gt;Am I missing something? Have a good example of CSS and Themes interacting? Can you offer up a solution to Issue #1 above? I'd love to hear it, leave a comment....&lt;/p&gt; &lt;p&gt;It's entirely possible&amp;nbsp;I'm completely missing the boat here, but I don't think so....&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103939"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103939" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/103939.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/01/18/103939.aspx</guid>
            <pubDate>Thu, 18 Jan 2007 23:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/103939.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/01/18/103939.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/103939.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/103939.aspx</trackback:ping>
        </item>
        <item>
            <title>Barack Obama forms Presidential Exploritory Commitee</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/01/16/103747.aspx</link>
            <description>&lt;p&gt;Hell yes! &lt;/p&gt; &lt;p&gt;I've been reading his &lt;a href="http://www.amazon.com/Audacity-Hope-Thoughts-Reclaiming-American/dp/0307237699/sr=8-1/qid=1168972254/ref=pd_bbs_sr_1/103-4442651-1864610?ie=UTF8&amp;amp;s=books" target="_blank"&gt;book&lt;/a&gt; and I'm really impressed with this man. He&amp;nbsp;understands what's wrong with partisan politics of&amp;nbsp;today. He understands that&amp;nbsp;most issues are not&amp;nbsp;binary, black and white, neatly fitting into&amp;nbsp;2 second sound bites.... Everyone, Democrat or Republican&amp;nbsp;should read he his book, and I for one really hope he runs in 2008.... &lt;/p&gt; &lt;p&gt;He's got my vote already.&lt;/p&gt; &lt;p&gt;Find him &lt;a href="http://www.barackobama.com/" target="_blank"&gt;here.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;-A&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103747"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103747" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/103747.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/01/16/103747.aspx</guid>
            <pubDate>Tue, 16 Jan 2007 17:45:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/103747.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/01/16/103747.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/103747.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/103747.aspx</trackback:ping>
        </item>
        <item>
            <title>Desktop vs web</title>
            <link>http://geekswithblogs.net/ajohns/archive/2007/01/16/103739.aspx</link>
            <description>&lt;p&gt;So I haven't written in a while.... I've been pretty busy with the holidays, but also with some serious upheaval in my latest project.... just as we were about to get into serious construction in our large thick .NET 2.0, C# desktop application we've changed gears and we're now developing a thin ASP.NET with Ajax web application that will have a small desktop component for a&amp;nbsp;subset of users&amp;nbsp;to support a couple of thick use cases. There were a variety of reasons for the change, and while I was skeptical at first (I've been deeply embedded in thick development for a few years now) I've seen the light and I've really been enjoying the challenge of they new development model. So, I'll probably be spewing my findings and frustrations about Ajax, IE6/7, CSS and the like here soon....&lt;/p&gt; &lt;p&gt;The thing about desktop vs web applications is there are differences, but those differences aren't necessarily bad. The comment that came up a lot when we were announcing the switch was "the user experience won't be the same!" And that's true, the desktop app experience would have been different; in fact in a web app the IE7, IE6 and Firefox experiences might be different. Sometimes the differences are small and subtle, some differences are large; but they are just differences, no judgements. When all is done our users will still have a great application that will allow them to get their work done; and in the end, that's what counts.&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103739"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103739" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/103739.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2007/01/16/103739.aspx</guid>
            <pubDate>Tue, 16 Jan 2007 16:49:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/103739.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2007/01/16/103739.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/103739.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/103739.aspx</trackback:ping>
        </item>
        <item>
            <title>Oversimplification</title>
            <link>http://geekswithblogs.net/ajohns/archive/2006/11/29/99472.aspx</link>
            <description>&lt;p&gt;Joel (of Joel on Software) writes in a recent &lt;a href="http://www.joelonsoftware.com/items/2006/11/21.html" target="_blank"&gt;article&lt;/a&gt; about Vista's overabundance of choices in logging off/powering down/etc.... While I agree in principle with him that there are&amp;nbsp;too many choices presented in a poor way, his reasoning is a prime example of oversimplification and suffers from two flaws: he assumes his usage is everyone's usage, and he assumes the happy case.&lt;/p&gt; &lt;p&gt;For example of the former he&amp;nbsp;writes:&lt;/p&gt; &lt;p&gt;&lt;em&gt;"Once you've merged Switch User and Lock, do you really need Log Off? The only thing Log Off gets you is that it exits all running programs. But so does powering off, so if you're really concerned about exiting all running programs, just power off and on again. One more option gone."&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Uh, yeah but we may not be the only user on the box Joel.... Two examples:&lt;/p&gt; &lt;p&gt;At home I run XP home edition. We regularly have&amp;nbsp;three&amp;nbsp;or four&amp;nbsp;users logged in at the same time, however when I'm about to head off to work, or go out for a while I like to log off. It frees up resources on the box, and&amp;nbsp; why should I stay logged in when I know I'm leaving for hours? However, I certainly don't want to shut down. After all, other people have programs running in the background....&lt;/p&gt; &lt;p&gt;Second example: at work our project's build box is running Windows 2003. By default this allows two users to connect remotely to the machine. For us, this is fine. There's about&amp;nbsp;four people who regularly access the box, but rarely for very long. However, because of this two user limit we need users to log off when they are finished working on the box. &lt;/p&gt; &lt;p&gt;Granted neither of these examples is using Vista, but the idea still follows. Who needs a Log Off feature?&amp;nbsp;Users who regularly share a single computer. He doesn't (seem to) and thus he thinks it's a useless feature...&lt;/p&gt; &lt;p&gt;His second problem was Happy Case, exemplified in this quote:&lt;/p&gt; &lt;p&gt;&lt;em&gt;"Why do you want the power off? If you're concerned about power usage, let the power management software worry about that. It's smarter than you are."&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Why do I want to power off? Well I don't know about Joel, but my computers screw up from time to time. I usually leave my machines up, but when they start acting odd sometimes you just have to restart. The world is not perfect, sometime a fresh reboot fixes problems in seconds and you can get back to work.&lt;/p&gt; &lt;p&gt;I have another problem with the quote above, the power management software is not smarter than I am. The power management software has no idea that I'm using my laptop now, but in a few hours I'll be remote and I need every spare watt of laptop battery juice to keep running.... Sometimes I&amp;nbsp;do want to shut down, and now.&lt;/p&gt; &lt;p&gt;So what's all this mean? Are choices bad or are choices good? Like most oversimplification problems the answer is neither and both.... Choices need to be tailored. Software exists in a non-physical world. A world where the experience I have does not have to be the same as the experience you have. My world needs a Log Off and a Power Off button. Joel's does not. That's ok, and a good UI design will allow different experiences to be established simply and easily.... &lt;/p&gt; &lt;p&gt;It's not about the overall choices available, it's about the choices presented to you and how smart or stupid those UI's can be. Getting back to the Vista shutdown mess, why doesn't it auto-collapse infrequently used choices like other Windows menus? Why doesn't it remember the two most common choices I use and present those choices as the buttons instead of fixing them at "Sleep" and "Lock"? Why can't I right-click a menu item and hide it? There's a host of ways to design these features, I'll leave that up to others.&amp;nbsp;The point is, computers can and should be smart dynamic things that learn user's patterns and anticipate our needs, not static, locked down, utilitarian, one-size fits none physical machines.... &lt;/p&gt; &lt;p&gt;Features I use constantly should always be available, quickly and without delay or complexity. Features I use rarely should not be removed altogether, rather they should be subtle&amp;nbsp;but clear and available.&amp;nbsp; It's not a boolean state, but a dynamic sliding scale.... &lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=99472"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=99472" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/99472.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2006/11/29/99472.aspx</guid>
            <pubDate>Wed, 29 Nov 2006 18:32:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/99472.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2006/11/29/99472.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/99472.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/99472.aspx</trackback:ping>
        </item>
        <item>
            <title>Republicans given the boot--time to step up Democrats</title>
            <link>http://geekswithblogs.net/ajohns/archive/2006/11/08/96555.aspx</link>
            <description>&lt;p&gt;So the election is over, the votes are being counted and it looks like Americans are just fed up with Bush's idiocy and republican corruption.... &lt;/p&gt; &lt;p&gt;It's about damn time...&lt;/p&gt; &lt;p&gt;Now I could go on a rant about how terrible of leader Bush is, or the numerous corruption and ethics scandals that have brought down the previous congress; but I won't. &lt;/p&gt; &lt;p&gt;Today I'll just wait. Democrats, you're my party, you've got your chance. Show your leadership, show your stuff.&amp;nbsp;You've got&amp;nbsp;two years.... Make me proud.&lt;/p&gt; &lt;p&gt;-Andy&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96555"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96555" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/96555.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2006/11/08/96555.aspx</guid>
            <pubDate>Wed, 08 Nov 2006 22:59:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/96555.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2006/11/08/96555.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/96555.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/96555.aspx</trackback:ping>
        </item>
        <item>
            <title>Go VOTE!</title>
            <link>http://geekswithblogs.net/ajohns/archive/2006/11/07/96389.aspx</link>
            <description>&lt;p&gt;It's election day in the US today.... The day when each one of us gets to participate in the process and choose our leaders, and our laws.&amp;nbsp;In California we're choosing most of the major state government seats, a slew of propositions,&amp;nbsp;and various federal and local level offices.&lt;/p&gt; &lt;p&gt;I don't know anyone who is completely happy with the status quo.&amp;nbsp;So VOTE and make&amp;nbsp;your voice heard. We&amp;nbsp;face&amp;nbsp;serious issues in this country and the world today; vote so your opinons get counted.&amp;nbsp;&lt;/p&gt; &lt;p&gt;I had an excellent civics teacher in high school that taught us the most important thing was to have an opinion. It didn't matter what that opinion was, but to form it ourselves and to have it. Today is the day we tell our opinions to our government.&lt;/p&gt; &lt;p&gt;Go VOTE!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96389"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96389" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/96389.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2006/11/07/96389.aspx</guid>
            <pubDate>Tue, 07 Nov 2006 16:42:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/96389.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2006/11/07/96389.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/96389.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/96389.aspx</trackback:ping>
        </item>
        <item>
            <title>Unable to start debugging on the server....</title>
            <link>http://geekswithblogs.net/ajohns/archive/2004/04/14/3924.aspx</link>
            <description>&lt;P&gt;Ever seen this error when debugging a web app in the VS.NET IDE:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Error while trying to run project: Unable to start debugging on the web server. You do not have permissions to debug. Verify that you are a member of the 'Debugger Users' group on the sever.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Well, search the net and you'll get 100s of hits talking about .NET debugging options, IIS configurations, permissions, admin access, etc.... In my case everything checked out and still no luck. Well here's another cause of this error: adding &lt;A href="http://localhost"&gt;http://localhost&lt;/A&gt; to your Trusted Sites list.... Yup that's right. Sounds simple, but that's what did it in my case....&lt;/P&gt;
&lt;P&gt;-A&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=3924"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=3924" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/ajohns/aggbug/3924.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andy Johns</dc:creator>
            <guid>http://geekswithblogs.net/ajohns/archive/2004/04/14/3924.aspx</guid>
            <pubDate>Thu, 15 Apr 2004 03:42:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ajohns/comments/3924.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ajohns/archive/2004/04/14/3924.aspx#feedback</comments>
            <slash:comments>168</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ajohns/comments/commentRss/3924.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ajohns/services/trackbacks/3924.aspx</trackback:ping>
        </item>
    </channel>
</rss>