<?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>sides of march &#187; Technology</title>
	<atom:link href="http://www.sidesofmarch.com/index.php/archive/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sidesofmarch.com</link>
	<description>Thoughts on life, liberty, and information technology</description>
	<lastBuildDate>Thu, 02 Sep 2010 14:25:55 +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>Installing and configuring memcached and PHP on Windows</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/09/02/installing-and-configuring-memcached-and-php-on-windows/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/09/02/installing-and-configuring-memcached-and-php-on-windows/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 12:14:21 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[vBulletin]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=436</guid>
		<description><![CDATA[<p>After upgrading the <a href="http://forums.csfbl.com">CSFBL forums</a> to <a href="http://www.vbulletin.com">vBulletin 4.0</a>, I noticed that performance was slightly worse than in the previous version. A little searching revealed that <a href="http://www.vbulletin.com/forum/entry.php?2391-Supercharge-your-vBulletin-Forum-with-Memcached">vBulletin supports memcached</a> (an <a href="http://memcached.org/">in-memory distributed caching system</a>). Since I&#8217;ve got RAM to spare, I figured this is worth a shot.</p>
<p>Unfortunately, getting memcached running on the server (Windows Server 2008 R2 64-bit) took a few tricks, and getting memached running through IIS/PHP was another. To help other people through the same process (and to remind myself in the future), I&#8217;ll share the installation and configuration steps that worked for me below.</p>
Downloading and configuring memcached
<p>The official distributions of memcached are written for Linux systems, so the first task is finding Windows binaries. The <a href="http://code.google.com/p/memcached/wiki/NewStart?tm=6">memcached project site</a>, fortunately, has links to <a title="Windows Platform - memcached" href="http://code.google.com/p/memcached/wiki/PlatformWindows">Windows binaries</a>, which are <a title="memcached binary downloads - NorthScale Labs" href="http://labs.northscale.com/memcached-packages/">hosted by NorthScale</a>. Both 32-bit and 64-bit versions are available.</p>
<p>(Note that NorthScale also offers their own <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/09/02/installing-and-configuring-memcached-and-php-on-windows/">Installing and configuring memcached and PHP on Windows</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/09/04/configuring-trusted-sql-connections-in-aspnet-and-windows-2003/' rel='bookmark' title='Permanent Link: Configuring Trusted SQL Connections in ASP.Net and Windows 2003'>Configuring Trusted SQL Connections in ASP.Net and Windows 2003</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2005/10/17/choosing-and-installing-a-better-notepad/' rel='bookmark' title='Permanent Link: Choosing (and installing) a better Notepad'>Choosing (and installing) a better Notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/07/21/a-free-replacement-for-the-windows-defragment-utility/' rel='bookmark' title='Permanent Link: A free replacement for the Windows defragment utility'>A free replacement for the Windows defragment utility</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>After upgrading the <a href="http://forums.csfbl.com">CSFBL forums</a> to <a href="http://www.vbulletin.com">vBulletin 4.0</a>, I noticed that performance was slightly worse than in the previous version. A little searching revealed that <a href="http://www.vbulletin.com/forum/entry.php?2391-Supercharge-your-vBulletin-Forum-with-Memcached">vBulletin supports memcached</a> (an <a href="http://memcached.org/">in-memory distributed caching system</a>). Since I&#8217;ve got RAM to spare, I figured this is worth a shot.</p>
<p>Unfortunately, getting memcached running on the server (Windows Server 2008 R2 64-bit) took a few tricks, and getting memached running through IIS/PHP was another. To help other people through the same process (and to remind myself in the future), I&#8217;ll share the installation and configuration steps that worked for me below.</p>
<h4>Downloading and configuring memcached</h4>
<p>The official distributions of memcached are written for Linux systems, so the first task is finding Windows binaries. The <a href="http://code.google.com/p/memcached/wiki/NewStart?tm=6">memcached project site</a>, fortunately, has links to <a title="Windows Platform - memcached" href="http://code.google.com/p/memcached/wiki/PlatformWindows">Windows binaries</a>, which are <a title="memcached binary downloads - NorthScale Labs" href="http://labs.northscale.com/memcached-packages/">hosted by NorthScale</a>. Both 32-bit and 64-bit versions are available.</p>
<p>(Note that NorthScale also offers their own <a title="NorthScale Memcached Server" href="http://info.northscale.com/Memcached.html">free distribution of memcached</a>, but I was unable to get this to run on my system.)</p>
<p>Versions of memcached prior to 1.4.5 supported a command-line option that would register memcached as a Windows service (as in <code>memcached -d install</code>), but this option was <a href="http://code.google.com/p/memcached/issues/detail?id=149">removed in version 1.4.5</a>. The simple alternative is to schedule memcached.exe to run using the <a href="http://en.wikipedia.org/wiki/Task_Scheduler#Task_Scheduler_2.0">Task Scheduler service (Windows 2008/Vista/7)</a>.</p>
<p>You can create a task to run memcached on system startup using the following command line:</p>
<p style="padding-left: 30px;"><code>schtasks /create /sc onstart /tn memcached /tr "'c:\dev\utils\memcached-amd64\memcached.exe' -m 128"</code></p>
<p>Note the <code>-m 128</code> argument; this tells memcached to use up to 128MB of RAM. There are other <a title="Memcached command line arguments" href="http://code.google.com/p/memcached/wiki/NewConfiguringServer#Commandline_Arguments">command line arguments </a>available; most useful aside from <code>-m</code> are <code>-l</code> (to specify what IP addresses to bind to) and <code>-vv</code> (to add verbose logging to the console, useful for testing).</p>
<h4>Integrating memcached with PHP</h4>
<p>In order for PHP to use memcached, you must download the PHP memcached library and add it as an extension to PHP.</p>
<p>PHP extensions can be downloaded from <a title="PHP extension library downloads" href="http://downloads.php.net/pierre/">http://downloads.php.net/pierre</a>. Many different extensions are in here; the one I used was <a href="http://downloads.php.net/pierre/php_memcache-5.2-nts-Win32-vc6-x86-20090408.zip">php_memcache-5.2-nts-Win32-vc6-x86-20090408.zip</a>. This extension matches two key requirements:</p>
<ul>
<li>PHP version 5.2 (the version installed using the <a title="Microsoft Web Platform Installer download" href="http://www.microsoft.com/web/downloads/platform.aspx">Web Platform Installer</a>)</li>
<li>A non-thread-safe version of the extension (the version of PHP installed is not thread safe, which provides <a title="FastCGI, PHP, and IIS7" href="http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-7/">performance improvements using FastCGI</a>)</li>
</ul>
<p>Getting the right version of the extension is important; download the thread-safe version, or the PHP 5.3 version, and it simply won&#8217;t work.</p>
<p>Once downloaded, take the <code>php_memcache.dll</code> and put it in the <code>ext</code> folder in your PHP directory (for me, <code>c:\Program Files (x86)\PHP\ext</code>). Then, open the <code>php.ini</code> file (in your PHP directory) and add the following line to the end:</p>
<p style="padding-left: 30px;"><code>extension=php_memcache.dll</code></p>
<p>Restart IIS (from the command line, type <code>iisreset</code>), and if you did everything right, memcached should now be available to PHP. If you want to check, you can <a href="http://php.net/manual/en/function.phpinfo.php">create a phpinfo page</a>; if php_memcache is listed in the output, the extension is registered correctly.</p>
<h4>Other links</h4>
<p>To find out more about PHP, memcached, and Windows, check out the following links.</p>
<ul>
<li><a href="http://www.NorthScale.com/Memcached">NorthScale Memcached</a> &#8211; a free, commercial memcached distribution that I couldn&#8217;t get to work in my environment</li>
<li><a href="http://pureform.wordpress.com/2008/01/10/installing-memcache-on-windows-for-php/">Installing memcache on Windows for PHP</a> &#8211; a blog post explaining something similar to what I just did</li>
<li><a href="http://code.jellycan.com/memcached/">memcached from Jellycan Code</a> &#8211; an alternate memcached build for Windows that runs as a service</li>
<li><a href="http://longvnit.com/blog/?p=1155">Installing memcached on Windows</a> &#8211; instructions for installing the Jellycan Code version of memcached</li>
</ul>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=436&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/09/04/configuring-trusted-sql-connections-in-aspnet-and-windows-2003/' rel='bookmark' title='Permanent Link: Configuring Trusted SQL Connections in ASP.Net and Windows 2003'>Configuring Trusted SQL Connections in ASP.Net and Windows 2003</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2005/10/17/choosing-and-installing-a-better-notepad/' rel='bookmark' title='Permanent Link: Choosing (and installing) a better Notepad'>Choosing (and installing) a better Notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/07/21/a-free-replacement-for-the-windows-defragment-utility/' rel='bookmark' title='Permanent Link: A free replacement for the Windows defragment utility'>A free replacement for the Windows defragment utility</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/09/02/installing-and-configuring-memcached-and-php-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stop the &#8220;restart&#8221; popup from Windows Update</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/06/25/stop-the-restart-popup-from-windows-update/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/06/25/stop-the-restart-popup-from-windows-update/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 13:12:41 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=430</guid>
		<description><![CDATA[<p>I was busy typing away on my laptop yesterday when suddenly, a window flashed on the screen, quickly closed, and my computer began restarting.</p>
<p>The window was nothing other than the &#8220;Windows Update restart now&#8221; dialog box. I don&#8217;t know what the default button is, but considering windows will &#8220;click&#8221; on a button based on keystrokes, and I was typing at a fast pace (as I am known to do), I had no time to stop typing to avoid unintended activation of an unwanted feature.</p>
<p>In other words:<em><strong> Please tell me what moron would design an operating system that works this way?</strong></em></p>
<p>In my ranting, I did manage to begin <a href="http://support.microsoft.com/contactus/?ws=mscom">calling Microsoft</a> to complain, a task I quickly gave up on due to its inevitable futility; instead, I focused on using my friend Google to find the best way to <a title="Google search for " href="http://www.google.com/search?q=windows+update+restart+now+disable">turn off the damned restart now prompting from Windows Update</a>.</p>
<p>One of the most common suggested solutions was to <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/06/25/stop-the-restart-popup-from-windows-update/">Stop the &#8220;restart&#8221; popup from Windows Update</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/06/23/fixing-internet-explorers-disappearing-status-bar/' rel='bookmark' title='Permanent Link: Fixing Internet Explorer&#8217;s disappearing status bar'>Fixing Internet Explorer&#8217;s disappearing status bar</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2006/08/25/a-lesson-in-poor-ui-design-aol/' rel='bookmark' title='Permanent Link: A lesson in poor UI design: AOL'>A lesson in poor UI design: AOL</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2009/09/14/cant-install-tfs-or-the-net-framework-or-almost-anything-check-your-security-policies/' rel='bookmark' title='Permanent Link: Can&#8217;t install TFS, or the .Net Framework, or almost anything? Check your security policies!'>Can&#8217;t install TFS, or the .Net Framework, or almost anything? Check your security policies!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I was busy typing away on my laptop yesterday when suddenly, a window flashed on the screen, quickly closed, and my computer began restarting.</p>
<p>The window was nothing other than the &#8220;Windows Update restart now&#8221; dialog box. I don&#8217;t know what the default button is, but considering windows will &#8220;click&#8221; on a button based on keystrokes, and I was typing at a fast pace (as I am known to do), I had no time to stop typing to avoid unintended activation of an unwanted feature.</p>
<p>In other words:<em><strong> Please tell me what moron would design an operating system that works this way?</strong></em></p>
<p><img class="alignright" src="http://www.sidesofmarch.com/wp-content/uploads/images/windows-update-restart-NOT.png" alt="Windows Update \" />In my ranting, I did manage to begin <a href="http://support.microsoft.com/contactus/?ws=mscom">calling Microsoft</a> to complain, a task I quickly gave up on due to its inevitable futility; instead, I focused on using my friend Google to find the best way to <a title="Google search for " href="http://www.google.com/search?q=windows+update+restart+now+disable">turn off the damned restart now prompting from Windows Update</a>.</p>
<p>One of the most common suggested solutions was to <a title="How to Disable that Blasted Restart Now Message from Windows Update (Asymptomatic)" href="http://asymptomatic.net/2005/08/11/831/how-to-disable-that-blasted-restart-now-message-from-windows-update">turn off</a> <a title="Stop Windows Update Restart Now Prompts (Windows 7 Maintenance | Windows Tools, Help &amp; Guides)" href="http://antemeridiem.wordpress.com/2007/08/17/kill-windows-update-restart-popup/">Windows Update</a>. I didn&#8217;t want to do this, because I wanted Windows Update running (to tell me when updates are available but not to install them for me).</p>
<p>The best solution is to enable a setting named, &#8220;No auto-restart for scheduled Automatic Update installation.&#8221; This should be turned on by default, but it isn&#8217;t. To do it, you can use the <a title="How to Disable Windows 7 Auto Update Restart (eHow.com)" href="http://www.ehow.com/how_5573302_disable-windows-auto-update-restart.html">group policy editor</a>, or you can <a title="Prevent Windows Update from Forcibly Rebooting Your Computer (How-To Geek)" href="http://www.howtogeek.com/howto/windows-vista/prevent-windows-update-from-forcibly-rebooting-your-computer/">hack the registry</a>. Using the group policy editor is safer, unless you&#8217;re used to hacking the registry.</p>
<p>If you&#8217;re a Windows user, I highly recommend turning on this setting. Now that I have it turned on, I&#8217;ll avoid the inevitable five-minute rant on poor user experience design that comes around every time I install updates on my computer and resist the urge to restart immediately (which is <em>all the time</em>).</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=430&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/06/23/fixing-internet-explorers-disappearing-status-bar/' rel='bookmark' title='Permanent Link: Fixing Internet Explorer&#8217;s disappearing status bar'>Fixing Internet Explorer&#8217;s disappearing status bar</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2006/08/25/a-lesson-in-poor-ui-design-aol/' rel='bookmark' title='Permanent Link: A lesson in poor UI design: AOL'>A lesson in poor UI design: AOL</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2009/09/14/cant-install-tfs-or-the-net-framework-or-almost-anything-check-your-security-policies/' rel='bookmark' title='Permanent Link: Can&#8217;t install TFS, or the .Net Framework, or almost anything? Check your security policies!'>Can&#8217;t install TFS, or the .Net Framework, or almost anything? Check your security policies!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/06/25/stop-the-restart-popup-from-windows-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote for a Geek: The missing notepad</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 19:17:18 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[quotes]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=429</guid>
		<description><![CDATA[<p>Sometimes, geeks translate things in ways most people wouldn&#8217;t understand.</p>
<blockquote><p>Geek #1: I can&#8217;t find my notepad.
Geek #2: Look under c:\windows.</p></blockquote>
<p></p>


<p>Related posts:<a href='http://www.sidesofmarch.com/index.php/archive/2005/10/17/choosing-and-installing-a-better-notepad/' rel='bookmark' title='Permanent Link: Choosing (and installing) a better Notepad'>Choosing (and installing) a better Notepad</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2005/11/21/top-20-geek-books-and-three-of-my-own/' rel='bookmark' title='Permanent Link: Top 20 geek books (and three of my own)'>Top 20 geek books (and three of my own)</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/">Quote for a Geek: The missing notepad</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2005/10/17/choosing-and-installing-a-better-notepad/' rel='bookmark' title='Permanent Link: Choosing (and installing) a better Notepad'>Choosing (and installing) a better Notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2005/11/21/top-20-geek-books-and-three-of-my-own/' rel='bookmark' title='Permanent Link: Top 20 geek books (and three of my own)'>Top 20 geek books (and three of my own)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a client&#8217;s expectations</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Sometimes, geeks translate things in ways most people wouldn&#8217;t understand.</p>
<blockquote><p>Geek #1: I can&#8217;t find my notepad.<br />
Geek #2: Look under c:\windows.</p></blockquote>
<p><span id="more-429"></span></p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=429&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2005/10/17/choosing-and-installing-a-better-notepad/' rel='bookmark' title='Permanent Link: Choosing (and installing) a better Notepad'>Choosing (and installing) a better Notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2005/11/21/top-20-geek-books-and-three-of-my-own/' rel='bookmark' title='Permanent Link: Top 20 geek books (and three of my own)'>Top 20 geek books (and three of my own)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a client&#8217;s expectations</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain, data, or UI modeling?</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 20:39:09 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=427</guid>
		<description><![CDATA[<p><a href="http://www.balsamiq.com/products/mockups"></a></p>
<p>From &#8220;<a title="survic's blog on Programming or Enterprise Computing: Domain modeling or data modeling" href="http://survic.blogspot.com/2006/07/domain-modeling-or-data-modeling.html">Domain Modeling or Data Modeling</a>&#8220;:</p>
<blockquote><p>Users do not care “objects”. They care UI, and the fact that the data on  the UI are saved in databases. So, by definition, UI and the key data  are the “business language”; objects are not.</p></blockquote>
<p>I have seen the value of domain driven design, but my style lends itself mostly to <a title="Balsamiq Mockups: Software mockups in minutes!" href="http://www.balsamiq.com/products/mockups">UI modeling using mockups</a>. This is probably a result of my upbringing: I&#8217;m not a trained computer programmer!</p>
<p>For me, user interface mockups are the most effective way to communicate concepts and start building an application. Normal business people (that is, everyone except computer programmers!) respond to a visual and interactive UI in a different way than an abstract object/data/domain model. UI mockups can be easily understood by any user, which improves feedback.</p>
<p><a href="http://www.balsamiq.com/products/mockups">
</a></p>


<p>Related posts:<a href='http://www.sidesofmarch.com/index.php/archive/2009/01/14/unit-testing-an-activerecord-domain-model-with-nunit/' rel='bookmark' title='Permanent Link: Unit testing an Activerecord <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/">Domain, data, or UI modeling?</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2009/01/14/unit-testing-an-activerecord-domain-model-with-nunit/' rel='bookmark' title='Permanent Link: Unit testing an Activerecord domain model with NUnit'>Unit testing an Activerecord domain model with NUnit</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/10/23/installing-systems-center-essentials-fails-the-specified-domain-does-not-exist-or-cannot-be-contacted/' rel='bookmark' title='Permanent Link: Installing Systems Center Essentials fails: &#8220;The specified domain does not exist or cannot be contacted.&#8221;'>Installing Systems Center Essentials fails: &#8220;The specified domain does not exist or cannot be contacted.&#8221;</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2004/03/21/running-a-windows-nt-domain-active-directory-audit/' rel='bookmark' title='Permanent Link: Running a Windows NT Domain / Active Directory Audit'>Running a Windows NT Domain / Active Directory Audit</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.balsamiq.com/products/mockups"><img class="alignright" style="margin: 1em 0 1em 1em;" src="http://www.balsamiq.com/images/mockups_fpa.jpg" alt="Creating  UI mockups with Balsamiq Mockups" /></a></p>
<p>From &#8220;<a title="survic's blog on Programming or Enterprise Computing: Domain modeling or data modeling" href="http://survic.blogspot.com/2006/07/domain-modeling-or-data-modeling.html">Domain Modeling or Data Modeling</a>&#8220;:</p>
<blockquote><p>Users do not care “objects”. They care UI, and the fact that the data on  the UI are saved in databases. So, by definition, UI and the key data  are the “business language”; objects are not.</p></blockquote>
<p>I have seen the value of domain driven design, but my style lends itself mostly to <a title="Balsamiq Mockups: Software mockups in minutes!" href="http://www.balsamiq.com/products/mockups">UI modeling using mockups</a>. This is probably a result of my upbringing: I&#8217;m not a trained computer programmer!</p>
<p>For me, user interface mockups are the most effective way to communicate concepts and start building an application. Normal business people (that is, everyone except computer programmers!) respond to a visual and interactive UI in a different way than an abstract object/data/domain model. UI mockups can be easily understood by any user, which improves feedback.</p>
<p><a href="http://www.balsamiq.com/products/mockups"><br />
</a></p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=427&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2009/01/14/unit-testing-an-activerecord-domain-model-with-nunit/' rel='bookmark' title='Permanent Link: Unit testing an Activerecord domain model with NUnit'>Unit testing an Activerecord domain model with NUnit</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/10/23/installing-systems-center-essentials-fails-the-specified-domain-does-not-exist-or-cannot-be-contacted/' rel='bookmark' title='Permanent Link: Installing Systems Center Essentials fails: &#8220;The specified domain does not exist or cannot be contacted.&#8221;'>Installing Systems Center Essentials fails: &#8220;The specified domain does not exist or cannot be contacted.&#8221;</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2004/03/21/running-a-windows-nt-domain-active-directory-audit/' rel='bookmark' title='Permanent Link: Running a Windows NT Domain / Active Directory Audit'>Running a Windows NT Domain / Active Directory Audit</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote: How to manage a client&#8217;s expectations</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 20:53:11 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[getting things done]]></category>
		<category><![CDATA[quotes]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=376</guid>
		<description><![CDATA[<p>How to manage a client&#8217;s expectations:</p>
<blockquote><p>It&#8217;s not about bending over backwards for the client. It&#8217;s about making the client think your bending over backwards when you&#8217;re not bending at all.</p></blockquote>
<p>Not sure if I heard that from someone else or made it up myself, but I&#8217;m sure I <em>learned</em> it from someone much smarter than me!</p>


<p>Related posts:<a href='http://www.sidesofmarch.com/index.php/archive/2008/11/07/can-you-outperform-expectations-if-outperforming-is-expected/' rel='bookmark' title='Permanent Link: Can you outperform expectations if outperforming is expected?'>Can you outperform expectations if outperforming is expected?</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2007/03/15/monorail-vs-web-client-software-factory-wcsf/' rel='bookmark' title='Permanent Link: MonoRail vs Web Client Software Factory (WCSF)'>MonoRail vs Web Client Software Factory (WCSF)</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2007/05/09/three-tips-for-grief-free-project-estimates/' rel='bookmark' title='Permanent Link: Three tips for grief-free project estimates'>Three tips for grief-free <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/">Quote: How to manage a client&#8217;s expectations</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2008/11/07/can-you-outperform-expectations-if-outperforming-is-expected/' rel='bookmark' title='Permanent Link: Can you outperform expectations if outperforming is expected?'>Can you outperform expectations if outperforming is expected?</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/03/15/monorail-vs-web-client-software-factory-wcsf/' rel='bookmark' title='Permanent Link: MonoRail vs Web Client Software Factory (WCSF)'>MonoRail vs Web Client Software Factory (WCSF)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/05/09/three-tips-for-grief-free-project-estimates/' rel='bookmark' title='Permanent Link: Three tips for grief-free project estimates'>Three tips for grief-free project estimates</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>How to manage a client&#8217;s expectations:</p>
<blockquote><p>It&#8217;s not about bending over backwards for the client. It&#8217;s about making the client think your bending over backwards when you&#8217;re not bending at all.</p></blockquote>
<p>Not sure if I heard that from someone else or made it up myself, but I&#8217;m sure I <em>learned</em> it from someone much smarter than me!</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=376&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2008/11/07/can-you-outperform-expectations-if-outperforming-is-expected/' rel='bookmark' title='Permanent Link: Can you outperform expectations if outperforming is expected?'>Can you outperform expectations if outperforming is expected?</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/03/15/monorail-vs-web-client-software-factory-wcsf/' rel='bookmark' title='Permanent Link: MonoRail vs Web Client Software Factory (WCSF)'>MonoRail vs Web Client Software Factory (WCSF)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/05/09/three-tips-for-grief-free-project-estimates/' rel='bookmark' title='Permanent Link: Three tips for grief-free project estimates'>Three tips for grief-free project estimates</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forcing users to choose a browser other than Internet Explorer doesn&#8217;t help them</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2010/03/02/forcing-users-to-choose-a-browser-other-than-internet-explorer/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2010/03/02/forcing-users-to-choose-a-browser-other-than-internet-explorer/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 15:15:05 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=423</guid>
		<description><![CDATA[<p>In the news this morning, I stumbled across an article, <em><a href="http://www.google.com/hostednews/ap/article/ALeqM5hG2CfCNAqdPhFu-F-Ubnx7ZCBNhgD9E6GL7G0">EU: 100 million Microsoft users to choose browser</a></em>. Reading this, there were a few instances of questionable logic.</p>
<p>The first instance (emphasis added):</p>
<blockquote><p>Microsoft is starting this month to send updates to Windows computers in Europe so that when computer users log on, they will see a pop-up screen asking them to <strong>pick one or more of 12 free Web browsers</strong> to download and install, including Microsoft.</p></blockquote>
<p>Microsoft is allowing users to choose one of more than 12 <strong>free</strong> web browsers, because the EU didn’t like Microsoft bundling its own <strong>free</strong> web browser into Windows. Call me strange, but punishing a company to give something away for free because it blocks out other companies from giving their own products away for free strikes me as odd.</p>
<p>The second instance (emphasis added):</p>
<blockquote><p>The EU&#8217;s executive commission said giving consumers the chance to try an alternative to Microsoft&#8217;s Internet Explorer browser that comes with the widely used <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2010/03/02/forcing-users-to-choose-a-browser-other-than-internet-explorer/">Forcing users to choose a browser other than Internet Explorer doesn&#8217;t help them</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/06/23/fixing-internet-explorers-disappearing-status-bar/' rel='bookmark' title='Permanent Link: Fixing Internet Explorer&#8217;s disappearing status bar'>Fixing Internet Explorer&#8217;s disappearing status bar</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/12/stupid-things-to-say-point-your-favorite-browser-to/' rel='bookmark' title='Permanent Link: Stupid things to say: &#8220;Point your favorite browser to&#8230;&#8221;'>Stupid things to say: &#8220;Point your favorite browser to&#8230;&#8221;</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/08/07/remove-anonymous-users-from-aspnet-membership-tables/' rel='bookmark' title='Permanent Link: Remove anonymous users from ASP.Net Membership tables'>Remove anonymous users from ASP.Net Membership tables</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In the news this morning, I stumbled across an article, <em><a href="http://www.google.com/hostednews/ap/article/ALeqM5hG2CfCNAqdPhFu-F-Ubnx7ZCBNhgD9E6GL7G0">EU: 100 million Microsoft users to choose browser</a></em>. Reading this, there were a few instances of questionable logic.</p>
<p>The first instance (emphasis added):</p>
<blockquote><p>Microsoft is starting this month to send updates to Windows computers in Europe so that when computer users log on, they will see a pop-up screen asking them to <strong>pick one or more of 12 free Web browsers</strong> to download and install, including Microsoft.</p></blockquote>
<p>Microsoft is allowing users to choose one of more than 12 <strong>free</strong> web browsers, because the EU didn’t like Microsoft bundling its own <strong>free</strong> web browser into Windows. Call me strange, but punishing a company to give something away for free because it blocks out other companies from giving their own products away for free strikes me as odd.</p>
<p>The second instance (emphasis added):</p>
<blockquote><p>The EU&#8217;s executive commission said giving consumers the chance to try an alternative to Microsoft&#8217;s Internet Explorer browser that comes with the widely used Windows operating system would &#8220;<strong>bring more competition and innovation in this important area</strong>.&#8221;</p></blockquote>
<p>Wait, didn’t we just read that there are “more than 12 free web browsers”? That doesn&#8217;t sound like lack of competition and innovation to me at all. How many industries offer a choice of over a dozen free items? None that I can think of.</p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/webbrowsermarketshare.png"><img style="border-bottom: 0px; border-left: 0px; margin: 8px 0px 16px 16px; display: inline; border-top: 0px; border-right: 0px" title="web-browser-market-share" src="http://www.sidesofmarch.com/wp-content/uploads/webbrowsermarketshare-thumb.png" border="0" alt="web-browser-market-share" width="424" height="164" align="right" /></a>I am aware of Microsoft’s predatory practices in the web browser arena, particularly related to the <a title="Browser wars (Wikipedia)" href="http://en.wikipedia.org/wiki/Browser_wars">browser wars</a> between them and Netscape. Microsoft muscled out Netscape by giving away its browser for free, something <a title="Netscape cuts prices on retail products (CNet News)" href="http://news.cnet.com/2100-1001-207681.html">Netscape didn’t do until early 1998</a>. Isn’t that a good thing for consumers? Further, client software (such as Navigator) was a small portion of Netscape’s revenues, and at the time, “Netscape has successfully shifted its business over the past year toward enterprise software sales and to revenues from its Web site business, and away from standalone client revenues” (<a title="January 22, 1998 — the Beginning of Mozilla (Mitchell's Blog)" href="http://blog.lizardwrangler.com/2008/01/22/january-22-1998-the-beginning-of-mozilla/">source: Mitchell&#8217;s Blog</a>). If Netscape was successful in transitioning away from a client product, but ultimately failed in the enterprise marketplace, why is Microsoft being punished?</p>
<p>In the end, Microsoft was penalized for providing a product for free – and forcing the market leader to ultimately transform their business (“successfully”) and offer their own (similar) product for free. The fact is, <strong>Microsoft’s efforts were largely responsible for the explosion of free web browser alternatives</strong> – yet the EU still feels a need to punish them because there is “[not enough] competition and innovation in this area,” as they say.</p>
<p>Final point: let’s not mention the <strong>pain and suffering that novice users will have</strong> after installing other browsers, wondering where their bookmarks went, and wondering why they are being prompted to <a title="The video won't play: Video Player Issues (YouTube Help)" href="http://www.google.com/support/youtube/bin/answer.py?hl=en&amp;answer=56115">(re-)install Adobe Flash so they can play YouTube videos</a>.</p>
<p>Some things are better left alone. This is one of them.</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=423&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2004/06/23/fixing-internet-explorers-disappearing-status-bar/' rel='bookmark' title='Permanent Link: Fixing Internet Explorer&#8217;s disappearing status bar'>Fixing Internet Explorer&#8217;s disappearing status bar</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/12/stupid-things-to-say-point-your-favorite-browser-to/' rel='bookmark' title='Permanent Link: Stupid things to say: &#8220;Point your favorite browser to&#8230;&#8221;'>Stupid things to say: &#8220;Point your favorite browser to&#8230;&#8221;</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/08/07/remove-anonymous-users-from-aspnet-membership-tables/' rel='bookmark' title='Permanent Link: Remove anonymous users from ASP.Net Membership tables'>Remove anonymous users from ASP.Net Membership tables</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2010/03/02/forcing-users-to-choose-a-browser-other-than-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Technology quote of the Day</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2009/11/19/technology-quote-of-the-day/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2009/11/19/technology-quote-of-the-day/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 03:40:46 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/index.php/archive/2009/11/19/technology-quote-of-the-day/</guid>
		<description><![CDATA[<p>“Optimize your code for maintainability before optimizing for performance.” – Matthew Cochran, <a href="https://mvp.support.microsoft.com/profile=0310062F-27D8-40B8-AF1C-FA809A338173">Microsoft MVP</a></p>
<p>So true… it deserves its place right next to <a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it">YAGNI</a>!</p>


<p>Related posts:<a href='http://www.sidesofmarch.com/index.php/archive/2007/08/26/the-nhibernate-optimization-debate-partial-object-queries/' rel='bookmark' title='Permanent Link: The NHibernate optimization debate: partial object queries'>The NHibernate optimization debate: partial object queries</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/' rel='bookmark' title='Permanent Link: Quote for a Geek: The missing notepad'>Quote for a Geek: The missing notepad</a>
<a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2009/11/19/technology-quote-of-the-day/">Technology quote of the Day</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/08/26/the-nhibernate-optimization-debate-partial-object-queries/' rel='bookmark' title='Permanent Link: The NHibernate optimization debate: partial object queries'>The NHibernate optimization debate: partial object queries</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/' rel='bookmark' title='Permanent Link: Quote for a Geek: The missing notepad'>Quote for a Geek: The missing notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a client&#8217;s expectations</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>“Optimize your code for maintainability before optimizing for performance.” – Matthew Cochran, <a href="https://mvp.support.microsoft.com/profile=0310062F-27D8-40B8-AF1C-FA809A338173">Microsoft MVP</a></p>
<p>So true… it deserves its place right next to <a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it">YAGNI</a>!</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=400&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/08/26/the-nhibernate-optimization-debate-partial-object-queries/' rel='bookmark' title='Permanent Link: The NHibernate optimization debate: partial object queries'>The NHibernate optimization debate: partial object queries</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/06/01/quote-for-a-geek-the-missing-notepad/' rel='bookmark' title='Permanent Link: Quote for a Geek: The missing notepad'>Quote for a Geek: The missing notepad</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/08/quote-how-to-manage-a-clients-expectations/' rel='bookmark' title='Permanent Link: Quote: How to manage a client&#8217;s expectations'>Quote: How to manage a client&#8217;s expectations</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2009/11/19/technology-quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Visual Studio hosting process and 64-bit Windows</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2009/11/02/the-visual-studio-hosting-process-and-64-bit-windows/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2009/11/02/the-visual-studio-hosting-process-and-64-bit-windows/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 13:50:24 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[MSTest]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=395</guid>
		<description><![CDATA[<p>I&#8217;ve recently started working with <a href="http://www.dimastr.com/redemption">Outlook Redemption</a>, an excellent alternative to direct MAPI calls. Some of the other devs on my team wrote some libraries that use it, complete with unit tests. All the code and unit tests run fine on my machine (VS2008, 64-bit Windows).</p>

                     /"\
                    &#124;\./&#124;
                    &#124;   &#124;
                    &#124;   &#124;
                    &#124;&#62;~&#60;&#124;
        <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2009/11/02/the-visual-studio-hosting-process-and-64-bit-windows/">The Visual Studio hosting process and 64-bit Windows</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/03/how-to-change-a-visual-studio-2005-class-project-to-a-web-project/' rel='bookmark' title='Permanent Link: How to change a Visual Studio 2005 class project to a web project'>How to change a Visual Studio 2005 class project to a web project</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/03/19/debugging-visual-studio-2005-web-applications-with-firefox/' rel='bookmark' title='Permanent Link: Debugging Visual Studio 2005 web applications with Firefox'>Debugging Visual Studio 2005 web applications with Firefox</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/08/18/building-with-nant-and-nunit-and-ncover-and-ncoverexplorer/' rel='bookmark' title='Permanent Link: Building with NAnt (and NUnit, and NCover, and NCoverExplorer)'>Building with NAnt (and NUnit, and NCover, and NCoverExplorer)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently started working with <a href="http://www.dimastr.com/redemption">Outlook Redemption</a>, an excellent alternative to direct MAPI calls. Some of the other devs on my team wrote some libraries that use it, complete with unit tests. All the code and unit tests run fine on my machine (VS2008, 64-bit Windows).</p>
<div style="float:right; margin: 1em 0 1em 1em;">
<pre>                     /"\
                    |\./|
                    |   |
                    |   |
                    |&gt;~&lt;|
                    |   |
                 /'\|   |/'\..
             /~\|   |   |   | \
            |   =[@]=   |   |  \
            |   |   |   |   |   \
            | ~   ~   ~   ~ |`   )
            |                   /
             \                 /
              \               /
               \    _____    /
                |--//''`\--|
                | (( +==)) |
                |--\_|_//--|</pre>
</div>
<p>In order to illustrate some functionality, I needed to write a simple console application that used the code that these other devs wrote, so I referenced it and tried it&#8230; and was given an exception (the computer version of the middle finger):</p>
<blockquote><p>Unhandled Exception: System.Runtime.InteropServices.COMException (0&#215;80040154): Retrieving the COM class factory for component with CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} failed due to the following error: 80040154.</p></blockquote>
<p>My first instinct was to search through the registry for the CLSID. Sure enough, it was there, and everything looked right. It has to be &#8212; otherwise, the unit tests (which use the <em>exact same code</em>) wouldn&#8217;t work.</p>
<p>The next thing I tried was unregistering and re-registering Redemption.dll (using regsvr32). No luck; unit tests work, console app fails.</p>
<p>Reboot? No luck; unit tests work, console app fails.</p>
<p>I did some reading, and apparently MSTest runs as a 32-bit application (though <a href="http://blogs.msdn.com/danielvl/archive/2009/03/28/run-mstest-exe-as-native-64-bit-process.aspx">it can be run as 64-bit</a>). I tried forcing Visual Studio to compile in x86? No luck; unit tests work, console app fails. Forcing Visual Studio to compile in x64 didn&#8217;t help either.</p>
<p>More reading, and I started to understand more about <a href="http://blogs.msdn.com/rmbyers/archive/2009/06/08/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx">what the &#8220;Any CPU&#8221; platform compilation means, and the trials and tribulations of programming for 64-bit Windows</a>. Now I am smarter, but I still can&#8217;t get my damn simple console application to work!</p>
<p>Seemingly out of options, I found myself staring at the Debug output directory, and noticed something:</p>
<blockquote><p><code>SimplePstExtraction.exe<br />
SimplePstExtraction.vshost.exe</code></p></blockquote>
<p>I went ahead and turned off the Visual Studio hosting process, and viola! Everything works fine. I don&#8217;t know why, exactly (though I&#8217;m sure it&#8217;s related to the difference between 32- and 64-bit processes), but it fixed my issue, so if you have the same problem, hopefully it&#8217;ll fix yours.</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=395&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/03/how-to-change-a-visual-studio-2005-class-project-to-a-web-project/' rel='bookmark' title='Permanent Link: How to change a Visual Studio 2005 class project to a web project'>How to change a Visual Studio 2005 class project to a web project</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/03/19/debugging-visual-studio-2005-web-applications-with-firefox/' rel='bookmark' title='Permanent Link: Debugging Visual Studio 2005 web applications with Firefox'>Debugging Visual Studio 2005 web applications with Firefox</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/08/18/building-with-nant-and-nunit-and-ncover-and-ncoverexplorer/' rel='bookmark' title='Permanent Link: Building with NAnt (and NUnit, and NCover, and NCoverExplorer)'>Building with NAnt (and NUnit, and NCover, and NCoverExplorer)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2009/11/02/the-visual-studio-hosting-process-and-64-bit-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s broken in the new Republican web site, gop.com? Nearly everything!</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2009/10/13/whats-broken-in-the-new-republican-web-site-gopcom-nearly-everything/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2009/10/13/whats-broken-in-the-new-republican-web-site-gopcom-nearly-everything/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 19:00:48 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/index.php/archive/2009/10/13/whats-broken-in-the-new-republican-web-site-gopcom-nearly-everything/</guid>
		<description><![CDATA[<p>While scanning Google News, I <a title="PostPartisan - Michael Steele's New Domain (WashingtonPost.com)" href="http://voices.washingtonpost.com/postpartisan/2009/10/michael_steele_finds_a_new_pla.html?hpid=opinionsbox1">saw an article</a> that mentioned the re-launched Republican National Committee web site, <a href="http://www.gop.com">gop.com</a>, and decided to take a look at it. The verdict, in short: if they are the party of new ideas, they are also the party that makes the same old stupid mistakes on their web sites.</p>
<p>First, let’s look at the problems.</p>
<p><strong>Problem #1: A database error message is my first experience. </strong>Granted, the site is probably getting hammered by all the excited young Republicans, but that’s still no excuse for getting the following message on my first request: “Database Error: Unable to connect to your database. Your database appears to be turned off or the database connection settings in your config file are not correct. Please contact your hosting provider if the problem persists.” <a href="http://www.sidesofmarch.com/wp-content/uploads/gophomer.jpg"><strong></strong></a>Come on, is it that hard to write a <a title="User-friendly error messages: 7 tips (The Web Usasbility Blog)" href="http://webusability-blog.com/user-friendly-error-messages-7-tips/">friendly <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2009/10/13/whats-broken-in-the-new-republican-web-site-gopcom-nearly-everything/">What&#8217;s broken in the new Republican web site, gop.com? Nearly everything!</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/05/try-to-order-fios-for-business-online-really-try/' rel='bookmark' title='Permanent Link: Try to order FIOS for Business online (really, try!)'>Try to order FIOS for Business online (really, try!)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2004/03/25/moving-a-frontpage-web-site-to-a-non-frontpage-web-site/' rel='bookmark' title='Permanent Link: Moving a FrontPage Web site to a non-FrontPage Web site'>Moving a FrontPage Web site to a non-FrontPage Web site</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/07/17/computersims-website-gets-an-upgrade/' rel='bookmark' title='Permanent Link: ComputerSims website gets an upgrade'>ComputerSims website gets an upgrade</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>While scanning Google News, I <a title="PostPartisan - Michael Steele's New Domain (WashingtonPost.com)" href="http://voices.washingtonpost.com/postpartisan/2009/10/michael_steele_finds_a_new_pla.html?hpid=opinionsbox1">saw an article</a> that mentioned the re-launched Republican National Committee web site, <a href="http://www.gop.com">gop.com</a>, and decided to take a look at it. The verdict, in short: if they are the party of new ideas, they are also the party that makes the same old stupid mistakes on their web sites.</p>
<p>First, let’s look at the problems.</p>
<p><strong>Problem #1: A database error message is my first experience. </strong>Granted, the site is probably getting hammered by all the excited young Republicans, but that’s still no excuse for getting the following message on my first request: “Database Error: Unable to connect to your database. Your database appears to be turned off or the database connection settings in your config file are not correct. Please contact your hosting provider if the problem persists.” <a href="http://www.sidesofmarch.com/wp-content/uploads/gophomer.jpg"><strong><img style="border-right-width: 0px; margin: 16px 8px 16px 16px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="gop-homer" src="http://www.sidesofmarch.com/wp-content/uploads/gophomer-thumb.jpg" border="0" alt="gop-homer" width="240" height="128" align="right" /></strong></a>Come on, is it that hard to write a <a title="User-friendly error messages: 7 tips (The Web Usasbility Blog)" href="http://webusability-blog.com/user-friendly-error-messages-7-tips/">friendly error message</a>?</p>
<p><strong>Problem #2: Hearing someone talk as soon as the home page opens.</strong> Having <a title="3 annoying things you need to avoid in website design ($480 Web Design)" href="http://www.123triad.com/web-design-articles/3-annoying-avoid-website-design/">sound play automatically on your first visit to a web site is bad enough</a>. Having that sound being <em>someone’s voice</em> is worse than that. In this case, it’s RNC Chairman Michael Steele telling us about the new web site. I bet that the majority of visitors who don’t immediately hit the BACK or CLOSE button probably spend more time looking for the MUTE or STOP button than they do paying attention to what Mr. Steele is saying. (I know I did.)</p>
<p><strong>Problem #3: Doesn’t scale to 800 pixels.</strong> Sure, 800 pixels is so yesterday, and many developers (myself included) don’t bother supporting it. But this web site is quite clearly aimed at the general public, and <a title="Browser Display Statistics (W3Schools.org)" href="http://www.w3schools.com/browsers/browsers_display.asp">roughly 4% of the general public still have monitors that display at 800-pixel wide resolutions</a>. Considering the Republican party needs all the support it can get, it shouldn’t alienate these people by forcing them to scroll horizontally.</p>
<p><strong>Problem #4: Branding a face that has no brand meaning.</strong> You can’t miss the “faces” in the GOP logo on the top left of the web page. Each refresh loads a different page. (See <a href="http://wonkette.com/411594/a-childrens-treasury-of-gop-faces-from-the-hot-new-gop-website">A Children’s Treasury Of ‘GOP Faces’ From The Hot New GOP Website</a>.) Why are you focusing so much of the visible screen, and so much of your user’s attention, on faces that have no brand value? Shrink the damn header to no more than 120 pixels high and give people what they need: functionality and information, not a bunch of meaningless faces.</p>
<p><strong>Problem #5:</strong> It just doesn’t work. I refreshed the home page, and now all my connection attempts are failing.</p>
<p>I’ll say more if/when I can actually re-connect. Why such a problem? It’s not like launching new web sites is something new.</p>
<p>A little digging identifies the hosting provider for gop.com as <a href="http://smartechcorp.net/index.php">Smartech</a>, and they seem like a reasonably sound hosting company. So, is it a hosting issue, or a software architecture issue? I’d bet on the latter.</p>
<p>Hey, finally got back in! I’ll continue the blog post now.</p>
<p><strong>Problem #6: Pretty useless without JavaScript.</strong> Disabling JavaScript helped me avoid seeing the nameless faces (Problem #4) and hearing sound (Problem #2), but improve beyond that. Now I can’t click in the SEARCH box in the header, or on the DONATE button. Similar to Problem #3 (scaling to low resolutions), few people have JavaScript disabled, but why blatantly exclude even 2% of your audience? At least handle the lack of JavaScript gracefully.</p>
<p>Sorry, got kicked out of the GOP web site again. I’ll continue this post when I can reconnect…</p>
<p>Ah, back in… sort of…</p>
<p><strong>Problem #7: Republican Faces doesn’t work.</strong> Apparently the focal point of the web site (or, at least, the faces described in Problem #4) is “<a href="http://www.gop.com/index.php/learn/republican_faces/">Republican Faces</a>.” Go to that section of the web site for this error:</p>
<blockquote><p>PHP has encountered an Access Violation at 7C82A38B</p></blockquote>
<p>Hmpf. Well, until that’s fixed, let’s see what else we can find.</p>
<p><strong>Problem #8: Dropdown menus that are longer than the height of the screen.</strong> I’m looking at the site on a relatively mainstream 768-pixel height laptop screen. Due to the excessive height of the header (Problem #4) and the excessive length of some of the drop-down menus (one has 10 items), I can’t see the entire menu without scrolling. One positive: the menu is “sticky” – it doesn’t disappear when it loses focus – which makes such scrolling possible. Still, I wonder how many people will never go to the <a title="Research Briefings (GOP.com)" href="http://www.gop.com/index.php/learn/research_briefing/">Research Briefings</a> or <a title="Future Leaders (GOP.com)" href="http://www.gop.com/index.php/learn/future_leaders/">Future Leaders</a> pages (among others) as a result.</p>
<p>Sorry, can’t continue: <strong>Service Unavailable</strong>. Fortunately, while waiting, the Republican Faces site came up.</p>
<p style="text-align: center"><a href="http://www.sidesofmarch.com/wp-content/uploads/faceshomer.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="faces-homer" src="http://www.sidesofmarch.com/wp-content/uploads/faceshomer-thumb.jpg" border="0" alt="faces-homer" width="660" height="329" /></a><br />
<em><strong>Have this many people really been able to use the new GOP.com today?<br />
Certainly I wasn&#8217;t!</strong></em></p>
<p>Hey, RNC, if you need to hire a web guy who actually knows how to make web sites work, drop me a line!</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=393&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2007/12/05/try-to-order-fios-for-business-online-really-try/' rel='bookmark' title='Permanent Link: Try to order FIOS for Business online (really, try!)'>Try to order FIOS for Business online (really, try!)</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2004/03/25/moving-a-frontpage-web-site-to-a-non-frontpage-web-site/' rel='bookmark' title='Permanent Link: Moving a FrontPage Web site to a non-FrontPage Web site'>Moving a FrontPage Web site to a non-FrontPage Web site</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2008/07/17/computersims-website-gets-an-upgrade/' rel='bookmark' title='Permanent Link: ComputerSims website gets an upgrade'>ComputerSims website gets an upgrade</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2009/10/13/whats-broken-in-the-new-republican-web-site-gopcom-nearly-everything/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cool feature: Balsamiq&#8217;s auto &#8216;lorem ipsum&#8217; generator</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2009/09/16/cool-feature-balsamiqs-auto-lorem-ipsum-generator/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2009/09/16/cool-feature-balsamiqs-auto-lorem-ipsum-generator/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 20:46:23 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Balsamiq]]></category>
		<category><![CDATA[lorem ipsum]]></category>
		<category><![CDATA[mockups]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=386</guid>
		<description><![CDATA[<p>Every now and then I stumble across a feature in an application or web site that is just <em>too good</em> not to mention. Today, it happened when using <a href="http://www.balsamiq.com/products/mockups">Balsamiq Mockups</a>.</p>
<p>Like many people, I use <a title="lorem ipsum (Wikipedia)" href="http://en.wikipedia.org/wiki/Lorem_ipsum">lorem ipsum</a> placeholder text. When I want large, random blocks of &#8216;lorem ipsum&#8217; text, I use the <a title="Lorem Ipsum generator" href="http://www.lipsum.com/">Lipsum Generator</a>; today, I only needed a few words, so I figured I&#8217;d just type it.</p>
<p>As soon as I finished typing the word &#8220;Lorem,&#8221; Balsamiq sprang into action and populated my text box with the following text: <em>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2009/09/16/cool-feature-balsamiqs-auto-lorem-ipsum-generator/">Cool feature: Balsamiq&#8217;s auto &#8216;lorem ipsum&#8217; generator</a></span>


Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2008/06/03/a-bug-in-microsoft-words-insert-hyperlink-feature/' rel='bookmark' title='Permanent Link: A bug in Microsoft Word&#8217;s Insert Hyperlink feature'>A bug in Microsoft Word&#8217;s Insert Hyperlink feature</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/' rel='bookmark' title='Permanent Link: Domain, data, or UI modeling?'>Domain, data, or UI modeling?</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/05/30/excel-2007-unresponsive-autorecovery-feature/' rel='bookmark' title='Permanent Link: Excel 2007&#8242;s unresponsive autorecovery feature'>Excel 2007&#8242;s unresponsive autorecovery feature</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Every now and then I stumble across a feature in an application or web site that is just <em>too good</em> not to mention. Today, it happened when using <a href="http://www.balsamiq.com/products/mockups">Balsamiq Mockups</a>.</p>
<p>Like many people, I use <a title="lorem ipsum (Wikipedia)" href="http://en.wikipedia.org/wiki/Lorem_ipsum">lorem ipsum</a> placeholder text. When I want large, random blocks of &#8216;lorem ipsum&#8217; text, I use the <a title="Lorem Ipsum generator" href="http://www.lipsum.com/">Lipsum Generator</a>; today, I only needed a few words, so I figured I&#8217;d just type it.</p>
<p>As soon as I finished typing the word &#8220;Lorem,&#8221; Balsamiq sprang into action and populated my text box with the following text: <em>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</em></p>
<p>Now that is an awesome, useful feature. Hats off to <a title=" New Release: Balsamiq Mockups 1.5 (Balsamiq company blog)" href="http://www.balsamiq.com/blog/2008/12/19/new-release-balsamiq-mockups-15/">whoever thought of adding it</a>!</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=386&type=feed" alt="" />

<p>Related posts:<ol><li><a href='http://www.sidesofmarch.com/index.php/archive/2008/06/03/a-bug-in-microsoft-words-insert-hyperlink-feature/' rel='bookmark' title='Permanent Link: A bug in Microsoft Word&#8217;s Insert Hyperlink feature'>A bug in Microsoft Word&#8217;s Insert Hyperlink feature</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2010/04/14/domain-data-or-ui-modelin/' rel='bookmark' title='Permanent Link: Domain, data, or UI modeling?'>Domain, data, or UI modeling?</a></li>
<li><a href='http://www.sidesofmarch.com/index.php/archive/2007/05/30/excel-2007-unresponsive-autorecovery-feature/' rel='bookmark' title='Permanent Link: Excel 2007&#8242;s unresponsive autorecovery feature'>Excel 2007&#8242;s unresponsive autorecovery feature</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2009/09/16/cool-feature-balsamiqs-auto-lorem-ipsum-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
