<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="./rss/rssfeed.xsl"?><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/"><channel><title>mike's web log</title><link>http://www.mikepope.com/blog/</link><description>mike pope's Web log</description><language>en-US</language><docs>http://www.mikepope.com/blog/BlogFeed.rss</docs><webMaster>mike@mikepope.com</webMaster><lastBuildDate>Thu, 02 Feb 2012 10:50:40 GMT</lastBuildDate><pubDate>Saturday, February 04, 2012 2:35:42 AM</pubDate><ttl>60</ttl><item><title>WebMatrix and ASP.NET Web Pages books</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2342</link><description>We're quite happy to see a number of books about WebMatrix and ASP.NET Web Pages become available. Here is the list of books that I'm aware of at the moment:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/1118050487/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=oraforum-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1118050487"&gt;Beginning ASP.NET Web Pages with WebMatrix&lt;/a&gt;&lt;br /&gt;Mike Brind, Imar Spaanjaars. Mike is a superstar on the &lt;a href="http://forums.asp.net/1224.aspx/1?WebMatrix+and+ASP+NET+Web+Pages" target="_blank"&gt;ASP.NET Web Pages forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.co.uk/Building-ASP-NET-WebMatrix-Need2Know-ebook/dp/B006GHBZ3C"&gt;Building ASP.NET Web Pages with WebMatrix (Need2Know)&lt;/a&gt;&lt;br /&gt;Jim Wang. Jim is one of the testers on the ASP.NET team.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/1430240202/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=lamoswenebl-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1430240202"&gt;Building ASP.NET Web Pages with Microsoft WebMatrix (The Expert's Voice in .Net)&lt;/a&gt;&lt;br /&gt;Steve Lydford&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shop.oreilly.com/product/0790145308870.do"&gt;Introducing Microsoft® WebMatrix&lt;/a&gt;&lt;br /&gt;Laurence Moroney &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ubelly.com/2011/06/free-webmatrix-e-book/"&gt;UBelly: A Guide to Web Development 101 Using WebMatrix&lt;/a&gt;&lt;br /&gt;Andy Robb&lt;br /&gt;&lt;br /&gt;There's also the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=15979" target="_blank"&gt;PDF version&lt;/a&gt; of the &lt;a href="http://www.asp.net/web-pages/tutorials/basics/1-getting-started-with-webmatrix-and-asp-net-web-pages" target="_blank"&gt;tutorials&lt;/a&gt; that are on the &lt;a href="http://asp.net/web-pages" target="_blank"&gt;http://asp.net/web-pages&lt;/a&gt; site. &lt;br /&gt;&lt;br /&gt;Finally, there's also the &lt;a href="http://msdn.microsoft.com/en-us/library/hh145669(VS.99).aspx" target="_blank"&gt;Starting Web Development with Microsoft WebMatrix&lt;/a&gt; tutorial series on MSDN, which is in effect a book-length tutorial.&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2342'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2342</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2342</guid><pubDate>Thu, 02 Feb 2012 10:50:40 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2342">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2342</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2342</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2342</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Horizontal menu as a Razor helper</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2341</link><description>On the forums, someone was asking about creating a horizontal menu using Razor code in ASP.NET Web Pages. The technique of combining an unordered list (&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; element) with CSS to create a horizontal layout, using &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; elements as the menu items, is a pretty well-known one; you can find examples &lt;a href="http://www.maxdesign.com.au/articles/css-layouts/two-liquid/" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://www.devinrolsen.com/pure-css-horizontal-menu/" target="_blank"&gt;here&lt;/a&gt;, not to mention in the &lt;em&gt;Site.css&lt;/em&gt; file that comes with a lot of the Visual Studio web project templates.&lt;br /&gt;&lt;br /&gt;The actual Razor part is likewise not hard. Someone showed this code as a way to dynamically build a list (to which you'd then apply the CSS):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;@foreach (var item in collection)&lt;br /&gt;{&lt;br /&gt;    &amp;lt;li&amp;gt;@item&amp;lt;/li&amp;gt;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;/pre&gt;The interesting part was a comment that the original poster made: &lt;blockquote&gt;It sounds like if I have lots of logic inside the loop, I might be best served moving that to the back end somewhere and just calling a method that returns the text to display within each list item.&lt;/blockquote&gt;What this sounded like to me was a fun excuse to see about creating a custom helper. Helpers are, in effect, chunks of code and markup; when you invoke the helper, it runs the code and emits the markup. For example, by creating a helper to render a horizontal menu, you could do something like this in a page:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@MyHelpers.HorizontalMenu(&lt;br /&gt;    "Home|Default.cshtml", &lt;br /&gt;    "About|About.cshtml", &lt;br /&gt;    "Login|Login.cshtml", &lt;br /&gt;    "Register|Register.cshtml")&lt;br /&gt;&amp;lt;h1&amp;gt;My Page&amp;lt;/h1&amp;gt;&lt;br /&gt;      &amp;lt;p&amp;gt;Hello, horizontal menu.&amp;lt;/p&amp;gt;&lt;/pre&gt;And get something like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/RazorHorizontalMenu.png" width='477' height='161' /&gt;&lt;/div&gt;Well, anyway, in the &lt;em&gt;App_Code&lt;/em&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2341'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2341</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2341</guid><pubDate>Wed, 01 Feb 2012 18:01:21 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2341">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2341</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2341</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2341</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Need feedback: draft article about request validation</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2340</link><description>A couple of us on the ASP.NET documentation team are working on a topic that describes how to disable request validation in ASP.NET. What do you think about the following draft? Any feedback welcome.&lt;br /&gt;&lt;br /&gt;&lt;hr/&gt;&lt;br /&gt;&lt;em&gt;Request validation&lt;/em&gt; is a feature in ASP.NET that examines an HTTP request and determines whether it contains potentially dangerous content. In this context, potentially dangerous content is any HTML markup or JavaScript code in the body, header, query string, or cookies of the request. ASP.NET performs this check because markup or code found in the URL query string, cookies, or posted form values might have been added to the request for malicious purposes.&lt;br /&gt;&lt;br /&gt;For example, if your site has a form where users enter comments, a malicious user could enter JavaScript code in a &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; element. Then when you display the page with the comment to other users, the browser would execute that JavaScript code as if it had been generated by your website. This is commonly referred to as a &lt;em&gt;cross-site scripting&lt;/em&gt; (XSS) attack. &lt;br /&gt;&lt;br /&gt;Request validation helps prevent this kind of attack. If ASP.NET detects any markup or code in a request, it throws a "potentially dangerous value was detected " error and stops page processing. The default error page looks like this (click to enlarge):&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;a href="http://www.mikepope.com/blog/images/PotentiallyDangerousError.png" target="_blank"&gt;&lt;img src="http://www.mikepope.com/blog/images/PotentiallyDangerousError_th.png" width='410' height='205' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Request validation throws this exception when any HTML markup is detected, including harmless markup like &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2340'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2340</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2340</guid><pubDate>Mon, 23 Jan 2012 08:46:27 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2340">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2340</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2340</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2340</wfw:commentRss><slash:comments>4</slash:comments></item><item><title>From functional to decorative</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2339</link><description>For Friday Fun, a word that's new to me (tho not a new word per se &amp;mdash; in fact, it's from the 1800s). First: I really like the word &lt;a href="http://www.vocabulary.com/definition/retronym" target="_blank"&gt;retronym&lt;/a&gt;, which refers to a term that has to be amended due to a technological change. Thus before the invention of the electric guitar, there was no notion of an "acoustic" guitar; all guitars were acoustic. Likewise dial phones, analog clocks, Classic Coke, and so on. (&lt;a href="http://en.wikipedia.org/wiki/List_of_retronyms" target="_blank"&gt;List of retronyms&lt;/a&gt;) &lt;br /&gt;&lt;br /&gt;The new word I just learned is semantically kinda-sorta in that camp. (Maybe it's kind of opposite-y.) The term is &lt;a href="http://dictionary.reference.com/browse/skeuomorph" target="_blank"&gt;skeuomorph&lt;/a&gt; (Greek: "vessel-shape"), and it refers to a vestigial design feature that represents something that was once functional. A popular example is the buckles on shoes &amp;mdash; originally used to, you know, buckle the shoe, now used just for looks. Other examples are faux wood or fabric patterns in plastic; light bulbs shaped like candle flames; fake shutters that people mount next to the windows of their house; fake spokes in a hubcap; the "wax" on a bottle of Maker's Mark bourbon; and (a famous example) the tiny and useless "handle" that's on virtually all bottles of maple syrup.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/Skeuomorph_Examples.png" width='372' height='264' /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2339'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>language</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2339</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2339</guid><pubDate>Fri, 13 Jan 2012 18:16:31 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2339">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2339</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2339</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2339</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>It's campaign season ... and bad-editing season?</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2338</link><description>&lt;img src="http://www.mikepope.com/blog/images/COnfusedReader.png" width='206' height='144' style="float:right;margin:8px;"/&gt;My wife is on the mailing list for the Democrats, and recently the Obama 2012 campaign sent us a peculiar little document that's like a little pocket guide to the accomplishments of the current administration. I say peculiar not just because I simply cannot imagine whipping out my handy wallet-sized list of talking points and lambasting some innocent with them, but because there are some editorial peculiarities in this little doc. And those are the issues I &lt;em&gt;really&lt;/em&gt; care about. :-)&lt;br /&gt;&lt;br /&gt;The most, er, egregious issue is parallelism in lists. Some of them are ok, like this[&lt;a href='#1'&gt;1&lt;/a&gt;]:&lt;ul&gt;&lt;li&gt;Ending Insurance Company Abuses.&lt;br /&gt;&lt;li&gt;Keeping Premiums Low.&lt;br /&gt;&lt;li&gt;Expanding Access To Care.&lt;br /&gt;&lt;li&gt;Closing the Medicare Prescription Drug "Donut Hole."&lt;/ul&gt;Fine; all the list items are gerunds, i.e., they end in &lt;em&gt;–ing&lt;/em&gt;. But here's another:&lt;ul&gt;&lt;li&gt;Equal Pay For Equal Work.&lt;br /&gt;&lt;li&gt;Improving Women's Health.&lt;br /&gt;&lt;li&gt;Protecting Women's Right to Choose.&lt;/ul&gt;Hmm. Two out of three are gerunds, but that first one is, like, you know, not. Odd.&lt;br /&gt;&lt;br /&gt;Things get stranger yet. Here's another list:&lt;ul&gt;&lt;li&gt;Job Creation.&lt;br /&gt;&lt;li&gt;Saved the auto industry from collapse.&lt;br /&gt;&lt;li&gt;The private sector has created jobs.&lt;/ul&gt;Um ... what the &lt;em&gt;heck&lt;/em&gt; kind of structure is that? It's like a smorgasbord of sentences on an idea platter. &lt;br /&gt;&lt;br /&gt;There's more like this, but you get the idea.&lt;br /&gt;&lt;br /&gt;Then there's the questionable punctuation. I don’t know if you noticed, but there's a kind of Random Capitalization thing going on with the list text. Some list items use heading caps, some use sentence caps. Is there some logic to the choices? Not that I can tell.&lt;br /&gt;&lt;br /&gt;Then I don't know what to make of this. I cite it in full so you can see where the issue is:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;strong&gt;Ending Insurance Company Abuses&lt;/strong&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2338'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2338</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2338</guid><pubDate>Thu, 12 Jan 2012 18:46:43 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2338">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2338</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2338</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2338</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>It's a miracle, but it isn't perfect just yet</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2337</link><description>One of my tasks over the last few years has been to whittle down our collection of CDs, after of course ripping them. I use Windows Media Player for ripping, which has been quite satisfactory. In fact, more than satisfactory. I have fed innumerable CDs into my machine, and time after time, across a wide range of genres and for CDs going back 25+ years, WMP has blithely displayed the CD title and list of tracks. &lt;br /&gt;&lt;br /&gt;This actually is quite amazing, if you think about it. I can start up a CD that I distinctly remember buying 27 years ago, and WMP figures out what it is and then goes out to ... somewhere ... to bring back album art and a track listing. (Try that with your vinyl or cassette tapes, ha.) When I was working my way through the pop/rock and jazz CDs, I don't think it ever failed to find the right CD and track listing. I think the only flaw I ever found was that it would retrieve CD cover art that was for a slightly different edition of the CD.&lt;br /&gt;&lt;br /&gt;Now I'm ripping classical CDs, and here I begin to detect that this technology is not exactly, entirely perfect. What I'm realizing (after doing exactly zero research about this) is that WMP is leveraging a wee bit of crowdsourcing in order to come up with track listings. &lt;br /&gt;&lt;br /&gt;For example, I put in a Dvorak CD that was an old Sony reissue on the "Essential Classics" label. WMP found the CD, no problem, but this is what it came up with for a track listing:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/WMP_Ripping_Dvorak.png" width='376' height='274' /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Oops. A DGG recording by Helene Grimaud was tagged by someone who I think must have intended to come back later and finish:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/WMP_Ripping_Corigliano.png" width='347' height='239' /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;This RCA recording was tagged by someone who could not be bothered to repeat all of that stuff for &lt;em&gt;every movement,&lt;/em&gt; good golly:&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2337'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>technology</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2337</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2337</guid><pubDate>Tue, 10 Jan 2012 00:06:49 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2337">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2337</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2337</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2337</wfw:commentRss><slash:comments>2</slash:comments></item><item><title>"Lazy" speech</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2336</link><description>Once again I have heard someone refer to a speech pattern as "lazy." Of all the complaints about the way &lt;em&gt;other&lt;/em&gt; people speak (and by golly, there are plenty), the one that makes the least sense to me is that people's speech is lazy. And yet:&lt;blockquote&gt;... my pet peeves. They’re about pronunciation, rather than grammar and news people on television are doing this more every day:&lt;br /&gt;&lt;br /&gt;1. Fill, instead of feel.&lt;br /&gt;2. Pill, instead of peel.&lt;br /&gt;[etc.]&lt;br /&gt;&lt;br /&gt;To me, this “sims” just lazy. [&lt;a href="http://languageandgrammar.com/language-pet-peeves/" target="_blank"&gt;source&lt;/a&gt;]&lt;/blockquote&gt;&lt;blockquote&gt;Plural forms are always going to be determined by what the majority is used to or comfortable with, with a tendency towards laziness. Very few people are going to bother with Priora when Priuses is perfectly functional. However, that doesn't mean that words adopted into English should use regular plural forms; it simply means that they are likely to. [&lt;a href="http://www.mikepope.com/blog/AddComment.aspx?blogid=1890" target="_blank"&gt;source&lt;/a&gt;]&lt;/blockquote&gt;&lt;blockquote&gt;If I'm talking with friends or sending a text, I don't use "proper" English grammar, but I do recognize that my grammar is incorrect. I just don't care, and I know that my listener will understand me even if I'm lazy. [&lt;a href="http://robin.hubpages.com/hub/Grammar_Mishaps__Who_vs_Whom" target="_blank"&gt;source&lt;/a&gt;]&lt;/blockquote&gt;&lt;blockquote&gt;A split infinitive can be a lazy way not to write a better sentence. [&lt;a href="http://www.dailywritingtips.com/7-grammatical-errors-that-aren%E2%80%99t/" target="_blank"&gt;source&lt;/a&gt;]&lt;/blockquote&gt;&lt;blockquote&gt;When a speaker or writer uses incorrect subject/verb agreement, it tells the audience that he is either lazy or does not care. [&lt;a href="http://www.ehow.com/how_8337644_sentence-subjectverb-agreement.html#ixzz1g91TrjYv" target="_blank"&gt;source&lt;/a&gt;]&lt;/blockquote&gt;&lt;blockquote&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2336'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>language</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2336</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2336</guid><pubDate>Fri, 23 Dec 2011 09:02:41 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2336">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2336</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2336</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2336</wfw:commentRss><slash:comments>7</slash:comments></item><item><title>'Tis the season ... for bad ads</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2335</link><description>One way for me to retain sanity in the face of the commercial onslaught of Christmas is to keep an ear and/or eye out for the utterly lamest, most obvious attempt to co-opt Christmas for commercial gain. This is a periodic, if not annual, tradition: &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=1384" target="_blank"&gt;previous 1&lt;/a&gt;, &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=1855" target="_blank"&gt;previous 2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The bar is low, obviously, but my favorites are always the ads in which the merchant tries to establish a connection between their blatantly off-season or aseasonal offering and the holidays. My favorite so far this year is a company that offers &lt;a href="http://en.wikipedia.org/wiki/Zip-line" target="_blank"&gt;zipline&lt;/a&gt; tours up on one of the San Juan islands. The premise of their ad &amp;mdash; and this is a typical strategy &amp;mdash; is that so-and-so is just so hard to get a gift for, so the answer is a gift certificate for a zipline tour! The ad writer in this case felt obliged to provide some backstory on the putative recipient and why swinging through the trees was just the thing for him. Presumably the simple offer of the tour was by itself insufficiently, um, compelling.&lt;br /&gt;&lt;br /&gt;My radio listening is way down in latter years, so I'm not really sampling broadly. This is a good thing in general, of course, since it spares me exposure to foolishness like this. On the other hand, it reduces my enjoyment of this little exercise.&lt;br /&gt;&lt;br /&gt;Got any candidates?&lt;br /&gt;&lt;br /&gt;PS Apologies to &lt;a href="http://weblogs.baltimoresun.com/news/mcintyre/blog/2011/10/the_holiday_cautions.html" target="_blank"&gt;John McIntyre&lt;/a&gt; for the title.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>general</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2335</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2335</guid><pubDate>Tue, 20 Dec 2011 22:30:21 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2335">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2335</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2335</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2335</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>"In order" to clarify meaning</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2334</link><description>Not long ago I posted about terms that &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=2320" target="_blank"&gt;just bug me&lt;/a&gt;. One of the commenters suggested the addition of &lt;em&gt;in order to&lt;/em&gt;, on the theory that it's just grandiloquence. This isn't untrue. For example, the BBC &lt;a href="http://www.bbc.co.uk/worldservice/learningenglish/grammar/learnit/learnitv146.shtml" target="_blank"&gt;suggests that&lt;/a&gt; &lt;em&gt;in order to&lt;/em&gt; and just plain &lt;em&gt;to&lt;/em&gt; "convey exactly the same meaning when conveying purpose." &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/InOrderTo.png" width='268' height='92' style="float:right;margin:8px;"/&gt;However, sometimes I actually find myself &lt;strong&gt;inserting&lt;/strong&gt; &lt;em&gt;in order to&lt;/em&gt;. This is not because I love wordiness, haha, but because there are contexts in which it helps disambiguate a phrase. Consider these examples:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;The method is required to support binary conversion.&lt;br /&gt;The method is required &lt;span style="background-color:yellow;"&gt;in order&lt;/span&gt; to support binary conversion.&lt;br /&gt;&lt;br /&gt;The target server is a setting that you add to publish data.&lt;br /&gt;The target server is a setting that you add &lt;span style="background-color:yellow;"&gt;in order&lt;/span&gt; to publish data.&lt;br /&gt;&lt;br /&gt;It's a prerequisite that you need to deploy a web site.&lt;br /&gt;It's a prerequisite that you need &lt;span style="background-color:yellow;"&gt;in order&lt;/span&gt; to deploy a web site.&lt;br /&gt;&lt;br /&gt;You can assign query strings to the Query property to return data.&lt;br /&gt;You can assign query strings to the Query property &lt;span style="background-color:yellow;"&gt;in order&lt;/span&gt; to return data.&lt;br /&gt;&lt;br /&gt;Sign In To Download Credentials&lt;br /&gt;Sign In &lt;span style="background-color:yellow;"&gt;In Order&lt;/span&gt; To Download Credentials&lt;/div&gt;&lt;br /&gt;The phrase &lt;em&gt;in order to&lt;/em&gt; introduces a so-called &lt;a href="http://www.chompchomp.com/terms/infinitivephrase.htm" target="_blank"&gt;infinitive phrase&lt;/a&gt;. If the phrase that follows &lt;em&gt;to&lt;/em&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2334'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2334</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2334</guid><pubDate>Mon, 19 Dec 2011 22:54:22 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2334">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2334</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2334</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2334</wfw:commentRss><slash:comments>5</slash:comments></item><item><title>Crediting documentation</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2333</link><description>The standard model for creating large documentation sets pretends, in essence, that the content springs from a single faceless source, namely &amp;lt;Your Company&amp;gt;. This is one of the concerns (not the only one) of a style guide, namely to define an overall tone for a content set that originates with different authors. And of course corporate-created documentation is generally not credited, and certainly not at the article level.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.lifeway.com/christianfiction/2011/08/author-signings.html" target="_blank"&gt;&lt;img src="http://www.mikepope.com/blog/images/MeetTheAuthor.png" width='163' height='88' style="float:right;margin:8px;border:none;"/&gt;&lt;/a&gt;We're starting an experiment with changing this for our own docs. For our last couple of big tutorial sets, we're attaching author names and bios to the bottom. Here are a couple of examples:&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.asp.net/web-forms/tutorials/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-introduction-1-of-12" target="_blank"&gt;Deploying to a Hosting Provider&lt;/a&gt; &lt;br /&gt;&lt;li&gt;&lt;a href="http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-started-with-mvc3-part1-cs" target="_blank"&gt;Intro to ASP.NET MVC 3&lt;/a&gt;&lt;/ul&gt;In both cases, the author info is at the bottom.&lt;br /&gt;&lt;br /&gt;We're also going to be experimenting with adding this info to MSDN topics. Here's an example (actually still a prototype) of what that might look like:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/AuthorAttribution.png" width='402' height='164' /&gt;&lt;/div&gt;&lt;br /&gt;We reckon that adding author attribution has these benefits, in no particular order:&lt;ul&gt;&lt;li&gt;Authors help develop their "brand".&lt;br /&gt;&lt;li&gt;Readers can learn to associate an author's name with a specific level, quality, and focus of work.&lt;br /&gt;&lt;li&gt;Content will get a personality and human face.&lt;br /&gt;&lt;li&gt;Readers get the (correct) impression that documentation is created by actual people.&lt;br /&gt;&lt;li&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2333'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>writing,work</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2333</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2333</guid><pubDate>Thu, 08 Dec 2011 18:19:15 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2333">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2333</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2333</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2333</wfw:commentRss><slash:comments>7</slash:comments></item><item><title>Apostrophes and plurals</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2332</link><description>Flipping through the 28 Nov 2011 edition of &lt;em&gt;The New Yorker&lt;/em&gt;, I ran across the following &lt;a href="http://www.newyorker.com/humor/issuecartoons/2011/11/28/cartoons_20111121#slide=1" target="_blank"&gt;cartoon&lt;/a&gt;:[&lt;a href='#apostrophesandplurals1'&gt;1&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/NYerCartoon_BlindCCS.png" width='480' height='366' /&gt;&lt;/div&gt;&lt;br /&gt;It took me a moment to parse the caption. What really threw me was the last word &amp;mdash; &lt;em&gt;ccs&lt;/em&gt;, which I initially read as &lt;em&gt;c-c-s&lt;/em&gt;. I then worked out that "blind ccs" was intended to be the plural of &lt;em&gt;bcc&lt;/em&gt;, as in &lt;em&gt;blind carbon copies&lt;/em&gt;, as in &lt;a href="http://en.wikipedia.org/wiki/Blind_carbon_copy" target="_blank"&gt;that option&lt;/a&gt; for sending email. &lt;br /&gt;&lt;br /&gt;Frankly, I would have edited the caption to read like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;em&gt;"I'm sure we're in all the same bcc's"&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;For starters, I would not have created the mutant phrase &lt;em&gt;blind cc&lt;/em&gt;, which seems like a failure of nerve. But then there is the interesting question of whether you can just whack an &lt;em&gt;-s&lt;/em&gt; onto &lt;em&gt;cc&lt;/em&gt; in order to pluralize it. We've been admonished plenty that you don't use an apostrophe to mark the plural, right? But there are these exceptions ...&lt;br /&gt;&lt;br /&gt;The trusty &lt;a href="http://www.chicagomanualofstyle.org/home.html" target="_blank"&gt;&lt;em&gt;Chicago Manual of Style&lt;/em&gt;&lt;/a&gt; (CMoS) has, as usual, sane advice for this situation:&lt;br /&gt;&lt;blockquote&gt;6.11 &lt;strong&gt;So far as can be done without confusion&lt;/strong&gt;, single or multiple letters, hyphenated coinages, and numbers used as nouns [...] form the plural by adding s alone.&lt;br /&gt;&lt;br /&gt;6.82 Individual letters and combinations of letters of the alphabet are italicized. If some proverbial expressions the distinction is ignored, and in that case the plural is formed by adding an apostrophe and s:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;Mind your p's and q's.&lt;br /&gt;Dot your i's and cross your t's.&lt;/div&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2332'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2332</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2332</guid><pubDate>Fri, 25 Nov 2011 19:59:14 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2332">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2332</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2332</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2332</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>The KJV in everyday speech</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2331</link><description>The &lt;a href="http://en.wikipedia.org/wiki/Authorized_King_James_Version" target="_blank"&gt;King James Bible&lt;/a&gt; (alternately, the Authorized Version or  King James Version or KJV) is 400 years old; it was originally printed in 1611. Many people have noted that the book -- specifically, the language of the translation -- has had a widespread impact on everyday English. &lt;br /&gt;&lt;br /&gt;For some Friday Fun (tho it's Wednesday, it's a virtual Friday for many in the US), here's a pleasing observation from an &lt;a href="http://ngm.nationalgeographic.com/2011/12/king-james-bible/nicolson-text" target="_blank"&gt;article&lt;/a&gt; in the latest &lt;em&gt;National Geographic&lt;/em&gt; about the creation of the King James Bible. This is by Adam Nicolson, whose book about the KJV is listed below.&lt;blockquote&gt;If a child is ever the apple of her parents' eye or an idea seems as old as the hills, if we are at death's door or at our wits' end, if we have gone through a baptism of fire or are about to bite the dust, if it seems at times that the blind are leading the blind or we are casting pearls before swine, if you are either buttering someone up or casting the first stone, the King James Bible, whether we know it or not, is speaking through us. The haves and have-nots, heads on plates, thieves in the night, scum of the earth, best until last, sackcloth and ashes, streets paved in gold, and the skin of one's teeth: All of them have been transmitted to us by the translators who did their magnificent work 400 years ago.&lt;/blockquote&gt;Personal anecdote. In my grad school days, I was exposed to a variety of extinct Germanic languages, including Anglo-Saxon and &lt;a href="http://en.wikipedia.org/wiki/Gothic_language" target="_blank"&gt;Gothic&lt;/a&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2331'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>language</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2331</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2331</guid><pubDate>Wed, 23 Nov 2011 15:17:47 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2331">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2331</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2331</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2331</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>And now, some other text generators</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2330</link><description>A little while back, I played around with &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=2311" target="_blank"&gt;various ways to create placeholder text&lt;/a&gt;. Those were specifically for generating nonsense text, but there are various sites/tools/utilities for generating text that have a more serious purpose. For a little Friday Fun[&lt;a href='#andnowsomeothertextgenerators1'&gt;1&lt;/a&gt;], therefore, let's have a look.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;a href="http://www.generatedata.com/#about" target="_blank"&gt;Data Generator&lt;/a&gt;&lt;br /&gt;"... a free, open source script that lets you quickly generate large volumes of custom data in a variety of formats for use in testing software, populating databases, and scoring with girls." &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ok, so that actually sounds pretty useful. (Yeah, except the girls part.) The next few are implementations of the general desire for &lt;a href="http://en.wikipedia.org/wiki/Automatic_summarization" target="_blank"&gt;automatic summarization&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;a target="_blank" href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2815407/"&gt;FigSum&lt;/a&gt;&lt;br /&gt;Supposed to generate text summaries automatically from figures (e.g. in a paper). "... aggregates scattered information to improve figure comprehension. For each figure in an article, FigSum generates a structured text summary comprising one sentence from each of the four rhetorical categories – Introduction, Methods, Results and Discussion (IMRaD)."&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;a href="http://www.cs.cmu.edu/~weichen/QG.pdf" target="_blank"&gt;Generating Questions Automatically from Informational Text&lt;/a&gt; (pdf)&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2330'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2330</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2330</guid><pubDate>Fri, 18 Nov 2011 07:55:44 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2330">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2330</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2330</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2330</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Getting custom info from the FileUpload helper </title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2329</link><description>In ASP.NET Web Pages, you can use the &lt;code&gt;FileUpload&lt;/code&gt; helper[&lt;a href='#gettingcustominformationfromthefileuploadhelper1'&gt;1&lt;/a&gt;] to render HTML that lets users upload one or more files. For example, this helper:&lt;br /&gt;&lt;pre&gt;@FileUpload.GetHtml(&lt;br /&gt;    initialNumberOfFiles: 1,&lt;br /&gt;    allowMoreFilesToBeAdded: false,&lt;br /&gt;    includeFormTag: true,&lt;br /&gt;    uploadText: "Upload File 1",&lt;br /&gt;    name: "Upload1"&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Renders this:&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/FileUpload_Rendered1.png" width='236' height='85' /&gt;&lt;/div&gt;&lt;br /&gt;The upload controls consist of a &lt;code&gt;&amp;lt;input type="file"&amp;gt;&lt;/code&gt; element and a submit button (&lt;code&gt;&amp;lt;input type="submit"&amp;gt;&lt;/code&gt;). By default, the helper renders a &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; element around this. For example, the markup rendered by the previous example is this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;form action="" enctype="multipart/form-data" method="post"&amp;gt;&lt;br /&gt;&amp;lt;div class="file-upload" id="file-upload-0"&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;    &amp;lt;input name="Upload1" type="file" /&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div class="file-upload-buttons"&amp;gt;&lt;br /&gt;    &amp;lt;input type="submit" value="Upload File 1" /&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt;&lt;br /&gt;(The &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements with their IDs let you specify CSS to make things pretty.)&lt;br /&gt;&lt;br /&gt;People sometimes ask whether there's a way to get additional information about the upload. For example, if you have two &lt;code&gt;FileUpload&lt;/code&gt; helpers on a page, can you tell which one submitted the file? &lt;br /&gt;&lt;br /&gt;Yes. Specify the helper this way:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;form method="post" name="form2" enctype="multipart/form-data"&amp;gt;&lt;br /&gt;	@FileUpload.GetHtml(&lt;br /&gt;	    initialNumberOfFiles: 1,&lt;br /&gt;	    allowMoreFilesToBeAdded: false,&lt;br /&gt;	    includeFormTag: false,&lt;br /&gt;	    uploadText: "Upload2",&lt;br /&gt;	    name: "Upload2"&lt;br /&gt;	)&lt;br /&gt;	&amp;lt;input type="submit" name="buttonUpload2" value="Upload File 2" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/pre&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2329'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2329</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2329</guid><pubDate>Thu, 17 Nov 2011 14:25:50 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2329">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2329</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2329</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2329</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Wordless diagrams</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2328</link><description>Think you could explain to someone how to blow bubblegum, but without a single word? &lt;a href="http://www.nigelholmes.com/wordless/wordless3.htm" target="_blank"&gt;Nigel Holmes can&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/WordlessDiagrams_BlowingBubbles.png" width='413' height='324' /&gt;&lt;/div&gt;&lt;br /&gt;He's got an &lt;a href="http://www.amazon.com/Wordless-Diagrams-Nigel-Holmes/dp/1582345228" target="_blank"&gt;entire book&lt;/a&gt; of these types of instructions.&lt;br /&gt;&lt;br /&gt;Pleasingly, the &lt;a href="http://www.nigelholmes.com/wordless/" target="_blank"&gt;blog&lt;/a&gt; for his book likewise has no words. </description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2328</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2328</guid><pubDate>Wed, 16 Nov 2011 19:39:30 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2328">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2328</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2328</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2328</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>MembershipProvider error in ASP.NET Web Pages</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2327</link><description>If you use &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=2240" target="_blank"&gt;membership in ASP.NET Web Pages&lt;/a&gt;, you might get the error &lt;code&gt;To call this method, the "Membership.Provider" property must be an instance of "ExtendedMembershipProvider"&lt;/code&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/MembershipProviderError_YSoD.gif" width='592' height='542' /&gt;&lt;/div&gt;&lt;br /&gt;I happened to run across this while playing around with the &lt;a href="http://www.asp.net/webmatrix/tutorials/the-top-features-in-web-pages-2-developer-preview#oauthsetup" target="_blank"&gt;new OAuth login capabilities&lt;/a&gt; in the beta version of Web Pages 2, but you might see it under other conditions as well. &lt;br /&gt;&lt;br /&gt;Per one of our testers, this can indicate that the server has no &lt;code&gt;AspNetSqlMembershipProvider&lt;/code&gt; configured. (A clue here is that everything works great when you test locally, but then throws an error when you deploy to your hosting provider.)&lt;br /&gt;&lt;br /&gt;In my case, I fixed this by adding the following to the site's local &lt;em&gt;Web.config&lt;/em&gt; file:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;appSettings&amp;gt;&lt;br /&gt;  &amp;lt;add key="enableSimpleMembership" value="true" /&amp;gt;&lt;br /&gt;&amp;lt;/appSettings&amp;gt;&lt;/pre&gt;This is a child of the &lt;code&gt;&amp;lt;configuration&amp;gt;&lt;/code&gt; element and a peer of the &lt;code&gt;&amp;lt;system.web&amp;gt;&lt;/code&gt; element.&lt;br /&gt;&lt;br /&gt;Anyway, that worked for me. I'm curious if others have seen this error and if so, how they fixed it.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2327</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2327</guid><pubDate>Tue, 15 Nov 2011 22:23:45 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2327">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2327</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2327</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2327</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Police shoot dead man</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2326</link><description>An example today of what have come to be called &lt;a href="http://johnemcintyre.blogspot.com/2009/08/now-we-have-term-for-it.html" target="_blank"&gt;crash blossoms&lt;/a&gt; &amp;mdash; ambiguous headlines:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/DeadFerryHijacker.png" width='543' height='278' /&gt;&lt;br /&gt;[&lt;a href="http://www.foxnews.com/world/2011/11/12/turkish-forces-shoot-dead-ferry-hijacker/" target="_blank"&gt;Source&lt;/a&gt;]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;For a whole blog's worth of these things, see &lt;a href="http://www.crashblossoms.com/" target="_blank"&gt;http://www.crashblossoms.com/&lt;/a&gt;.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2326</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2326</guid><pubDate>Sat, 12 Nov 2011 07:26:01 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2326">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2326</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2326</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2326</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>Childhood trauma</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2325</link><description>For some Friday Fun, a &lt;a href="http://www.newyorker.com/humor/issuecartoons/2011/10/17/cartoons_20111010#slide=6" target="_blank"&gt;cartoon&lt;/a&gt; out of a recent edition of &lt;em&gt;The New Yorker&lt;/em&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;img src="http://www.mikepope.com/blog/images/SeverelyEdited.gif" width='594' height='488' /&gt;&lt;/div&gt;&lt;br /&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,funny</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2325</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2325</guid><pubDate>Fri, 11 Nov 2011 00:12:39 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2325">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2325</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2325</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2325</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>The you-could-also problem</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2324</link><description>I deal with tutorials a lot. A tutorial is, in some senses, a self-guided demo. We want to show you how to accomplish some specific task ... Here's how you read data from a database! Here's how you add login capabilities to your website! Etc. Tutorials are by nature procedural &amp;mdash; they consist of sequential steps. Create the page, &lt;em&gt;then&lt;/em&gt; add these controls, &lt;em&gt;then&lt;/em&gt; write this code. These steps are generally interspersed with pictures to show you either what you're about to do or what you've just done:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:25px;"&gt;&lt;a href="http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs" target="_blank"&gt;&lt;img src="http://www.mikepope.com/blog/images/TutorialSequenceAndScreenshots.png" width='494' height='677' style="border:none;"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;What tutorials are &lt;em&gt;not&lt;/em&gt; is a leisurely discussion of the many ways you could approach a problem. The tutorial shows you one concrete way to accomplish the task. If you want to show a different way, write a second tutorial. &lt;br /&gt;&lt;br /&gt;Yet there is a strong impulse to include asides to the reader that go off this one-track path. As I review tutorials, I'll often run across these types of tossed-off observations: "Another way you could do this is xxxx, although we don't discuss that here." Or "At this point, you could do xxxx, although you don't have to." &lt;br /&gt;&lt;br /&gt;Almost without exception, I'll encourage the writer to take these out. My thinking is that the user doesn't really care about alternatives or optional (but non-functional) steps &lt;em&gt;while they're in the middle of something&lt;/em&gt;. That's why I note that tutorials are sort of like demos &amp;mdash; when someone is doing a sales demonstration, they don't stop as they go and say "Of course, a different way to do this is ...". You want to keep the reader focused on the task at hand and not clutter their minds with roads not taken and steps they don't need.&lt;br /&gt;&lt;br /&gt;I say &lt;em&gt;almost&lt;/em&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2324'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2324</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2324</guid><pubDate>Wed, 09 Nov 2011 21:10:14 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2324">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2324</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2324</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2324</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>My political beliefs</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2323</link><description>I belong to the group that has the correct political beliefs. Our side knows the truth, and we're correct about everything, and we're good. The other side is wrong, and they're bad. Our beliefs are true for all circumstances and scenarios. They are valid for all parameters and variables. They apply to all people at all times and for all situations.&lt;br /&gt;&lt;br /&gt;Our opponents argue about these beliefs. That's because their morals and thinking are corrupt. They look for weasely ways to rationalize their own unethical behavior. And they hate our beliefs and our nation.&lt;br /&gt;&lt;br /&gt;Why is the other side so wrong? Some of them are stupid, or crazy. Many are simple-minded fools who can only parrot the platitudes of their elite. They all are tools of shadowy overlords who manipulate these people's beliefs to thwart the will of all true citizens, probably for financial gain. (Because our opponents are stupid, this is easy.) Some of them hate everything we stand for and are eager to work against their own interests. The important point is that all of them are wrong, always.&lt;br /&gt;&lt;br /&gt;History has vindicated us over and over. Our founding fathers all agreed 100% with our beliefs, as we can easily prove by quoting them. These sainted leaders had a unique and inspired vision for our country. But our opponents have co-opted this for their own evil purposes. Sometimes our opponents have temporarily had power, which they gained through deceit and fraud. They then ignored our true and good beliefs and implemented their destructive agenda. Our bitter vindication is that each time they then ran the country straight into the ground.&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2323'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>politics</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2323</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2323</guid><pubDate>Sat, 05 Nov 2011 10:53:40 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2323">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2323</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2323</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2323</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>Mike Swaine on communicating</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2322</link><description>In case you don't already follow Mike Swaine at &lt;a href="http://www.swaine.com/wordpress/" target="_blank"&gt;Swaine's World&lt;/a&gt;, I'm going to recommend him. Here's an example of why:&lt;blockquote&gt;[T]he good news is that you only have to worry about those two things when you write: am I communicating what I want to communicate, and am I communicating only what I want to communicate? You don’t have to worry about rules of punctuation, spelling, grammar, or usage. It’s not that they aren’t useful, and you ignore them at the risk of impairing your communication. I’m just saying keep them in their place: so far as you as a writer are concerned, those things are just possibly helpful heuristics to help you say what you mean to say, and not say what you don’t mean to say.&lt;br /&gt;&lt;br /&gt;Writing is communication. Don’t lose sight of that fact and you’ll be all right.&lt;/blockquote&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing,writing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2322</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2322</guid><pubDate>Wed, 02 Nov 2011 10:15:14 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2322">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2322</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2322</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2322</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Email is not a CMS. Mostly.</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2321</link><description>Our team uses a formal content management system (CMS), a home-grown but very powerful  system that has evolved over the past decade to be suitable for producing the type and volume of information that appears on &lt;a href="http://msdn.microsoft.com/en-us/library/default.aspx" target="_blank"&gt;MSDN&lt;/a&gt;. This CMS system includes check-in/out facilities, versioning and history, tons of document metadata, workflow status, custom tools (for example, to generate skeleton API docs), etc. We have our issues with it, but it gets the job done.&lt;br /&gt;&lt;br /&gt;Not all of our work is for MSDN, tho. For the "other" documentation that we write, we've settled on using SharePoint for Word-based documents. That isn't quite as powerful in various ways, but it does give us CMS functionality. For HTML-based documentation, we've been using the source-code control facilities of Team Foundation Server, aka &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/team-foundation-server/overview" target="_blank"&gt;TFS&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;And then there is the "other-other" work. Stuff that comes in over the transom &amp;mdash; error messages to review, screen text, marketing blurbs, whitepapers, readme files, and so forth and so on. This is material that's owned by folks outside of documentation but that they want our help with. Perhaps surprisingly, we don't have a formal system for putting this stuff into the pipeline. What tends to happen instead is that it shows up in email.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/EmailIsNotACMS.png" width='195' height='134' style="float:right;margin:8px;"/&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2321'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>writing,editing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2321</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2321</guid><pubDate>Mon, 31 Oct 2011 09:18:13 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2321">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2321</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2321</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2321</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Words (not) to live by</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2320</link><description>John McIntyre has a &lt;a href="http://weblogs.baltimoresun.com/news/mcintyre/blog/2011/10/you_have_to_look_at_the_evidence.html" target="_blank"&gt;post today&lt;/a&gt; about using evidence to support assertions about language, and I've been thinking anyway recently about the need for empirical support for things like planning your documentation. (More on that another time.) Thus I was primed today while I was editing to think about edits I make that I really &lt;em&gt;can't&lt;/em&gt; justify.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/WaggingFinger.png" width='139' height='177' style="border:none;float:right;padding:10px;"/&gt;The writer David Owen said once that early in his career he interned for someone who "maintains an idiosyncractic but absolute ban on the word &lt;em&gt;however&lt;/em&gt;."[&lt;a href='#wordsnottoliveby1'&gt;1&lt;/a&gt;] Every editor has terms &amp;mdash; words, phrases &amp;mdash; that they just don't like. A word seems ungainly to them, or it violates some bogus rule that the editor once learned, or ... well, whatever. It's subjective, but in each case it's specific to that editor and can't be justified in the usual ways. (Logic, precedence, or appeal to authority.)&lt;br /&gt;&lt;br /&gt;So for a little Friday Fun, here's a list of edits I make that have no more justification than "because I don't like it." :-)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;upon&lt;/b&gt;&lt;br /&gt;&lt;em&gt;Custom Formatting Based Upon Data&lt;/em&gt; [&lt;a href="http://www.asp.net/data-access/tutorials/custom-formatting-based-upon-data-vb" target="_blank"&gt;#&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;The number of times in which I think &lt;em&gt;upon&lt;/em&gt; is better than &lt;em&gt;on&lt;/em&gt; is so small that I can't remember the last time I let &lt;em&gt;upon&lt;/em&gt; stand.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;within&lt;/b&gt;&lt;br /&gt;&lt;em&gt;ASP.NET MVC 3 and the @helper syntax within Razor&lt;/em&gt; [&lt;a href="http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx" target="_blank"&gt;#&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;My ban on &lt;em&gt;within&lt;/em&gt; isn't quite as absolute as it is on &lt;em&gt;upon&lt;/em&gt;; there are times when it does clarify. (Something like &lt;em&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2320'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>editing</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2320</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2320</guid><pubDate>Fri, 21 Oct 2011 13:01:31 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2320">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2320</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2320</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2320</wfw:commentRss><slash:comments>5</slash:comments></item><item><title>I speak, therefore I am a linguist</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2319</link><description>From an &lt;a href="http://www.anthropology-news.org/index.php/2011/09/22/for-ebonics-the-new-milennium-is-pretty-much-like-the-old-one-draft/" target="_blank"&gt;article&lt;/a&gt; on Ebonics by Ronald Kephart:&lt;blockquote&gt;If the topic is physics, most people are happy to defer to physicists; if the topic is digestion, even though most people can digest food, they still defer to the gastroenterologists. But if the topic is language, everyone thinks they’re a linguist.&lt;/blockquote&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>language</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2319</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2319</guid><pubDate>Thu, 20 Oct 2011 09:41:24 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2319">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2319</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2319</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2319</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Installing version 1 of WebMatrix after installing WM2 beta</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2318</link><description>The &lt;a href="http://www.microsoft.com/web/webmatrix/betafeatures.aspx" target="_blank"&gt;beta version of WebMatrix&amp;nbsp;2&lt;/a&gt; was put out for public consumption around the time of the //build/ conference in September. Very nice.&lt;br /&gt;&lt;br /&gt;However, installing WebMatrix&amp;nbsp;2 beta makes it harder to install (reinstall) the WebMatrix&amp;nbsp;1 (actually, 1.1), should you ever need to do that. (I did recently.) If you go to the download page and try to install the non-beta version of WebMatrix you won't get it, even if you carefully and explicitly don't choose the beta download option. You'll be offered WebMatrix&amp;nbsp;2 beta only.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/WebMaterixBetaInstall.png" width='677' height='163' /&gt;&lt;br /&gt;&lt;br /&gt;Turns out this is due to the installer. WebMatrix is installed via Web Platform Installer (WebPI). When you install the Beta release, you first get an updated version of WebPI, and the updated version of WebPI knows only about the beta version of WebMatrix&amp;nbsp;2.&lt;br /&gt;&lt;br /&gt;Anyway, long story short, if you've instaslled WebMatrix&amp;nbsp;2 Beta but for some reason need to reinstalled WebMatrix&amp;nbsp;1, you need to uninstall WebPI.&lt;br /&gt;&lt;br /&gt;(Thanks to &lt;a href="http://social.msdn.microsoft.com/Profile/Chris%20Sfanos%20-%20MSFT" target="_blank"&gt;Chris Sfanos&lt;/a&gt; and his WebMatrix expertise for sorting this one out for me.)</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,webmatrix</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2318</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2318</guid><pubDate>Tue, 18 Oct 2011 08:36:26 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2318">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2318</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2318</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2318</wfw:commentRss><slash:comments>0</slash:comments></item></channel></rss>
