<?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>Mon, 20 May 2013 08:26:15 GMT</lastBuildDate><pubDate>Monday, May 20, 2013 8:26:15 AM</pubDate><ttl>60</ttl><item><title>Blogaversary</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2379</link><description>Just a quick note: this blog is 9 years old today. I started it in 2003 as a kind of example project for a book I was working on. &lt;br /&gt;&lt;br /&gt;A few stats:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Entries:&lt;/strong&gt; 2,268&lt;br /&gt;&lt;strong&gt;Words:&lt;/strong&gt; 701,668 (not counting code)&lt;br /&gt;&lt;strong&gt;Comments:&lt;/strong&gt; 2418&lt;br /&gt;&lt;strong&gt;Hits:&lt;/strong&gt;  1,426,013&lt;br /&gt;&lt;br /&gt;Something that's kind of amusing (well, to me) is &lt;a href="http://mikepope.com/blog/fun/blogtimesofday2.aspx" target="_blank"&gt;a page&lt;/a&gt; that shows the times of day when I've posted, by hour. It seems, for example, that my most productive blogging time (posting time, anyway) is between 11:00 pm and midnight. &lt;br /&gt;&lt;br /&gt;I've been thinking about rewriting the blog pretty much since I started it, what with new and better ASP.NET technologies coming out all the time. Perhaps year 10 will finally see that happen!&lt;br /&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,personal</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2379</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2379</guid><pubDate>Wed, 27 Jun 2012 09:26:24 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2379">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2379</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2379</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2379</wfw:commentRss><slash:comments>2</slash:comments></item><item><title>Blog feed fixed, oops</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2278</link><description>Ok, I think the feed works now. (Well, feeds, including the comments feed.) Sheesh. There's all this stuff to re-set up when you move to a new IIS server, and one of those is the custom mapping for file name extensions. My feeds end in &lt;em&gt;.rss&lt;/em&gt;, which is "elegant", but requires that IIS know what to do with that extension. I configured that on my own server over 5 years ago, and I do this about twice per decade, so I tend to forget that it needs to be done. Anyway, I remembered, finally, and was able to do some remote tweakage of IIS on the hosting site, so I think it's working.&lt;br /&gt;&lt;br /&gt;Reminders. You can subscribe to the entire blog feed this way:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mikepope.com/blog/blogfeed.rss" target="_blank"&gt;http://www.mikepope.com/blog/blogfeed.rss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can either get a truncated (2K/entry max) or full feed. The default is truncated. To get the full feed, do this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mikepope.com/blog/blogfeed.rss?full=true" target="_blank"&gt;http://www.mikepope.com/blog/blogfeed.rss?&lt;span style="background-color:yellow;"&gt;full=true&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to subscribe to only a specific category, you can do this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;http://mikepope.com/blog/blogfeed.rss?category=&lt;em&gt;xxxxx&lt;/em&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Examples of the latter:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mikepope.com/blog/blogfeed.rss?category=writing" target="_blank"&gt;http://mikepope.com/blog/blogfeed.rss?category=writing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mikepope.com/blog/blogfeed.rss?category=editing" target="_blank"&gt;http://mikepope.com/blog/blogfeed.rss?category=editing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mikepope.com/blog/blogfeed.rss?category=aspnet" target="_blank"&gt;http://mikepope.com/blog/blogfeed.rss?category=aspnet&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mikepope.com/blog/blogfeed.rss?category=webmatrix" target="_blank"&gt;http://mikepope.com/blog/blogfeed.rss?category=webmatrix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The truncated/full thing works here too. For example:&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2278'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2278</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2278</guid><pubDate>Thu, 02 Jun 2011 19:54:04 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2278">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2278</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2278</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2278</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Blog move successful (?)</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2276</link><description>The blog's been moved to a hosting site and seems, per some non-rigorous testing, to be functional. Now to discover over the forthcoming days where-all things are not quite working right.&lt;br /&gt;&lt;br /&gt;All in all, the move was not a huge problem. For all the fancy deployment facilities in VS, it was possible -- in fact, easier -- for me to just FTP the files over. As for the blog database, I used the &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb907585.aspx" target="_blank"&gt;Publish to provider&lt;/a&gt;&lt;/strong&gt; feature in Visual Web Developer Express and exported the existing database as one honkin' big .sql script. Then I used &lt;a href="http://msdn.microsoft.com/en-us/library/ms365247.aspx" target="_blank"&gt;SQL Server Management Studio Express&lt;/a&gt; to attach to the remote/hosting site SQL Server and run the script. That took, dunno, maybe 5 minutes.&lt;br /&gt;&lt;br /&gt;The trickiest part so far, and one that isn't 100% settled, was configuring the hosted site to send email. &lt;br /&gt;&lt;br /&gt;Two things amused me. One was that they said that provisioning the SQL Server database could take up to 24 hours. It took, like, 1 minute. Likewise they said that changing the target server for my domain (mikepope.com) would take 20 minutes and up to 48 hours. Again, less than a minute. Not that I'm complaining, nossir. </description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2276</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2276</guid><pubDate>Mon, 30 May 2011 20:43:54 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2276">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2276</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2276</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2276</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Moving the blog</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2274</link><description>I'm going to try to move the blog to another server in the course of the next few days. As a result, the blog will be down for some period that might last up to a day, perhaps more, dunno. Anyway, that's why it will be offline starting sometime Monday. When it comes back up, it should look and work the same, just be somewhere else. </description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2274</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2274</guid><pubDate>Mon, 30 May 2011 00:00:08 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2274">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2274</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2274</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2274</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Blog update: Added a Facebook Like button</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272</link><description>Upon attending an &lt;a href="http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank"&gt;SEO&lt;/a&gt; presentation this week, I learned that I should be enabling social media a bit better on this blog. So I added a Facebook Like button.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/FBLikeButtonBig.png" width='168' height='93' style="float:right;margin:10px;"/&gt;This is my first attempt, so I went with a button that shows up at the bottom of the entry. I was told that it's not bad idea to have a button at the top; a peculiar but attested behavior of users is that they'll sometimes "Like" something before they read it, or possibly without reading beyond the beginning. But let's see how this works out.&lt;br /&gt;&lt;br /&gt;Implementing the button is not particularly difficult. The details are laid out on the &lt;a href="https://developers.facebook.com/docs/reference/plugins/like/" target="_blank"&gt;Like Button&lt;/a&gt; page of the Facebook Developers site. In effect, what I did was add the following markup to the bottom of the layout for a blog entry (broken up here for readability):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;iframe src=&lt;br /&gt;   "http://www.facebook.com/plugins/like.php?href=%%1%%&lt;br /&gt;   &amp;amp;layout=standard&lt;br /&gt;   &amp;amp;show_faces=False&lt;br /&gt;   &amp;amp;width=450&lt;br /&gt;   &amp;amp;action=like&lt;br /&gt;   &amp;amp;colorscheme=light&lt;br /&gt;   &amp;amp;height=80&lt;br /&gt;   &amp;amp;locale=en_US"&lt;br /&gt;scrolling="no" &lt;br /&gt;frameborder="0" &lt;br /&gt;style="border:none; overflow:hidden; width:450px; height:30px;" &lt;br /&gt;allowTransparency="true"&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/pre&gt;&lt;br /&gt;I had to add some code to the page to substitute the URL of an individual blog entry (e.g., &lt;code&gt;http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272&lt;/code&gt;) for &lt;code&gt;%%1%%&lt;/code&gt; in the markup. (The blog code is something of a rat's nest anyway, so what's another 4 lines for this?) &lt;br /&gt;&lt;br /&gt;You're also supposed to add some meta tags to the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2272</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272</guid><pubDate>Thu, 26 May 2011 01:02:52 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2272</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2272</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2272</wfw:commentRss><slash:comments>5</slash:comments></item><item><title>That unmistakable sound</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2178</link><description> &lt;a style="border:none;" href="http://www.world-education.info/?tag=hard-drive-failure" target="_blank"&gt;&lt;img style="border:none;float:right;margin:10px;" src="http://www.mikepope.com/blog/images/HardDiskOnFire.jpg" width='123' height='131' /&gt;&lt;/a&gt;I think that one of the disks on my server computer is dying -- it's making that spin-up-spin-down noise that they make just before they break. (Break your heart, that is.)[&lt;a href='#thatunmistakablesound1'&gt;1&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;If the blog disappears, it's because I'm, you know, servicing the server. &lt;br /&gt;&lt;br /&gt;Once again I wonder whether it's really worth it to maintain my own server. Hmmm. &lt;br /&gt;&lt;br /&gt;&lt;hr align="left" style="width:50%;"/&gt;&lt;a name='thatunmistakablesound1'&gt;[1]&lt;/a&gt; As an aside, I got this image  from &lt;a href="http://www.world-education.info/?p=35" target="_blank"&gt;a site&lt;/a&gt; that obviously is auto-translated. From what language, who knows. Here's an excerpt about the warning signs of incipient failure:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;strong&gt;Symptoms of harder drive failure&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The pre-warnings of harder drive abortion are not consistently accustomed by declining harder drive, if sometimes the agnate absurdity letters may arise and sometimes not. The a lot of accepted signs are beat or abrading sounds, while others, lower in ratings, cover aspersing arrangement achievement and abrupt behavior.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>personal,blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2178</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2178</guid><pubDate>Thu, 29 Oct 2009 12:02:23 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2178">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2178</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2178</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2178</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>Foiled attack</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2174</link><description>Earlier today, someone left the following "comment" on an entry in the blog:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;% foreach (var x in ConfigurationManager.ConnectionStrings){%&amp;gt;&amp;lt;%= x.ToString() + "&amp;lt;br /&amp;gt;" %&amp;gt;&amp;lt;% } %&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This is an attempt, obviously, to get connection information about any and all databases that the blog has access to.&lt;br /&gt;&lt;br /&gt;In this particular case, the attack was not successful because I encode stuff in comments, so it was just passed through as text. I sure hope that I've anticipated other, relatively straightforward attacks of a similar nature. But as we know, hackers are wily. And I am not particularly so, alas.&lt;br /&gt;&lt;br /&gt;It goes to show that no matter how trivial your site, someone is interested in hacking it. Security: It's not just for commercial web sites.&lt;br /&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,aspnet</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2174</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2174</guid><pubDate>Thu, 15 Oct 2009 14:07:51 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2174">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2174</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2174</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2174</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>You can again enter comments</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2171</link><description>Apparently a couple of days ago I broke the ability to add comments, in a well-meaning attempt to add some other functionality to the blog. Which I didn't finish, so no birds with two stones. Oh, well. I think I've fixed the comment-add feature again. &lt;br /&gt;&lt;br /&gt;Man, do I ever need to rewrite this creaking hunk o' software. Real Soon Now.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2171</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2171</guid><pubDate>Sun, 04 Oct 2009 22:14:22 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2171">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2171</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2171</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2171</wfw:commentRss><slash:comments>2</slash:comments></item><item><title>Blog feed changes</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2123</link><description>What started as a simple request from Phil -- use fully qualified URLs for images -- turned, naturally, into something a bit more. I fixed the feed, then needed to update the feed URL in Feedburner, which led to moving the feed to Google (which bought Feedburner), which led to an error, which led to some further tweaking of the actual feed. &lt;br /&gt;&lt;br /&gt;Anyway. If I broke your feed, let me know. PS Sorry if so. &lt;br /&gt;&lt;br /&gt;One URL that should always work is this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mikepope.com/blog/blogfeed.rss" target="_blank"&gt;http://www.mikepope.com/blog/blogfeed.rss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;or this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mikepope.com/blog/blogfeed.rss?full=true" target="_blank"&gt;http://www.mikepope.com/blog/blogfeed.rss?full=true&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;if you want full entries in the feed.&lt;br /&gt;&lt;br /&gt;But of course that does not go through a subscription service. </description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2123</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2123</guid><pubDate>Tue, 31 Mar 2009 23:26:22 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2123">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2123</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2123</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2123</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Speaking of large numbers</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2110</link><description>Another blog milestone today -- sometime during the night, the blog hit counter rolled over to 7 digits:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;&lt;img src="http://www.mikepope.com/blog/images/BlogStats_MillionHits.png" width='310' height='259' /&gt;&lt;/div&gt;As noted earlier, compared wtih actual, real blogs, this is nothing -- most of the people whose blogs I read pick up a million hits in months, if not weeks. But hey, it's sumpin' special for &lt;em&gt;this&lt;/em&gt; blog, anyway.&lt;br /&gt;&lt;br /&gt;So, 5-1/2 years, &lt;a href="http://mikepope.com/blog/AddComment.aspx?blogid=2102" target="_blank"&gt;2000 posts&lt;/a&gt;, a million hits, half a million words:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left:50px"&gt;Blah-blah, yadda-yadda, a milestone hit today&lt;br /&gt;A &lt;em&gt;million&lt;/em&gt; times the server has been asked for to display&lt;br /&gt;These pages of Verdana 8-point text all bluish gray&lt;br /&gt;And weeks ago the blog post count inched slightly past 2K.&lt;br /&gt;A half a million words, by god, so little to convey&lt;br /&gt;You'd think by now I might have had some useful things to say.&lt;/div&gt;Haha.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,personal</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2110</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2110</guid><pubDate>Tue, 24 Feb 2009 09:59:51 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2110">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2110</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2110</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2110</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>2K</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2102</link><description>This is my 2,000th post. You'd think that by now I'd have something interesting to say, wouldn't you? :-)</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,personal</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=2102</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2102</guid><pubDate>Tue, 10 Feb 2009 18:55:34 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2102">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2102</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=2102</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=2102</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Blogiversary: 5 years</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1986</link><description>This blog went live &lt;a href="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=25" target="_blank"&gt;5 years ago today&lt;/a&gt;.[&lt;a href='#blogiversaryyears1'&gt;1&lt;/a&gt;] It was a kind of lark, of course. ("How hard could it be?") &lt;br /&gt;&lt;br /&gt;Some stats:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Entries&lt;/strong&gt;: 1885.&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Words&lt;/strong&gt;: 545,938. That's a lot of blather, dang.&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Average entry size&lt;/strong&gt;: 289, or 298 if I count code.&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Hits&lt;/strong&gt;: 917,375 or thereabouts. The, um, rigorousness of the hit counting is not guaranteed. &lt;/ul&gt;More stats are available over on the bottom left.&lt;br /&gt;&lt;br /&gt;I've slowed way down in the last year or so. Partly I just don't have as much time, and partly it's because the editing game requires less daily coding, hence I've had fewer incentives to blog about my adventures and problems therewith. &lt;br /&gt;&lt;br /&gt;As I keep saying, tho, it's just a phase. &lt;br /&gt;&lt;br /&gt;And hey, maybe I'll even get version 2.0 of this thing out during this fiscal year. I see that from the very beginning, the idea was to "include forthcoming ASP.NET features." That was, like, in the days of ASP.NET 1.1. The team has lapped me several times by now. Oh, well. Real Soon Now. :-)&lt;br /&gt;&lt;br /&gt;&lt;span class='footnote'&gt;&lt;a name='blogiversaryyears1'&gt;[1]&lt;/a&gt; I am amused, altho not surprised, to see that the first entry was made at 2:13 in the morning. That got me kind of curious, so I wrote a little page that shows the &lt;a href="http://www.mikepope.com/blog/fun/BlogTimesOfDay.aspx" target="_blank"&gt;distribution of postings across the 24-hour clock&lt;/a&gt;. &lt;/span&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1986</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1986</guid><pubDate>Fri, 27 Jun 2008 00:41:54 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1986">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1986</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1986</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1986</wfw:commentRss><slash:comments>2</slash:comments></item><item><title>Viewstate errors</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1972</link><description>This is the tale of an error, but first you have to listen to me blather about the background. &lt;br /&gt;&lt;br /&gt;In my blog, I have a crude hit counter and a referrers list that I occasionally poke through to see how people got here. A month or so ago, I noticed that a &lt;em&gt;lot&lt;/em&gt; of referrers were from the blog itself. I'd see them in bunches, which upon counting I realized were in 25-link batches. This very strongly suggested that someone or something (&amp;lt;-more likely) was walking the RSS feed. Well, I need neither referrer information nor hits from my own blog, so I tweaked the blog code so that it could ignore incoming URLs that matched the current domain name. &lt;br /&gt;&lt;br /&gt;That solved that problem. Thereafter, however, I was getting error notifications on average about once a day, but with no actual error detail. Clearly I'd horked something up, but who knows what. I have a catch-all error handler that redirects to an error page (I try to &lt;a href="http://www.codinghorror.com/blog/archives/001118.html" target="_blank"&gt;crash responsibly&lt;/a&gt;), where I unpack &lt;strong&gt;Server.LastError&lt;/strong&gt;. However, for the most part, this was coming up null. &lt;br /&gt;&lt;br /&gt;I set about adding a lot more try-catch blocks to the code. The problem (with the problem) is that it was sporadic, and I could never force it. A classic debugging issue. So I added a very simple logging facility that wrote out to this log on every catch block before it redirected to the error page. (My logging added a tiny bit of useful detail, like what handler in what page I was in; I realize that the Windows event log was capturing these exceptions as well.)&lt;br /&gt;&lt;br /&gt;That actually helped. Sure enough, when I'd added the filter, I was blithely checking &lt;strong&gt;Request.UrlReferrer&lt;/strong&gt; without first determining if it was null. This bascially happens every time I screw around with &lt;strong&gt;Request.UrlReferrer&lt;/strong&gt;. So I fixed that, and the sporadic errors went away.&lt;br /&gt;&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1972'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,aspnet</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1972</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1972</guid><pubDate>Mon, 26 May 2008 21:21:07 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1972">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1972</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1972</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1972</wfw:commentRss><slash:comments>8</slash:comments></item><item><title>New, improved comment spam?</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1970</link><description>If you look at the comments for the two entries immediately preceding this one, the first (or only) comment seems reasonable. But the links for the commenter's name(s) -- well, those are commercial sites, so it's a good bet that they're link spam. Have a look and see if you agree. If they are, how are these comments being generated?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt; I've de-link-ified the commenter names, so they're no longer pointing anywhere. &lt;code&gt;Dim limit = 1 : For i As Integer = 0 To limit : Response.Write("neener") : If i &amp;lt; limit Then : Response.Write("-") : End If : Next&lt;/code&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1970</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1970</guid><pubDate>Wed, 21 May 2008 16:43:59 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1970">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1970</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1970</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1970</wfw:commentRss><slash:comments>3</slash:comments></item><item><title>Can you convert ... ?</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1948</link><description>Twice today I've gotten requests via the blog to convert code in old (old, old) blog entries -- one request to convert VB to C#, another request for C# to VB. Weird, huh? Two requests, both today.&lt;br /&gt;&lt;br /&gt;Dunno, what do you think? Should I do the conversions and post the code, so the (probably) newbies who need it can find what they need? Should I point out that I already wrote and posted the code once, I don't want to do it twice? &lt;br /&gt;&lt;br /&gt;What would &lt;em&gt;you&lt;/em&gt; do?&lt;br /&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1948</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1948</guid><pubDate>Tue, 01 Apr 2008 16:46:39 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1948">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1948</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1948</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1948</wfw:commentRss><slash:comments>6</slash:comments></item><item><title>Blog error</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1942</link><description>Just so you know, the blog errors this morning (Mon) appear to be a problem with DNS lookup, either with the company that holds my domain (GoDaddy) or with the DNS redirect service (DNS2Go). The blog itself works fine, and is accessible via raw IP (24.16.235.163 at the moment). Not sure exactly what to do about that except to make a note of it for my own satisfaction ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS I'm sure that with a small amount of effort, we can find a way to point out that this wouldn't happen if I were using a Mac ... :-)</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1942</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1942</guid><pubDate>Mon, 24 Mar 2008 09:24:03 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1942">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1942</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1942</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1942</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>There once was a Federalist named Hamilton ...</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1914</link><description>Looking through my referrer list today, I ran across one that amused me:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/BlogReferrers_federalismpoem.jpg" width='681' height='70' /&gt;&lt;br /&gt;&lt;br /&gt;Hope they found what they were looking for ...</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1914</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1914</guid><pubDate>Thu, 07 Feb 2008 18:22:25 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1914">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1914</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1914</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1914</wfw:commentRss><slash:comments>2</slash:comments></item><item><title>Tagged quotations</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1883</link><description>I've updated the &lt;a href="http://www.mikepope.com/blog/BlogDisplayAllQuotes.aspx" target="_blank"&gt;page&lt;/a&gt; that lists my collected quotations[&lt;a href='#taggedquotations1'&gt;1&lt;/a&gt;] to include the ability to filter by tag and by author. This also implies that I've added tags to the quotations, of course. (The author filter thing is perhaps not very useful, but I could add it essentially for free, so what the heck.)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/QuotesPageFiltered.JPG" width='413' height='338' /&gt;&lt;br /&gt;&lt;br /&gt;I do like my collection of quotations; in a roundabout way, they make me pay slightly more attention when I read things. And I take enjoyment from the fact that a number of them have also appeared on the &lt;a href="http://www.quotationspage.com/qotd.html" target="_blank"&gt;quotes-of-the-day feed&lt;/a&gt; that I subscribe to. I suppose this is because good quotations are good quotations, and everyone runs across them sooner or later. I would prefer, of course, to think that the quotations I have on my site have inspired submissions to that site. One has to derive satisfaction where one can find it, even if one has to invent things in the process. Ha. Maybe I'll put &lt;em&gt;that&lt;/em&gt; on my quotations list. :-)&lt;br /&gt;&lt;br /&gt;On the technology side of things, I got some &lt;a href="http://mikepope.com/blog/AddComment.aspx?blogid=1879#1879_1903" target="_blank"&gt;help&lt;/a&gt; from Phil Weber on tweaking the XSLT transform that turns elements into attributes (required by the &lt;strong&gt;XmlDataSource&lt;/strong&gt; control, as I keep sort of complaining about.) From that point, implementing filtering was a matter of dynamically setting the XPath property of the &lt;strong&gt;XmlDataSource&lt;/strong&gt; control, like this:&lt;pre&gt;Protected Sub buttonFilterTags_Click(ByVal sender As Object, _&lt;br /&gt;        ByVal e As System.EventArgs)&lt;br /&gt;    Dim xPathExpression As String&lt;br /&gt;    If listTags.SelectedValue = "all" Then&lt;br /&gt;        xPathExpression = ""&lt;br /&gt;    Else&lt;br /&gt;        ' From http://www.eggheadcafe.com/articles/20030627d.asp&lt;br /&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1883'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1883</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1883</guid><pubDate>Thu, 03 Jan 2008 21:18:55 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1883">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1883</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1883</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1883</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>SiteMeter and specificclick</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1881</link><description>I've been using SiteMeter to track usage statistics for the blog. I was just now playing around with &lt;a href="http://www.nikhilk.net/ASPNETDevHelperTool.aspx" target="_blank"&gt;Nikhil's Web Development Helper&lt;/a&gt;, and I noticed that among all the traffic generated by a request to the blog was a request to the specificlick.net site:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mikepope.com/blog/images/specificclick.jpg" width='549' height='248' /&gt;&lt;br /&gt;&lt;br /&gt;I guess I haven't been paying attention[&lt;a href='#sitemeterandspecificclick1'&gt;1&lt;/a&gt;], so I hadn't seen this before. A little googling turned up a &lt;a href="http://michaelsync.net/2007/04/11/things-you-should-know-before-using-sitemeter" target="_blank"&gt;blog post&lt;/a&gt; that broke this story back in April and gives all the gory details (as of then, of course).&lt;br /&gt;&lt;br /&gt;Anyway, I took the sitemeter tracker off, and that seems to have killed the specificclick request. However, there is probably a cookie for those weasels, which you might want to kill. And my apologies for inadvertently contributing to this vile practice. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class='footnote'&gt;&lt;a name='sitemeterandspecificclick1'&gt;[1]&lt;/a&gt; This is new?&lt;/span&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1881</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1881</guid><pubDate>Sun, 30 Dec 2007 20:40:30 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1881">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1881</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1881</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1881</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>SQL Server backup</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1774</link><description>The blog runs on &lt;a href="http://www.microsoft.com/sql/prodinfo/previousversions/msde/prodinfo.mspx" target="_blank"&gt;MSDE&lt;/a&gt;, which is the "desktop" version of SQL Server (and the predecessor to &lt;a href="http://msdn.microsoft.com/vstudio/express/sql/" target="_blank"&gt;SQL Server Express&lt;/a&gt;). I run a backup every night, and to back up the blog database, I use a command like this:&lt;pre&gt;BACKUP DATABASE blog TO DISK = 'c:\blog_bu\&lt;em&gt;dayofweek&lt;/em&gt;\blog.dat_bak'&lt;/pre&gt;So of course I have 7 backups at any given time. I was looking at my disk stats on the server today and noticed that I seemed to be running a bit low on disk space. I looked through the drive to see where all that space was going, and I noticed that the backup files for the blog database were huge -- like, 2.5 &lt;strong&gt;&lt;em&gt;GB&lt;/em&gt;&lt;/strong&gt; each. (And that times 7.)&lt;br /&gt;&lt;br /&gt;Long story short, the backup command I've been using &lt;em&gt;appends&lt;/em&gt; to the backup file. Every time I back up, the backup files are getting bigger. The solution (a solution) is to add the INIT option to the command, like this:&lt;pre&gt;BACKUP DATABASE blog TO DISK = 'c:\blog_bu\&lt;em&gt;dayofweek&lt;/em&gt;\blog.dat_bak' &lt;font color=red&gt;&lt;strong&gt;WITH INIT&lt;/strong&gt;&lt;/font color=red&gt;&lt;/pre&gt;Much better -- the backup is now in the neighborhood of 35 MB. Whew.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1774</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1774</guid><pubDate>Sat, 07 Jul 2007 09:07:37 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1774">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1774</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1774</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1774</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>Blog anniversary</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1768</link><description>I started this blog &lt;a href="http://mikepope.com/blog/DisplayBlog.aspx?permalink=25" target="_blank"&gt;4 years ago today&lt;/a&gt;. As recently noted, it was an outgrowth, sort of, from working with &lt;a href="http://www.asp.net/webmatrix/" target="_blank"&gt;Web Matrix&lt;/a&gt;. Web Matrix has of course grown up to become &lt;a href="http://msdn.microsoft.com/vstudio/express/vwd/" target="_blank"&gt;Visual Web Developer&lt;/a&gt;. The blog was going to be a simple little project -- hey, how hard could it be? For all its subsequent complexity, tho (e.g, did I really &lt;em&gt;need&lt;/em&gt; to implement trackbacks?), it's been a heck of a learning tool for me.&lt;br /&gt;&lt;br /&gt;Here are some stats, primarily for my own amusement:&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Entries:&lt;/strong&gt; 1,668&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Entries/day:&lt;/strong&gt; 1.14. My average is sinking.&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Comments:&lt;/strong&gt; 1,426&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Word count:&lt;/strong&gt; 467,246 (using my imperfect &lt;a href="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1544" target="_blank"&gt;word counter&lt;/a&gt;)&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Average entry size:&lt;/strong&gt; 280 (not counting code)&lt;br /&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Hits:&lt;/strong&gt; 778,889&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Hits/day:&lt;/strong&gt; 533&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Most popular post:&lt;/strong&gt; &lt;a href="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1418&amp;count=no" target="_blank"&gt;Custom bi-directional sorting in GridView&lt;/a&gt; (12,527 hits). In fact, of the top 25 posts, 17 are about ASP.NET, and another 3 are probably the results of ASP.NET searches. If I want more traffic (do I?), I know what I should be writing about.&lt;br /&gt;&lt;/ul&gt;</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog,personal</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1768</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1768</guid><pubDate>Wed, 27 Jun 2007 07:25:15 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1768">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1768</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1768</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1768</wfw:commentRss><slash:comments>8</slash:comments></item><item><title>.NET blog software</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1721</link><description>Now and again someone on an internal alias will ask about blog software written in .NET. I was perusing the &lt;a href="http://www.larkware.com/dg8/TheDailyGrind1113.aspx" target="_blank"&gt;Daily Grind&lt;/a&gt; today, and Gunderloy noted that Mads Kristensen had just released a new .NET-based blog engine named &lt;a href="http://www.madskristensen.dk/blog/TheLaunchOfBlogEngineNET.aspx" target="_blank"&gt;BlogEngine.NET&lt;/a&gt;. So it seemed like it might be useful to do an inventory.&lt;br /&gt;&lt;br /&gt;This is what I came up with. For the most part, it's the same list you can assemble if you google for "asp.net blog software." Or maybe not. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Downloadable/Installable .NET-based blog software&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.webmasterdeveloper.com/press_20050113a.aspx" target="_blank"&gt;.Blog&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=e99fccb3-1a8c-42b5-90ee-348f6b77c407" target="_blank"&gt;.Text&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mandsconsulting.com/products/asp.net_blog_software/asp.net_blogs.html" target="_blank"&gt;ASP.NET Blogs&lt;/a&gt; (under development)&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.madskristensen.dk/blog/TheLaunchOfBlogEngineNET.aspx" target="_blank"&gt;BlogEngine.NET&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.simplegeek.com/PermaLink.aspx/91bcddca-d9c1-4c45-8481-b04bef0734ff" target="_blank"&gt;BlogX&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://communityserver.org/Default.aspx" target="_blank"&gt;Community Server&lt;/a&gt; (forum and blog engine)&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.dasblog.info/" target="_blank"&gt;Das Blog&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.dotnetnuke.com/" target="_blank"&gt;DotNetNuke&lt;/a&gt; (content publishing)&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.hostforest.co.uk/Products/blog.asp" target="_blank"&gt;ForestBlog&lt;/a&gt; (ASP, not ASP.NET)&lt;br /&gt;&lt;li&gt;&lt;a href="http://presstopia.com/pt/blog/default.aspx?id=21&amp;t=Presstopia-Blog-v10-released" target="_blank"&gt;Presstopia&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://community.rainbowportal.net/" target="_blank"&gt;Rainbow Portal&lt;/a&gt; (content management)&lt;br /&gt;&lt;li&gt;&lt;a href="http://subtextproject.com/" target="_blank"&gt; [&lt;a href='http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1721'&gt;more&lt;/a&gt;]</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>aspnet,blog,technology</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1721</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1721</guid><pubDate>Wed, 04 Apr 2007 20:56:29 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1721">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1721</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1721</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1721</wfw:commentRss><slash:comments>4</slash:comments></item><item><title>More changes to blog comments</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1702</link><description>I think it was Yaron who suggested (although I can't find the specific place where this appeared) that in the recently revamped comment pane, the Preview tab should both show the comment &lt;em&gt;and&lt;/em&gt; allow the commenter to save. Yaron (or whoever) pointed out that the sequence of tabs suggested that the Preview tab was an end point and it was perhaps confusing to have to go back to the Post a Comment tab to save the comment.&lt;br /&gt;&lt;br /&gt;So I just finished rejiggering it -- whether you're in Post a Comment or Preview, you can enter all your info and save. Hopefully this will be a more intuitive process. One feature I guess I'd like to add Real Soon Now is the ability to write a comment &lt;em&gt;and&lt;/em&gt; see the existing thread at the same time. Part of my eventual complete overhaul, I guess.&lt;br /&gt;&lt;br /&gt;As always, let me know if you have problems.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1702</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1702</guid><pubDate>Sat, 24 Feb 2007 11:36:47 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1702">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1702</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1702</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1702</wfw:commentRss><slash:comments>1</slash:comments></item><item><title>Technorati stuff</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1667</link><description>I added (as you can see to the left) a Technorati "claim" for the blog. After doing that, I poked around a little to see who was linking, which is always an interesting exercise. &lt;br /&gt;&lt;br /&gt;I was able to "claim" www.mikepope.com/blog/DisplayBlog.aspx, but not the simpler (and probably more common) www.mikepope.com/blog/.  I couldn't "complete the claim," as they refer to it, and one of their FAQ suggestions was that they couldn't follow redirects. Dunno. If I can ever figure out how to claim the latter, I'm sure I'll find a different set of links.&lt;br /&gt;&lt;br /&gt;Anyway, another task for the blog, since I haven't messed with it in a while.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1667</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1667</guid><pubDate>Fri, 22 Dec 2006 14:01:39 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1667">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1667</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1667</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1667</wfw:commentRss><slash:comments>0</slash:comments></item><item><title>Blustery day</title><link>http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1659</link><description>Big ol' windstorm today. If the blog disappears for a bit, it's because I've lost power and have taken the server down.</description><author>Mike Pope&lt;mike@mikepope.com&gt;</author><category>blog</category><wfw:comment>http://www.mikepope.com/blog/AddComment.aspx?blogID=1659</wfw:comment><guid isPermaLink="true">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1659</guid><pubDate>Thu, 14 Dec 2006 22:17:27 GMT</pubDate><source url="http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1659">http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1659</source><trackback:ping>http://www.mikepope.com/blog/BlogTrackback.aspx?id=1659</trackback:ping><wfw:commentRss>http://www.mikepope.com/blog/BlogCommentsFeed.rss?id=1659</wfw:commentRss><slash:comments>0</slash:comments></item></channel></rss>