<?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>Rob Boek</title>
	<atom:link href="http://robboek.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robboek.com</link>
	<description></description>
	<lastBuildDate>Mon, 13 Jul 2015 08:33:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.6.1</generator>
	<item>
		<title>50% Off Microsoft Certification Exams, and a Free Retake</title>
		<link>http://robboek.com/2010/04/27/50-off-microsoft-certification-exams-and-a-free-retake/</link>
		<comments>http://robboek.com/2010/04/27/50-off-microsoft-certification-exams-and-a-free-retake/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 20:57:00 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://robboek.com/2010/04/27/50-off-microsoft-certification-exams-and-a-free-retake/</guid>
		<description><![CDATA[If you are interesting in getting Microsoft Certified, now is a good time! I have two types of vouchers available to everyone who leaves a comment. The first type, good for the 13 exams listed below, will give you 50% discount on the cost of the exam, and a free retake if you fail the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>If you are interesting in getting Microsoft Certified, now is a good time! I have two types of vouchers available to everyone who leaves a comment. The first type, good for the 13 exams listed below, will give you 50% discount on the cost of the exam, and a free retake if you fail the first time. It doesn’t get much better than that.The second voucher type doesn’t provide a discount, but will give you a free retake, and is good for all Microsoft Certification exams.</p>
<p>Leave me a comment with the exam(s) you are interested in taking, and I’ll send you the vouchers. Hurry, they expire June 30th, 2010!</p>
<p>Good Luck!</p>
<ul>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-432"><strong>70-432:</strong>TS: Microsoft SQL Server 2008, Implementation and Maintenance</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-448"><strong>70-448:</strong> TS: Microsoft SQL Server 2008, Business Intelligence Development and Maintenance</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-450"><strong>70-450:</strong> PRO: Designing, Optimizing and Maintaining a Database Administrative Solution Using Microsoft SQL Server 2008</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-452"><strong>70-452:</strong> PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-562"><strong>70-562:</strong> TS: Microsoft .NET Framework 3.5, ASP.NET Application Development</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-564"><strong>70-564:</strong> Pro: Designing and Developing ASP.NET Applications Using the Microsoft .NET Framework 3.5</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-652"><strong>70-652:</strong> TS: Windows Server Virtualization, Configuring</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-659"><strong>70-659:</strong> TS: Windows Server 2008 R2, Server Virtualization</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-669"><strong>70-669:</strong> TS: Windows Server 2008 R2, Desktop Virtualization</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-693"><strong>70-693:</strong> Pro: Windows Server 2008 R2, Virtualization Administrator</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-680"><strong>70-680:</strong> TS: Windows 7, Configuring</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-682"><strong>70-682:</strong> Pro: Upgrading to Windows 7 MCITP Enterprise Desktop Support Technician</a> </div>
</li>
<li>
<div align="left"><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=83-640"><strong>83-640:</strong> TS: Windows Server 2008 Active Directory, Configuring</a> </div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2010/04/27/50-off-microsoft-certification-exams-and-a-free-retake/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Issue Performing a SQL Server 2008 Differential Backup After a Canceled Full Backup</title>
		<link>http://robboek.com/2010/01/23/issue-performing-a-sql-server-2008-differential-backup-after-a-canceled-full-backup/</link>
		<comments>http://robboek.com/2010/01/23/issue-performing-a-sql-server-2008-differential-backup-after-a-canceled-full-backup/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 01:07:47 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://robboek.com/2010/01/23/issue-performing-a-sql-server-2008-differential-backup-after-a-canceled-full-backup/</guid>
		<description><![CDATA[This issue was painful. It started off with a canceled release because the differential backup didn’t finish as expected. The idea was to perform a differential backup just before the release so I’d have a safety net in case something tragic happened. I had run a test diff a few hours earlier and it finished [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>This issue was painful. It started off with a canceled release because the differential backup didn’t finish as expected. The idea was to perform a differential backup just before the release so I’d have a safety net in case something tragic happened. I had run a test diff a few hours earlier and it finished in 35 minutes. There wasn’t a lot of activity on the database before the release so I figured worst case the pre-release diff would take under 1.5 hours. Boy was I wrong!</p>
<p>After 2 hours the diff was showing only 7.5% complete and the file was 3x the size of my test diff from earlier. At that rate it wouldn’t be finished for over 25 hours, a full backup only takes 11! Frustrated that I had to cancel the release, I was determined to figure out why this happened.</p>
<p>Differential backups, backup all 64k extents that have changed since the last full backup. I was fairly confident that only a small amount of data had changed since the full backup. Running the script in Paul Randal’s post <a href="http://www.sqlskills.com/BLOGS/PAUL/post/New-script-How-much-of-the-database-has-changed-since-the-last-full-backup.aspx">How Much of the database has changed since the last full backup?</a> confirmed that only 0.33% of the extents had changed.</p>
<p>After exchanging sever tweets and emails with <a href="http://twitter.com/PaulRandal">@PaulRandal</a> I remembered that the regularly scheduled full backup job had started before the release and I had canceled it since I was going to be doing the diff. I didn’t think anything of it at the time, but that ended up being the issue.</p>
<p>I reenacted the scenario against a smaller 2GB test database. Here is how it played out.</p>
<ul>
<li>Full backup – 2GB file in 40 seconds</li>
<li>Differential backup – 1MB file in 0 seconds</li>
<li>Full backup canceled after 20 seconds</li>
<li>Differential backup – 1GB file in 55 seconds</li>
</ul>
<p>The output from the second diff was:</p>
<blockquote><p>Processed 241608 pages for database test, file test_Data&#8217; on file 1.     <br />Processed 1 pages for database &#8216;test&#8217;, file &#8216;test_Log&#8217; on file 1.      <br />BACKUP DATABASE WITH DIFFERENTIAL successfully processed 241609 pages in 55.501 seconds (34.009 MB/sec).</p>
</blockquote>
<p>Even after the second diff, Paul’s script said that only 4 out of 32000 extents had been modified. So, the canceled full backup does something that Paul’s script doesn’t detect, and SQL Server thinks all of the extents it touches have been modified. </p>
<p>This behavior doesn’t seem right to me. Ideally, the canceled full shouldn’t impact my ability of doing a diff, otherwise, it should return an error (or at least a warning) when I attempt a diff since the diff will be very large and may take longer than the full backup.</p>
<p>In case you were wondering, I did a test restore of the full backup and the 2nd diff and it worked fine.</p>
<p>Thank you to <a href="http://twitter.com/PaulRandal">Paul Randal</a> and <a href="http://twitter.com/KimberlyLTripp">Kimberly L. Tripp</a> for helping me with this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2010/01/23/issue-performing-a-sql-server-2008-differential-backup-after-a-canceled-full-backup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Chrome Find Keyboard Shortcut Doesn&#8217;t work &#8211; FIX</title>
		<link>http://robboek.com/2009/09/03/google-chrome-find-keyboard-shortcut-doesnt-work-fix/</link>
		<comments>http://robboek.com/2009/09/03/google-chrome-find-keyboard-shortcut-doesnt-work-fix/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 22:23:11 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[KatMouse]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/09/03/google-chrome-find-keyboard-shortcut-doesnt-work-fix/</guid>
		<description><![CDATA[I huge annoyance for me the past few days has been that pressing Ctrl-F in Chrome wouldn’t bring up the find box until I clicked inside the content area of the browser window. The problem it turns out has to do with KatMouse. I love KatMouse! It is a utility that allows you to use [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>I huge annoyance for me the past few days has been that pressing Ctrl-F in Chrome wouldn’t bring up the find box until I clicked inside the content area of the browser window.</p>
<p>The problem it turns out has to do with <a href="http://ehiti.de/katmouse/">KatMouse</a>. I love KatMouse! It is a utility that allows you to use your scroll wheel to scroll inactive windows. The problem was that scrolling the Chrome window with KatMouse would cause it to go inactive.</p>
<p><strong>The Fix:</strong></p>
<ol>
<li>Open KatMouse Settings.</li>
<li>Select the Classes Tab.</li>
<li>Drag the target on to the Chrome window.     <br /><a href="http://robboek.com/wp-content/uploads/2009/09/dragtargettochromewindow.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DragTargetToChromeWindow" border="0" alt="DragTargetToChromeWindow" src="http://robboek.com/wp-content/uploads/2009/09/dragtargettochromewindow-thumb.png" width="225" height="240" /></a> </li>
<li>Double-click the “Chrome_RenderWidgetHostHWND” class and clear the checkbox labeled “Window has wheel scrolling support?” and click OK.     <br /><a href="http://robboek.com/wp-content/uploads/2009/09/setclassproperties.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SetClassProperties" border="0" alt="SetClassProperties" src="http://robboek.com/wp-content/uploads/2009/09/setclassproperties-thumb.png" width="268" height="241" /></a> </li>
<li>Click OK to close the KatMouse Properties window.</li>
</ol>
<p>You should now be able to scroll in Chrome without the window losing focus.</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/09/03/google-chrome-find-keyboard-shortcut-doesnt-work-fix/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>UPDATE Statements and Indexes</title>
		<link>http://robboek.com/2009/05/29/update-statements-and-indexes/</link>
		<comments>http://robboek.com/2009/05/29/update-statements-and-indexes/#comments</comments>
		<pubDate>Fri, 29 May 2009 10:50:37 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/05/29/update-statements-and-indexes/</guid>
		<description><![CDATA[I ran into a database earlier this week with a lot of stored procedures that look like this: CREATE PROCEDURE updateUser @id int, @FirstName varchar&#40;50&#41;, @LastName varchar&#40;50&#41;, @EmailAddress varchar&#40;50&#41; AS SET NOCOUNT ON &#160; UPDATE Users SET FirstName = @FirstName, LastName = @LastName, EmailAddress = @EmailAddress Where id = @id GO Every table had&#160; similar [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>I ran into a database earlier this week with a lot of stored procedures that look like this:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">PROCEDURE</span> updateUser
  @id <span style="color: #0000FF;">int</span>, @FirstName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>, @LastName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>, @EmailAddress <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>
<span style="color: #0000FF;">AS</span>
<span style="color: #0000FF;">SET</span> <span style="color: #0000FF;">NOCOUNT</span> <span style="color: #0000FF;">ON</span>
&nbsp;
<span style="color: #0000FF;">UPDATE</span> Users
<span style="color: #0000FF;">SET</span> FirstName <span style="color: #808080;">=</span> @FirstName,
    LastName  <span style="color: #808080;">=</span> @LastName,
    EmailAddress <span style="color: #808080;">=</span> @EmailAddress
<span style="color: #0000FF;">Where</span> id <span style="color: #808080;">=</span> @id
GO</pre></td></tr></table></div>

<p>Every table had&#160; similar CRUD procedures that had been generated. If any data in the Users table changed, say a user updated their email address, this procedure would handle the update. Is this a good idea?</p>
<p><a href="http://thehobt.blogspot.com/">Aaron Alton</a> recently <a title="Easy On The Updates There, Sparky" href="http://thehobt.blogspot.com/2009/05/easy-on-updates-there-sparky.html">posted</a> about UPDATE statements. In his post, he explains why it is a good idea to use the WHERE clause to filter out rows that don’t need to be updated. I want to expound on Aaron’s point, and say that you should also <strong>avoid needlessly updating columns</strong> that don’t need to be updated. The reason? Nonclustered Indexes.</p>
<p>Let&#8217;s take a look at the following table:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">TABLE</span> Users <span style="color: #808080;">&#40;</span>
  id <span style="color: #0000FF;">int</span>,
  FirstName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>,
  LastName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>,
  EmailAddress <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>
<span style="color: #808080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">UNIQUE</span> <span style="color: #0000FF;">CLUSTERED</span> <span style="color: #0000FF;">INDEX</span> cix_Users <span style="color: #0000FF;">ON</span> Users<span style="color: #808080;">&#40;</span>id<span style="color: #808080;">&#41;</span>
<span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">NONCLUSTERED</span> <span style="color: #0000FF;">INDEX</span> ix_Users_FirstName <span style="color: #0000FF;">ON</span> Users<span style="color: #808080;">&#40;</span>FirstName<span style="color: #808080;">&#41;</span>
<span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">NONCLUSTERED</span> <span style="color: #0000FF;">INDEX</span> ix_Users_LastName <span style="color: #0000FF;">ON</span> Users<span style="color: #808080;">&#40;</span>LastName<span style="color: #808080;">&#41;</span>
<span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">NONCLUSTERED</span> <span style="color: #0000FF;">INDEX</span> ix_Users_EmailAddress <span style="color: #0000FF;">ON</span> Users<span style="color: #808080;">&#40;</span>EmailAddress<span style="color: #808080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">INSERT</span> <span style="color: #0000FF;">INTO</span> Users
<span style="color: #0000FF;">SELECT</span> <span style="color: #000;">1</span>, <span style="color: #FF0000;">'John'</span>, <span style="color: #FF0000;">'Smith'</span>, <span style="color: #FF0000;">'jsmith@gmail.com'</span></pre></td></tr></table></div>

<p>If we were to call the updateUser procedure:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">EXEC</span> updateUser <span style="color: #000;">1</span>, <span style="color: #FF0000;">'John'</span>, <span style="color: #FF0000;">'Smith'</span>, <span style="color: #FF0000;">'jsmith@hotmail.com'</span></pre></td></tr></table></div>

<p>Even though the FirstName and LastName values aren&#8217;t changing, SQL Server will still update all of the columns resulting in the nonclustered indexes on the FirstName and LastName columns being locked and updated.</p>
<p>If we were to run the following UPDATE statement instead, the nonclustered indexes on FirstName and LastName would not need to be updated.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">UPDATE</span> Users
<span style="color: #0000FF;">SET</span> EmailAddress <span style="color: #808080;">=</span> <span style="color: #FF0000;">'jsmith@hotmail.com'</span>
<span style="color: #0000FF;">WHERE</span> id <span style="color: #808080;">=</span> <span style="color: #000;">1</span></pre></td></tr></table></div>

<p>So, how do we fix the problem with our update procedure listed above? If we know that updating an Email address is a common occurance, we might create a seperate procedure that only updates the EmailAddress column. Alternatively, we can use dynamic SQL to build the correct UPDATE statement for us.</p>
<p>Here is an example of how you could do this in a stored procedure: </p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">PROCEDURE</span> updateUser
  @id <span style="color: #0000FF;">int</span>, @FirstName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>, @LastName <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>, @EmailAddress <span style="color: #0000FF;">varchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">50</span><span style="color: #808080;">&#41;</span>
<span style="color: #0000FF;">AS</span>
<span style="color: #0000FF;">SET</span> <span style="color: #0000FF;">NOCOUNT</span> <span style="color: #0000FF;">ON</span>
&nbsp;
<span style="color: #008080;">--Variables to hold the updated status</span>
<span style="color: #0000FF;">DECLARE</span> @u_FirstName <span style="color: #0000FF;">bit</span>, @u_LastName <span style="color: #0000FF;">bit</span>, @u_EmailAddress <span style="color: #0000FF;">bit</span>
&nbsp;
<span style="color: #008080;">--Check to see which values were updated</span>
<span style="color: #0000FF;">SELECT</span>
  @u_FirstName <span style="color: #808080;">=</span> <span style="color: #0000FF;">CASE</span> FirstName <span style="color: #0000FF;">WHEN</span> @FirstName <span style="color: #0000FF;">THEN</span> <span style="color: #000;">0</span> <span style="color: #0000FF;">ELSE</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">END</span>
 ,@u_LastName <span style="color: #808080;">=</span> <span style="color: #0000FF;">CASE</span> LastName <span style="color: #0000FF;">WHEN</span> @LastName <span style="color: #0000FF;">THEN</span> <span style="color: #000;">0</span> <span style="color: #0000FF;">ELSE</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">END</span>
 ,@u_EmailAddress <span style="color: #808080;">=</span> <span style="color: #0000FF;">CASE</span> EmailAddress <span style="color: #0000FF;">WHEN</span> @EmailAddress <span style="color: #0000FF;">THEN</span> <span style="color: #000;">0</span> <span style="color: #0000FF;">ELSE</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">END</span>
<span style="color: #0000FF;">FROM</span> Users
<span style="color: #0000FF;">WHERE</span> @id <span style="color: #808080;">=</span> id
&nbsp;
<span style="color: #008080;">--If none of the values were updated return</span>
<span style="color: #0000FF;">IF</span> <span style="color: #808080;">&#40;</span>@u_FirstName <span style="color: #808080;">=</span> <span style="color: #000;">0</span> <span style="color: #808080;">AND</span> @u_LastName <span style="color: #808080;">=</span> <span style="color: #000;">0</span> <span style="color: #808080;">AND</span> @u_EmailAddress <span style="color: #808080;">=</span> <span style="color: #000;">0</span><span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">RETURN</span>
&nbsp;
<span style="color: #0000FF;">DECLARE</span> @<span style="color: #0000FF;">sql</span> <span style="color: #0000FF;">nvarchar</span><span style="color: #808080;">&#40;</span><span style="color: #000;">4000</span><span style="color: #808080;">&#41;</span>
&nbsp;
<span style="color: #0000FF;">SET</span> @<span style="color: #0000FF;">sql</span> <span style="color: #808080;">=</span> <span style="color: #FF0000;">'
DECLARE @first bit --for the first value
UPDATE Users SET
 @first = 1 '</span>
&nbsp;
<span style="color: #0000FF;">IF</span> @u_FirstName <span style="color: #808080;">=</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">SET</span> @<span style="color: #0000FF;">sql</span> <span style="color: #808080;">+=</span> <span style="color: #FF0000;">'
 ,FirstName = @FirstName '</span>
&nbsp;
<span style="color: #0000FF;">IF</span> @u_LastName <span style="color: #808080;">=</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">SET</span> @<span style="color: #0000FF;">sql</span> <span style="color: #808080;">+=</span> <span style="color: #FF0000;">'
 ,LastName = @LastName '</span>
&nbsp;
<span style="color: #0000FF;">IF</span> @u_EmailAddress <span style="color: #808080;">=</span> <span style="color: #000;">1</span> <span style="color: #0000FF;">SET</span> @<span style="color: #0000FF;">sql</span> <span style="color: #808080;">+=</span> <span style="color: #FF0000;">'
 ,EmailAddress = @EmailAddress '</span>
&nbsp;
<span style="color: #0000FF;">SET</span> @<span style="color: #0000FF;">sql</span> <span style="color: #808080;">+=</span> <span style="color: #FF0000;">'
WHERE id = @id'</span>
&nbsp;
<span style="color: #0000FF;">PRINT</span> @<span style="color: #0000FF;">sql</span>
<span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">''</span>
<span style="color: #0000FF;">EXEC</span> <span style="color: #AF0000;">sp_executesql</span> @<span style="color: #0000FF;">sql</span>,
  N<span style="color: #FF0000;">'@FirstName varchar(50), @LastName varchar(50), @EmailAddress varchar(50), @id int'</span>,
  @FirstName, @LastName, @EmailAddress, @id
&nbsp;
GO</pre></td></tr></table></div>

<p>This trigger will show which columns have been updated:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="tsql" style="font-family:monospace;"><span style="color: #0000FF;">CREATE</span> <span style="color: #0000FF;">TRIGGER</span> t_Users
  <span style="color: #0000FF;">ON</span>  Users
  <span style="color: #0000FF;">AFTER</span> <span style="color: #0000FF;">UPDATE</span>
<span style="color: #0000FF;">AS</span>
       <span style="color: #0000FF;">SET</span> <span style="color: #0000FF;">NOCOUNT</span> <span style="color: #0000FF;">ON</span>
       <span style="color: #0000FF;">IF</span> <span style="color: #0000FF;">UPDATE</span><span style="color: #808080;">&#40;</span>FirstName<span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">'FirstName updated'</span>
       <span style="color: #0000FF;">IF</span> <span style="color: #0000FF;">UPDATE</span><span style="color: #808080;">&#40;</span>LastName<span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">'LastName updated'</span>
       <span style="color: #0000FF;">IF</span> <span style="color: #0000FF;">UPDATE</span><span style="color: #808080;">&#40;</span>EmailAddress<span style="color: #808080;">&#41;</span> <span style="color: #0000FF;">PRINT</span> <span style="color: #FF0000;">'EmailAddress updated'</span>
GO</pre></td></tr></table></div>

<p>To summarize, limiting the columns in the SET portion of the UPDATE statement will reduce locking, minimize index updates, and increase concurrency.</p>
<p>Let me know if I’ve left anything out.</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/05/29/update-statements-and-indexes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Portland Code Camp is Saturday May 30th at Reed College</title>
		<link>http://robboek.com/2009/05/25/portland-code-camp-is-saturday-may-30th-at-reed-college/</link>
		<comments>http://robboek.com/2009/05/25/portland-code-camp-is-saturday-may-30th-at-reed-college/#respond</comments>
		<pubDate>Mon, 25 May 2009 18:25:18 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://robboek.com/?p=185</guid>
		<description><![CDATA[This Saturday, over 50 presenters are coming together to bring you more than 60 sessions on software development. Topics include: .NET, SQL Server, iPhone, Java, SEO, Silverlight and much more! Portland Code Camp is a free community event being help this Saturday, May 30th at Reed College. For more information and to sign up, go [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>This Saturday, <em><strong>over 50 presenters</strong></em> are coming together to bring you <em><strong>more than 60 sessions</strong></em> on software development. Topics include: .NET, SQL Server, iPhone, Java, SEO, Silverlight and much more!</p>
<p>Portland Code Camp is a <em><strong>free community event</strong></em> being help this Saturday, May 30th at Reed College. For more information and to sign up, go to  <a title="Portland Code Camp" href="http://portlandcodecamp.org">PortlandCodeCamp.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/05/25/portland-code-camp-is-saturday-may-30th-at-reed-college/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oregon SQL Developers &#8211; April Meeting</title>
		<link>http://robboek.com/2009/04/07/oregon-sql-developers-april-meeting/</link>
		<comments>http://robboek.com/2009/04/07/oregon-sql-developers-april-meeting/#respond</comments>
		<pubDate>Tue, 07 Apr 2009 23:04:56 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[OSQL-d]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/04/07/oregon-sql-developers-april-meeting/</guid>
		<description><![CDATA[Please join me at the Oregon SQL Developers Meeting, tomorrow, April 8th. Free pizza, lots of giveaways, and 2 great sessions planned. Many people will walk away with either a TechNet Plus Direct annual subscription (Estimated Retail Value $349), or a voucher for a Microsoft Certification exam of your choice (Estimated Retail Value $125). Logistics: [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>Please join me at the Oregon SQL Developers Meeting, tomorrow, April 8th. Free pizza, lots of giveaways, and 2 great sessions planned. Many people will walk away with either a TechNet Plus Direct annual subscription (Estimated Retail Value $349), or a voucher for a Microsoft Certification exam of your choice (Estimated Retail Value $125).</p>
<h4>Logistics:</h4>
<p>Wednesday, April 8th, 2009 at 6:30 pm (Pizza and networking start at 6:00 pm)    <br />Microsoft Portland Office &#8211; <a href="http://maps.google.com/maps?q=10260+SW+Greenburg+Rd,+Suite+600,+Portland,+OR">10260 SW Greenburg Rd, Suite 600</a></p>
<h4>Sessions:</h4>
<p><a href="http://rwgarrison.com/rg/">Rob Garrison</a> will present about Data Encryption and SQL Server, providing significant information that is not available in Books Online, including Message Authentication Codes and how to use them to support highly efficient searches of encrypted data. </p>
<p>Rob Garrison is the OLTP Data Architect for WebMD’s Health Services group. He has been working with SQL Server full-time since 1999 and in IT since 1985. He has extensive experience with SQL Server development and architecture in both the banking and healthcare industries. </p>
<p>Then, <a href="http://sqlblog.com/blogs/arnie_rowland/">Arnie Rowland</a>, SQL Server MVP, will discuss Microsoft&#8217;s &#8216;Thrive&#8217; Program which is a major effort supporting economic stimulus efforts. This discussion will include how Microsoft&#8217;s initiatives may be of direct benefit to you in keeping your skills fresh.</p>
<p>Visit <a href="http://osql-d.sqlpass.org">http://osql-d.sqlpass.org</a> for more details.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/04/07/oregon-sql-developers-april-meeting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who Should Write Database Code?</title>
		<link>http://robboek.com/2009/03/20/who-should-write-database-code/</link>
		<comments>http://robboek.com/2009/03/20/who-should-write-database-code/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 07:14:38 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/03/20/who-should-write-database-code/</guid>
		<description><![CDATA[This week, I ran into a query that did 770 GB worth of logical reads…on a 3 GB database!!! Kimberly Tripp asked “Who’s job is it anyway?” Should database design and database coding be done by the Application Developer, the DBA, or should there be a separate “Database Developer” role? There are many variables that [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>This week, I ran into a query that did 770 GB worth of logical reads…<strong>on a 3 GB database!!!</strong></p>
<p>Kimberly Tripp asked “<a href="http://www.sqlskills.com/BLOGS/KIMBERLY/post/Whose-job-is-it-anyway.aspx">Who’s job is it anyway?</a>” Should database design and database coding be done by the Application Developer, the DBA, or should there be a separate “Database Developer” role? There are many variables that make this a complicated question. Here are a few of my thoughts: </p>
<h3>The Application Developer</h3>
<p><strong>PRO:</strong> Database development is part of the overall application development process. Basic T-SQL syntax is pretty easy for application developers to pick up, and most should already know how to write select statements. Also, application developers already have to be familiar with the requirements of the application.</p>
<p><strong>CON:</strong> The best practices for good application code don’t translate well into good database code. Application developers are trained to break everything up into small manageable steps. When they need to do something in the database, the natural tendency is to try to use the tools that work well on the application side. This often results in things like cursors, while loops, temp tables, UDFs, and lots of small steps. Database development requires a very different mind set. Also, SQL Server is a huge product. It’s hard enough for someone dedicated to SQL Server to keep up with and master it, let alone someone who is trying to do application development as well.</p>
<h3>The DBA</h3>
<p><strong>PRO:</strong> DBAs work with databases. They understand indexes and are familiar with database tools like SSMS, SSIS, and Profiler. They know that cursors are not the answer to everything.</p>
<p><strong>CON:</strong> Most (not all) DBAs are, as the name implies, focused on administration and don’t write code. DBAs are responsible for database uptime and stability which may get in the way of meeting development deliverables.</p>
<h3>The Database Developer</h3>
<p><strong>PRO:</strong> Dedicated database developers are focused on writing good database code. They should be good at thinking in terms of set-based logic, and be familiar with the various tools that SQL Server provides. In theory, this should result in higher quality database code in less time.</p>
<p><strong>CON:</strong> Many companies don’t have enough work to justify a full-time person dedicated to database development. Even if they do, it is likely spread across multiple projects which requires the database developer to keep track of multiple sets of requirements and deal with competing priorities.</p>
<h3>Other Thoughts</h3>
<p>While dedicated database developers should on average write better code, it doesn’t always matter if a query runs in 1-2 seconds or if it runs in 100-200 ms. The less efficient code may be “good enough.”</p>
<p>On the other hand, most development is done on a very small subset of data. A good database developer will know how the query will react as the amount of data increases. Will it perform the same, get linearly worse, or will performance decrease exponentially as rows are added.</p>
<p>If you plan on scaling your application, it’s worth it to make sure your database development is done right. To me, it doesn’t matter if the work is done by the application developer, the DBA, or a dedicated database developer. Just use the person who does the best job.</p>
<p>I’d love to hear your thoughts.</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/03/20/who-should-write-database-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adam Machanic’s T-SQL Challenge</title>
		<link>http://robboek.com/2009/02/27/adam-machanics-t-sql-challenge/</link>
		<comments>http://robboek.com/2009/02/27/adam-machanics-t-sql-challenge/#respond</comments>
		<pubDate>Fri, 27 Feb 2009 19:46:54 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/02/27/adam-machanics-t-sql-challenge/</guid>
		<description><![CDATA[For you T-SQL experts out there, Adam Machanic just posted a challenge with a great prize. The best submission wins a full MSDN subscription valued at around $10,000. Check it out!]]></description>
				<content:encoded><![CDATA[<p></p><p>For you T-SQL experts out there, <a href="http://sqlblog.com/blogs/adam_machanic/">Adam Machanic</a> just <a href="http://sqlblog.com/blogs/adam_machanic/archive/2009/02/27/t-sql-challenge-grouped-string-concatenation.aspx">posted a challenge</a> with a great prize. The best submission wins a full MSDN subscription valued at around $10,000.</p>
<p><a href="http://sqlblog.com/blogs/adam_machanic/archive/2009/02/27/t-sql-challenge-grouped-string-concatenation.aspx">Check it out!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/02/27/adam-machanics-t-sql-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom FeedFlare for Syndication</title>
		<link>http://robboek.com/2009/02/25/custom-feedflare-for-syndication/</link>
		<comments>http://robboek.com/2009/02/25/custom-feedflare-for-syndication/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 23:24:15 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[FeedBurner]]></category>
		<category><![CDATA[FeedFlare]]></category>

		<guid isPermaLink="false">http://robboek.com/?p=145</guid>
		<description><![CDATA[In this post, I’m going to share how I created the custom links back to my blog as seen in my syndicated posts on SQLServerPedia.com. I’m syndicating my all of my SQL Server related posts over at SQLServerPedia.com. Since I sometimes blog about topics other than SQL Server, I didn’t want to syndicate my entire [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>In this post, I’m going to share how I created the custom links back to my blog as seen in <a href="http://sqlserverpedia.com/blog/author/rob-boek/" rel="nofollow external me">my syndicated posts on SQLServerPedia.com</a>.</p>
<p>I’m syndicating my all of my <a href="http://robboek.com/category/sql-server/" rel="nofollow">SQL Server related posts</a> over at <a href="http://sqlserverpedia.com/blog/">SQLServerPedia.com</a>. Since I sometimes blog about topics other than SQL Server, I didn’t want to syndicate my entire feed. Fortunately, <a href="http://wordpress.org/">WordPress</a> creates feeds at the category level. Just add “/feed/” to the end of your category page URL to get to the category feed. The feed for my SQL Server related posts was located at <a href="http://robboek.com/category/sql-server/feed/" rel="nofollow">http://robboek.com/category/sql-server/feed/</a>.</p>
<p>With the category feed URL in hand, I created a feed on <a href="http://www.feedburner.com/">FeedBurner</a> that points to the category feed and is the feed I gave out for syndication. This enabled me to add special <a href="http://www.feedburner.com/fb/a/publishers/feedflare">FeedFlare</a> that only shows up on my syndicated posts.</p>
<p>Creating custom FeedFlare is easy. It’s just an XML file with some custom tags that you upload to your site. You then put the URL to the XML file in to FeedBurner to add your custom FeedFlare to your feed. For more information see the <a href="http://code.google.com/apis/feedburner/feedflare_dev_guide.html">FeedFlare Developer Guide</a>.</p>
<p>I created two FeedFlare units. The first just adds “Originally posted at robboek.com” and links to my blog. The second is a permalink to the original blog post.</p>
<h4>robboek-com.xml</h4>

<div class="wp_syntax"><table><tr><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FeedFlareUnit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>robboek.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Originally posted at robboek.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FeedFlare<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Originally posted at robboek.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;http://robboek.com&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FeedFlare<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FeedFlareUnit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<h4>post-permalink.xml</h4>

<div class="wp_syntax"><table><tr><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FeedFlareUnit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Permalink<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Adds the permalink of posts to help verify as the original source<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;FeedFlare<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Permalink: ${link}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Link</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;${link}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FeedFlare<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/FeedFlareUnit<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/02/25/custom-feedflare-for-syndication/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My First Computer and Favorite Old Games</title>
		<link>http://robboek.com/2009/02/17/my-first-computer-and-favorite-old-games/</link>
		<comments>http://robboek.com/2009/02/17/my-first-computer-and-favorite-old-games/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 01:23:48 +0000</pubDate>
		<dc:creator><![CDATA[Rob Boek]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Amiga 500]]></category>
		<category><![CDATA[Captain Comic]]></category>
		<category><![CDATA[Comander Keen]]></category>
		<category><![CDATA[Duke Nukem]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Maniac Mansion]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[Monkey Island]]></category>

		<guid isPermaLink="false">http://robboek.com/2009/02/17/my-first-computer-and-favorite-old-games/</guid>
		<description><![CDATA[I was tagged by Brent Ozar in a meme started by Denis Gobo. I’m supposed to post about my first computer and favorite games. The first computer I can remember using was my my uncle’s Amiga 500. I remember playing Little Computer People with my cousin. The first computer my family owned was a Hyundai [&#8230;]]]></description>
				<content:encoded><![CDATA[<p></p><p>I was <a href="http://www.brentozar.com/archive/2009/02/my-first-computer/">tagged by Brent Ozar</a> in a <a href="http://blogs.lessthandot.com/index.php/ITProfessionals/EthicsIT/what-was-your-first-computer-and-what-we">meme started by Denis Gobo</a>. I’m supposed to post about my first computer and favorite games.</p>
<p>The first computer I can remember using was my my uncle’s <a href="http://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>. I remember playing <a href="http://en.wikipedia.org/wiki/Little_Computer_People">Little Computer People</a> with my cousin.</p>
<p align="center"><a href="http://en.wikipedia.org/wiki/Amiga_500"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Amiga 500" src="http://robboek.com/wp-content/uploads/2009/02/280pxamiga500-system.jpg" border="0" alt="Amiga 500" width="240" height="186" /></a><a href="http://en.wikipedia.org/wiki/Little_Computer_People"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Little Computer People" src="http://robboek.com/wp-content/uploads/2009/02/little-computer-people-02.png" border="0" alt="Little Computer People" width="240" height="192" /></a></p>
<p>The first computer my family owned was a Hyundai IBM 8088 clone. It had a green monochrome display, 640K of RAM, a 5.25” 360K floppy drive, and a <strong>10 MB hard drive</strong>!</p>
<p>Growing up, I always got in trouble on my dad’s computers because I was constantly breaking his stuff every time I reconfigured the <a href="http://en.wikipedia.org/wiki/Config.sys">config.sys</a> and <a href="http://en.wikipedia.org/wiki/Autoexec.bat">autoexec.bat</a> files to free up enough memory to play MS-DOS games.</p>
<p>The first computer I owned, was a Pentium 75 Mhz that I built in 1994. I remember doing a lot of desktop publishing work and mowing lawns to save money for it.</p>
<p>I was a big fan of adventure games growing up. The game that got me hooked was <a href="http://en.wikipedia.org/wiki/Maniac_Mansion">Maniac Mansion</a>. I also liked <a href="http://en.wikipedia.org/wiki/Zak_McKracken_and_the_Alien_Mindbenders">Zak McKracken and the Alien Mindbenders</a>, the <a href="http://en.wikipedia.org/wiki/Kings_Quest">King’s Quest</a> series, and the <a href="http://en.wikipedia.org/wiki/Space_Quest">Space Quest</a> series, but my all-time favorites are definitely the <a href="http://en.wikipedia.org/wiki/Monkey_Island_(series)">Monkey Island</a> games.</p>
<p align="center"><a href="http://en.wikipedia.org/wiki/Maniac_Mansion"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Maniac Mansion" src="http://robboek.com/wp-content/uploads/2009/02/box-maniacmansion-thumb.jpg" border="0" alt="Maniac Mansion" width="154" height="195" /></a> <a href="http://en.wikipedia.org/wiki/Day_of_the_Tentacle"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Maniac Mansion: Day of the Tentacle" src="http://robboek.com/wp-content/uploads/2009/02/250pxdayofthetentaclecoverart.jpg" border="0" alt="Maniac Mansion: Day of the Tentacle" width="153" height="195" /></a> <a href="http://en.wikipedia.org/wiki/The_Secret_of_Monkey_Island"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="The Secret of Monkey Island" src="http://robboek.com/wp-content/uploads/2009/02/mi1cover.jpg" border="0" alt="The Secret of Monkey Island" width="156" height="195" /></a> <a href="http://en.wikipedia.org/wiki/Monkey_Island_2:_LeChuck%27s_Revenge"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Monkey Island 2: LeChuck's Revenge" src="http://robboek.com/wp-content/uploads/2009/02/mi2cover.jpg" border="0" alt="Monkey Island 2: LeChuck's Revenge" width="152" height="195" /></a> <a href="http://en.wikipedia.org/wiki/The_Curse_of_Monkey_Island"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="The Curse of Monkey Island" src="http://robboek.com/wp-content/uploads/2009/02/curse-of-monkey-island-cover.jpg" border="0" alt="The Curse of Monkey Island" width="156" height="195" /></a> <a href="http://en.wikipedia.org/wiki/Escape_from_Monkey_Island"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Escape from Monkey Island" src="http://robboek.com/wp-content/uploads/2009/02/escapefrommonkeyisland-box-cover.jpg" border="0" alt="Escape from Monkey Island" width="154" height="195" /></a></p>
<p>Other games I remember playing a lot are <a href="http://en.wikipedia.org/wiki/Captain_Comic">Captain Comic</a>, <a href="http://en.wikipedia.org/wiki/Commander_Keen">Commander Keen</a>, and <a href="http://en.wikipedia.org/wiki/Duke_Nukem_(video_game)">Duke Nukem</a>.</p>
<p align="center"><a href="http://en.wikipedia.org/wiki/Captain_Comic"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Captain Comic" src="http://robboek.com/wp-content/uploads/2009/02/comic.gif" border="0" alt="Captain Comic" width="178" height="112" /></a> <a href="http://en.wikipedia.org/wiki/Commander_Keen"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Commander Keen" src="http://robboek.com/wp-content/uploads/2009/02/keen11.jpg" border="0" alt="Commander Keen" width="178" height="112" /></a> <a href="http://en.wikipedia.org/wiki/Duke_Nukem_(video_game)"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Duke Nukem" src="http://robboek.com/wp-content/uploads/2009/02/250pxdukenukem1.png" border="0" alt="Duke Nukem" width="178" height="112" /></a></p>
<p>That’s about it for the really old stuff. I’ve played a lot of games since, but cut way back after having kids.</p>
<p>Other posts in this meme:</p>
<ul>
<li><a href="http://www.brentozar.com/archive/2009/02/my-first-computer/">Brent Ozar</a></li>
<li><a href="http://blogs.lessthandot.com/index.php/ITProfessionals/EthicsIT/what-was-your-first-computer-and-what-we">Denis Gobo</a></li>
<li><a href="http://itknowledgeexchange.techtarget.com/sql-server/my-first-computer/">Denny Cherry</a></li>
<li><a href="http://statisticsio.com/Home/tabid/36/articleType/ArticleView/articleId/338/My-First-Computer.aspx">Jason Massie (StatisticsIO)</a></li>
<li><a href="http://stratesql.com/2009/02/20/my-first-computer-and-favorite-old-games-ot.aspx">Jason Strate</a></li>
<li><a href="http://kendalvandyke.blogspot.com/2009/02/my-first-computer.html"><span class="entry-author-name">Kendal Van Dyke</span></a></li>
<li><a href="http://sqlfool.com/2009/02/first-computer/">Michelle Ufford (SQL Fool)</a></li>
<li><a href="http://weblogs.sqlteam.com/mladenp/archive/2009/02/19/What-was-my-first-computer-and-what-were-some-of.aspx">Mladen Prajdić</a></li>
<li><a href="http://www.ford-it.com/sqlagentman/?p=168">Tim Ford (SQLAgentMan)</a></li>
<li><a href="http://sqlbatman.com/2009/02/more-chainblogging/">Tom LaRock (SQL Batman)</a></li>
<li><a href="http://tjaybelt.blogspot.com/2009/02/my-first-computer.html">TJay Belt</a></li>
<li><a href="http://blog.pewitt.org/2009/02/22/MyFirstComputer.aspx">Woody Pewitt</a></li>
</ul>
<p>I’m tagging:</p>
<ul>
<li><a href="http://stratesql.com/">Jason Strate</a></li>
<li><a href="http://jessicammoss.blogspot.com/">Jessica Moss</a></li>
<li><a href="http://dbalink.wordpress.com/">Marlon Ribunal</a></li>
<li><a href="http://bi-polar23.blogspot.com/">Matthew Roche</a></li>
</ul>
<p>Let me know about your first computer and favorite old games!</p>
]]></content:encoded>
			<wfw:commentRss>http://robboek.com/2009/02/17/my-first-computer-and-favorite-old-games/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
