<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Better Way &#187; IIS and Windows Technologies</title>
	<atom:link href="http://www.thejacklawson.com/index.php/category/iis-and-windows-technologies/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thejacklawson.com</link>
	<description>Finding a better way to get things done, a technical journey</description>
	<lastBuildDate>Tue, 24 Aug 2010 21:10:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ASP.NET Controls, How I Hate Them</title>
		<link>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/</link>
		<comments>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 16:43:22 +0000</pubDate>
		<dc:creator>Jack Lawson</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[ASP.NET AJAX]]></category>
		<category><![CDATA[Component Frameworks]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=204</guid>
		<description><![CDATA[Image by ttrentham via Flickr I&#8217;ve always, for some reason, felt innately that PHP allowed me more control over my code than ASP.NET. My brain kept saying &#8220;but .NET is more organized! It compiles! It&#8217;s faster! It&#8217;s easier to write,&#8221; but my mind kept saying &#8220;PHP lets me do what I want how I want [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/57798571@N00/2398917253"><img title="MSDN Error" src="http://farm3.static.flickr.com/2354/2398917253_6bcafbbd76_m.jpg" alt="MSDN Error" width="240" height="106" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/57798571@N00/2398917253">ttrentham</a> via Flickr</dd>
</dl>
</div>
</div>
<p>I&#8217;ve always, for some reason, felt innately that <a class="zem_slink" title="PHP" rel="homepage" href="http://www.php.net/">PHP</a> allowed me more control over my code than <a class="zem_slink" title="ASP.NET" rel="homepage" href="http://www.asp.net">ASP.NET</a>. My <em>brain </em>kept saying &#8220;but .NET is more organized! It compiles! It&#8217;s faster! It&#8217;s easier to write,&#8221; but my <em>mind </em>kept saying &#8220;PHP lets me do what I want how I want it&#8230; screw .NET!&#8221;</p>
<p>What I finally figured out was that I love C#, I even like the <a class="zem_slink" title=".NET Framework" rel="homepage" href="http://msdn.microsoft.com/netframework/">.NET framework</a>, but I hate is, in fact, ASP.NET.</p>
<p>Every time I see an example of simple, elegant code, the most complex control on the page is a label or a panel. While the intentions behind FormView may be good, writing my own forms and hooking them up saves hundreds of lines (literally- I just refactored almost 800 lines of code into 150 by <em>removing </em>a formview) as well as reduces complexity and maintenance (now I no longer have to maintain view and edit and whatever other modes FormView has.) ASP.NET perhaps made sense in a day before OO principles and ORMs came into play; the controls were written for the same kind of people that use the drag-and-drop design mode. Easy to slap down haphazardly, not so easy to maintain.</p>
<p>We replaced every ASP.NET <a class="zem_slink" title="ASP.NET AJAX" rel="wikipedia" href="http://en.wikipedia.org/wiki/ASP.NET_AJAX">Ajax</a> control we used anywhere (after I evangelized it, to my chagrin) with <a class="zem_slink" title="JQuery" rel="homepage" href="http://jquery.com/">jQuery</a> after about 6 months of use; while the controls did what we needed on the surface, underneath there was <em>always</em> some caveat, like the linked DropDowns needed web services, or the datepicker control had missing options&#8230; there was always something somewhere that I needed a bit of flexibility on that just wasn&#8217;t there, or was buggy. It seemed very odd for it to be out of beta in such a state. So, I ended up starting my own control library using jQuery, and now it&#8217;s easily extensible, easy to modify from the client, and I can control the markup.</p>
<p>Oh, and the markup&#8230; don&#8217;t get me started on the markup. Tables for <em>everything</em>. I can&#8217;t rearrange the otherwise useful Wizard control because it&#8217;s so static in its display.</p>
<p>So, I guess the point I&#8217;m trying to make is, that the longer I use .NET, the less and less I use the complex controls and the more I roll my own. Because it&#8217;s <em>easier</em>.<br />
Kind of ironic.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/4d9cd1b1-cc21-4241-b625-e55c125fd955/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=4d9cd1b1-cc21-4241-b625-e55c125fd955" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us" alt="Add 'ASP.NET Controls, How I Hate Them' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'ASP.NET Controls, How I Hate Them' to digg" alt="Add 'ASP.NET Controls, How I Hate Them' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'ASP.NET Controls, How I Hate Them' to reddit" alt="Add 'ASP.NET Controls, How I Hate Them' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'ASP.NET Controls, How I Hate Them' to Technorati" alt="Add 'ASP.NET Controls, How I Hate Them' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;h=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'ASP.NET Controls, How I Hate Them' to Newsvine" alt="Add 'ASP.NET Controls, How I Hate Them' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon" alt="Add 'ASP.NET Controls, How I Hate Them' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks" alt="Add 'ASP.NET Controls, How I Hate Them' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN" alt="Add 'ASP.NET Controls, How I Hate Them' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=ASP.NET+Controls%2C+How+I+Hate+Them&amp;url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'ASP.NET Controls, How I Hate Them' to SlashDot" alt="Add 'ASP.NET Controls, How I Hate Them' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;t=ASP.NET+Controls%2C+How+I+Hate+Them" title="Add 'ASP.NET Controls, How I Hate Them' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'ASP.NET Controls, How I Hate Them' to FaceBook" alt="Add 'ASP.NET Controls, How I Hate Them' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'ASP.NET Controls, How I Hate Them' to Twitter" alt="Add 'ASP.NET Controls, How I Hate Them' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/&amp;title=ASP.NET+Controls%2C+How+I+Hate+Them&amp;srcURL=http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/" title="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz" alt="Add 'ASP.NET Controls, How I Hate Them' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2010/02/asp-net-controls-how-i-hate-them/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Goodbye, Movable Type; Hello, WordPress</title>
		<link>http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/</link>
		<comments>http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 16:37:08 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[Movable Type]]></category>
		<category><![CDATA[windows server 2008]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=31</guid>
		<description><![CDATA[After I discovered that there is no MySQL support for ActivePerl on 64-bit Windows (after discovering a few months back that there isn't official support for x86 either, but finding a workaround), I made the switch to Wordpress. And it was surprisingly easy.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://movabletype.org/" target="_blank">Movable Typ</a><a href="http://movabletype.org/">e</a> for a few months now. I&#8217;ve liked it, but it wasn&#8217;t great; it worked well, but I wasn&#8217;t blown away. After a while, it moved slow; there was no way to remove a lot of comment spam at once (which I seemed to be particularly prone to), and I had a few bugs, such as having to log in twice each session. Maybe they weren&#8217;t all MT&#8217;s fault; but I had trouble finding support.</p>
<p>So, when we set up our new Windows Server 2008 machine using a 64-bit edition, I hit a wall: there&#8217;s no MySQL support for ActivePerl x64. There isn&#8217;t any official support for x86 either; but there are workarounds for that (use external repositories). It also came at a time when I was deciding whether or not I wanted to switch, so it pretty much cinched it up; I decided to try out <a href="http://wordpress.org/" target="_blank">WordPress</a>. It was a PHP/MySQL system, both of which I had already set up, so I expected (or at least hoped) that it&#8217;d be pretty simple to get running.</p>
<p>The first thing I had to do was back up my old MT database. I expected some long, tortourous sequence of MySQL edits or something, but <a href="http://www.sixapart.com/movabletype/docs/3.2/01_installation_and_upgrade/mt_export.html" target="_blank">all it came down to</a> was logging in, clicking &#8220;Import/Export&#8221;, and then export. It spit out a text file, which I saved to my desktop. Next, I unzipped a WordPress download into my blog folder (and set up the requisite site in IIS). I set up a database and a user in MySQL for my blog. I then edited the wp-config-sample.php, filling in the requisite database information and renaming it to wp-config.php, visited the site in my browser, and hit &#8216;go&#8217;. Seconds later, I had a new, live WP blog.</p>
<p>From the admin panel of my blog, I went to tools, hit &#8220;import&#8221;, selected &#8220;Movable Type&#8221; from the list, browsed to my file, and uploaded. And that was it. I had totally converted to WordPress in minutes. I was absolutely astounded by the ease. It was already much faster (with the help of WP-Cache), and running well.</p>
<p>Next stop: new design. WP looks like it&#8217;ll be much easier to work with, so hopefully we&#8217;ll be up soon.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Del.icio.us" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to digg" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to reddit" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Technorati" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;h=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Newsvine" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Stumble Upon" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Bookmarks" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Live-MSN" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress&amp;url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/" title="Add 'Goodbye, Movable Type; Hello, WordPress' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to SlashDot" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;t=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress" title="Add 'Goodbye, Movable Type; Hello, WordPress' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to FaceBook" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Twitter" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/&amp;title=Goodbye%2C+Movable+Type%3B+Hello%2C+WordPress&amp;srcURL=http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Buzz" alt="Add 'Goodbye, Movable Type; Hello, WordPress' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2009/01/goodbye-movable-type-hello-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back from Vacation</title>
		<link>http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/</link>
		<comments>http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 06:38:51 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[crimson deviaitons]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[windows server 2003]]></category>
		<category><![CDATA[windows server 2008]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=29</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>Just got back from spending a week in Arizona- that&#8217;s right, the middle of the desert on the border of Mexico- where it rained for three days. We couldn&#8217;t get to part of the Grand Canyon because of the <i>snow</i>. In <i>Arizona</i>. Did I leave Ohio?</p>
<p>I don&#8217;t want to complain too much, though; the <a href="http://www.shellhospitality.com/hotels/orange_resort/">resort we stayed at</a> was very nice, and Audrey&#8217;s aunt was kind enough to pay for everyone&#8217;s stay. And the <a href="http://www.rawhide.com/">Thanksgiving dinner </a>was something I won&#8217;t forget (the link will explain all).</p>
<p>Anyway, first thing I did when I got back and settled (besides scavenging a cheap turkey from the grocery store&#8230; 12-pounder for $10) was delete 400ish spam messages. Sorry for the garbage; the new version of MovableType supposedly clears that issue. I also upgraded my theme; still not a custom one yet, but I&#8217;ll get there once I get the time.</p>
<p>I also installed <a href="http://www.ipi.fi/%7Erainy/legacy.html">Rainmeter</a>, <a href="http://www.samurize.com/modules/news/">Samurize</a>, and <a href="http://www.rainlendar.net/cms/index.php">Rainlendar </a>- they are <a href="http://lifehacker.com/5087956/customize-your-own-killer-enigma-desktop">absolutely fantastic</a> desktop-managing applications. And, if that wasn&#8217;t enough: I installed a new hard drive and I&#8217;m in the process of installing 5 virtual drives; Windows Server 2k3 and 2k8, Windows XP, the latest version of Kubuntu, and Fedora 10. That is, if I can get the last two working with <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=04D26402-3199-48A3-AFA2-2DC0B40A73B6&amp;displaylang=en">Windows Virtual PC 2k7</a>.. I&#8217;ve seen it done, but I know it&#8217;s tricky. The goal is to have plenty of development platforms with which to do my work; I&#8217;ll be able to test web apps in the virtualized servers before I push to production on CD.</p>
<p>Speaking of CD, we&#8217;ve got our new website up; I was inspired by <a href="http://www.youtube.com/watch?v=VUhhIVN6eBI">a Keane song</a>, and somehow came up with this. My brain goes through somewhat strange processes sometimes, but I&#8217;m pretty happy with the result. JQueried it up, even, much to the chagrin of my budding Ajax framework project.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Back from Vacation' to Del.icio.us" alt="Add 'Back from Vacation' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Back from Vacation' to digg" alt="Add 'Back from Vacation' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Back from Vacation' to reddit" alt="Add 'Back from Vacation' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/" title="Add 'Back from Vacation' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Back from Vacation' to Technorati" alt="Add 'Back from Vacation' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;h=Back+from+Vacation" title="Add 'Back from Vacation' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'Back from Vacation' to Newsvine" alt="Add 'Back from Vacation' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Back from Vacation' to Stumble Upon" alt="Add 'Back from Vacation' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Back from Vacation' to Google Bookmarks" alt="Add 'Back from Vacation' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation" title="Add 'Back from Vacation' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'Back from Vacation' to Live-MSN" alt="Add 'Back from Vacation' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=Back+from+Vacation&amp;url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/" title="Add 'Back from Vacation' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'Back from Vacation' to SlashDot" alt="Add 'Back from Vacation' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;t=Back+from+Vacation" title="Add 'Back from Vacation' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Back from Vacation' to FaceBook" alt="Add 'Back from Vacation' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/" title="Add 'Back from Vacation' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'Back from Vacation' to Twitter" alt="Add 'Back from Vacation' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/&amp;title=Back+from+Vacation&amp;srcURL=http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/" title="Add 'Back from Vacation' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'Back from Vacation' to Google Buzz" alt="Add 'Back from Vacation' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2008/12/back-from-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Controls Rock: Legos and Fake Ajax Master Pages</title>
		<link>http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/</link>
		<comments>http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 01:13:35 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[ajax control toolkit]]></category>
		<category><![CDATA[Ajax Master Pages]]></category>
		<category><![CDATA[asp.net 3.5]]></category>
		<category><![CDATA[user controls]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=25</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>Let me start with a simple statement: user controls are absolutely fantastic.</p>
<p>If you haven&#8217;t delved into the realm of the .ascx, then let me briefly explain the two big benefits that have been relevant to me recently:</p>
<ul>
<li>Totally reusable code</li>
<li>Emulate master pages; only with this, you can use the Ajax control toolkit to do it</li>
</ul>
<p>On the first point, the reusable code point, this is the biggest. It&#8217;s the entire reason behind user controls. It lets you chunk out code that you use all over, and use it in several places; it&#8217;s a fundamental of object oriented development. Let&#8217;s do an example.</p>
<p>Say you have a piece of code that goes to the database and retrieves data on a member. That data is then put into a styled gridview, for the administration side of a website. But, you also have an area in a members section where a user can edit their own information (more like a formview); and, on the normal web display, casual users can browse through usernames and user roles in a paged gridview.</p>
<p>Don&#8217;t write the same code thrice! (or even twice!) Rather, make a user control to do all the work for you, and place it in each of your pages. This is how I&#8217;d do it:</p>
<p><i>For the sake of this article, I&#8217;m assuming you&#8217;re using a list of &#8220;Member&#8221; objects. Use whatever.</i></p>
<p>-Make a public class-level property in your control called &#8220;ReadOnly&#8221;, a bool.<br />-Make a public class-level method in your control called &#8220;Intialize&#8221;, which takes an IList of Member objects<br />-If the IList has one object, add a FormView to your control, and databind it. Otherwise, go the Gridview route (doing this all from the codebehind would keep your code cleaner and keep you from having an extra control rendered, although you could do this in the .ascx if you really wanted to; just set one to visible=&#8221;false&#8221; to the one you&#8217;re not using)<br />-Create all of the appropriate methods for your control for delete, update, insert, etc. and set up your formview or gridview accordingly (of course, only update for our member&#8217;s area FormView!)<br />-If ReadOnly is true, don&#8217;t add edit, insert, or delete buttons to your formview/gridview. (Easy enough; could set visible=&#8221;false&#8221; on the fields, or just not add them at all)</p>
<p>And, then, back on your three main pages, register and use your control.&nbsp; Set the ReadOnly property (if it&#8217;s a bool, you should even get IntelliSense for true/false), and then on Page_Load, call Intialize on the control, passing through the IList of Members that you pulled down.</p>
<p>The reason we&#8217;re calling the data on the page, rather than the control, is so that the control can remain &#8220;dumb&#8221; and doesn&#8217;t need to know whether it&#8217;s a member, admin, or web display control. The less logic in the control, the better; just spit out the lowest common denominator.</p>
<p>Ok. Now that we&#8217;ve hit the reusable control side, let&#8217;s hit the fake-an-ajax-master-page part.</p>
<p>As you may or may not know, even if you wrap the ContentTemplate in a MasterPage, it still reloads every page change. This is because the MasterPage gets loaded <i>after</i> the rest of the page, and is treated like a control. So, if you change pages.. it loads the page, and then says afterwards, &#8216;oh, yeah, that was Ajax. Oh well.&#8217;</p>
<p>The cool thing you can do, is make one default page, and inside of that have user controls in place of your pages, something like this:</p>
<p>-Make your default.aspx page<br />-Create user controls; however, rather than logic in Page_Load of the control, put it all in a public class-level method you call Initialize.You&#8217;ll see why soon.<br />-Put all of your controls into your default.aspx page, with visible=&#8221;false&#8221;.<br />-On the onclick of your navigation buttons, run the Initialize on the control, and set it&#8217;s <i>visible</i> property to <i>true</i>, and all the others to <i>false</i>.. I might alternately suggest using Command and a single method rather than Onclick and seperate methods for each button, so you can pass through a CommandName, which you can then use in a switch statement and know what button you hit.</p>
<p>Ok. Now that we have our fancy Ajaxy page, you may be wondering: why not just visiblity? Why this Initialize thing?</p>
<p>This is because ASP.NET will fully render the controls, visible or not. Which means that if you have 10 pages, it will load those 10 pages and display one; which is a big performance hit on the server, especially if you&#8217;re loading database data into each of those 10. Having to explicitly call Initialize avoids this. It also allows you to pass through a common parameter to each of the controls (say, a title string that displays at the top of each control) .</p>
<p>Controls can certainly do much more than this; but these are the biggies for me. Have any .ascx uses of your own?</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Del.icio.us" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to digg" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to reddit" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Technorati" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;h=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Newsvine" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Stumble Upon" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Bookmarks" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Live-MSN" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages&amp;url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to SlashDot" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;t=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to FaceBook" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Twitter" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/&amp;title=User+Controls+Rock%3A+Legos+and+Fake+Ajax+Master+Pages&amp;srcURL=http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Buzz" alt="Add 'User Controls Rock: Legos and Fake Ajax Master Pages' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2008/09/user-controls-rock-legos-and-fake-ajax-master-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl and Movable Type</title>
		<link>http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/</link>
		<comments>http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 00:45:51 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IIS and Windows Technologies]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[movabletype]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.thejacklawson.com/?p=14</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>I finally made the switch for my blog to our own server, after Don got our new server up and running. We hammered through some <a href="http://www.fatalerroronline.com/2008/06/installing-and-configuring-dns.html">DNS fun</a> and then some <a href="http://www.fatalerroronline.com/2008/06/php-horror.html">PHP Horror</a>, and then, after everything was set up, it was Perl time.</p>
<p>What went through my head was a little chant: &#8216;not a PHP install all over again.. not a PHP install all over again.. not a PHP install all over again.. &#8216;</p>
<p>And, it wasn&#8217;t <i>quite </i>that bad. Close, but not quite. The difference was that in the Perl install, most of my guesses were correct. Because, as always, installing any non-Microsoft language on a 2k3 box with IIS is never going to be fun. I unzipped the MovableType (version 4.12) file into my web directory, and set off to configure everything. (I already had IIS and MySQL installed at this point).</p>
<p>That said, the first thing I did was install <a href="http://activestate.com/Products/activeperl/index.mhtml">ActivePerl</a> from ActiveState, version 5.10.0.1003. At the time of writing, this was the latest <strike>and greatest</strike>. I did the install (something that, if following this as instructions, I urge <i>not </i>to do, at least of that version&#8230; follow further down), and everything worked&#8230; except that there was no MySQL module to be found. Bummer.</p>
<p>So, after hours of troubleshooting that I won&#8217;t bore you with, I finally googled around and found out that the 5.8 version (5.8.8.822, to be exact) still had the MySQL module. I uninstalled the old version and installed this older version, set up the extensions (IIS manager -&gt; web site -&gt; right-click, properties -&gt; home directory -&gt; configuration, add .cgi with the extension set to the perl.exe file where you installed perl, with the headers locked down to GET, HEAD, and POST). Basically, I followed this: <a href="http://www.movabletype.org/documentation/installation/windows.html">MT Windows Installation</a>. However, after all that was said and done, I still had the problem of it <i>not working.</i></p>
<p>The first problem I had was that when I went to check the install by going to mt-check.cgi, it errored out halfway down the page. So, I opened up the ActivePerl Manager and set DBI and DBD-MySQL to reinstall. I also took the -original off of the &#8220;mt-config.cgi-original&#8221; file name.</p>
<p>The next thing to do is to open up that config file, and comment out<br />
all of the data sources you&#8217;re not using.&nbsp; Mine looked something like:</p>
<p>##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Movable Type configuration file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##<br />##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##<br />## This file defines system-wide settings for Movable Type&nbsp;&nbsp;&nbsp; ##<br />## In total, there are over a hundred options, but only those ##<br />## critical for everyone are listed below.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##<br />##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##<br />## Information on all others can be found at:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ##<br />## config</p>
<p>################################################################<br />##################### REQUIRED SETTINGS ########################<br />################################################################</p>
<p># The CGIPath is the URL to your Movable Type directory<br />CGIPath&nbsp;&nbsp;&nbsp; http://www.crimsondeviations.com/blog/</p>
<p># The StaticWebPath is the URL to your mt-static directory<br /># Note: Check the installation documentation to find out <br /># whether this is required for your environment.&nbsp; If it is not,<br /># simply remove it or comment out the line by prepending a &#8220;#&#8221;.<br />StaticWebPath&nbsp;&nbsp;&nbsp; http://www.crimsondeviations.com/blog/mt-static</p>
<p>#================ DATABASE SETTINGS ==================<br />#&nbsp;&nbsp; REMOVE all sections below that refer to databases <br />#&nbsp;&nbsp; other than the one you will be using.</p>
<p>##### MYSQL #####<br />ObjectDriver DBI::mysql<br />Database movabletype<br />DBUser ********<br />DBPassword *************<br />DBHost localhost</p>
<p>##### POSTGRESQL #####<br />#ObjectDriver DBI::postgres<br />#Database DATABASE_NAME<br />#DBUser DATABASE_USERNAME<br />#DBPassword DATABASE_PASSWORD<br />#DBHost localhost</p>
<p>##### SQLITE #####<br />#ObjectDriver DBI::sqlite<br />#Database /path/to/sqlite/database/file</p>
<p>Then again, the mt-wizard page continued to error with &#8220;CGI Error. The specified CGI application misbehaved by not returning a complete set of HTTP headers&#8221;.&nbsp; After more Googling around, I found out that you have to replace a line in every page in the main directory (luckily, not many: I opened them all in <a href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a> and did a &#8220;replace all in opened files&#8221;). You have to change:<br />use lib $ENV{MT_HOME}&nbsp;? &#8220;$ENV{MT_HOME}/lib&#8221;&nbsp;: &#8216;lib&#8217;;<br />to<br />use lib $ENV{MT_HOME}&nbsp;? &#8220;$ENV{MT_HOME}/lib&#8221;&nbsp;: &#8216;Y:\www\blog\cgi-bin\mt4\lib&#8217;;<br />(replacing, of course, with whatever your path is).</p>
<p>Which then fixed my errors of it not finding the right data source, having wrong headers, and it magically worked, and I was on my way to blogdom!</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em> </em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to Del.icio.us"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/delicious.png" title="Add 'Perl and Movable Type' to Del.icio.us" alt="Add 'Perl and Movable Type' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to digg"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Perl and Movable Type' to digg" alt="Add 'Perl and Movable Type' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to reddit"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/reddit.png" title="Add 'Perl and Movable Type' to reddit" alt="Add 'Perl and Movable Type' to reddit" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/" title="Add 'Perl and Movable Type' to Technorati"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/technorati.png" title="Add 'Perl and Movable Type' to Technorati" alt="Add 'Perl and Movable Type' to Technorati" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsvine.com/_wine/save?u=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;h=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to Newsvine"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/newsvine.png" title="Add 'Perl and Movable Type' to Newsvine" alt="Add 'Perl and Movable Type' to Newsvine" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to Stumble Upon"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Perl and Movable Type' to Stumble Upon" alt="Add 'Perl and Movable Type' to Stumble Upon" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to Google Bookmarks"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/google.png" title="Add 'Perl and Movable Type' to Google Bookmarks" alt="Add 'Perl and Movable Type' to Google Bookmarks" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="https://favorites.live.com/quickadd.aspx?url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to Live-MSN"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/live.png" title="Add 'Perl and Movable Type' to Live-MSN" alt="Add 'Perl and Movable Type' to Live-MSN" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?title=Perl+and+Movable+Type&amp;url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/" title="Add 'Perl and Movable Type' to SlashDot"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/slashdot.png" title="Add 'Perl and Movable Type' to SlashDot" alt="Add 'Perl and Movable Type' to SlashDot" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/share.php?u=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;t=Perl+and+Movable+Type" title="Add 'Perl and Movable Type' to FaceBook"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/facebook.png" title="Add 'Perl and Movable Type' to FaceBook" alt="Add 'Perl and Movable Type' to FaceBook" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home?status=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/" title="Add 'Perl and Movable Type' to Twitter"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/twitter.png" title="Add 'Perl and Movable Type' to Twitter" alt="Add 'Perl and Movable Type' to Twitter" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/reader/link?url=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/&amp;title=Perl+and+Movable+Type&amp;srcURL=http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/" title="Add 'Perl and Movable Type' to Google Buzz"><img src="http://www.thejacklawson.com/wp-content/plugins/social-bookmarking-reloaded/googlebuzz.png" title="Add 'Perl and Movable Type' to Google Buzz" alt="Add 'Perl and Movable Type' to Google Buzz" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.thejacklawson.com/index.php/2008/06/perl-and-movable-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
