<?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>The Inquisitive Coder - Davy Brion&#039;s Blog &#187; Off Topic</title>
	<atom:link href="http://davybrion.com/blog/category/off-topic/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 29 Jul 2010 20:51:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Got 15 Minutes To Help Out With A University Study? I Mean, To Play A Game?</title>
		<link>http://davybrion.com/blog/2010/03/got-15-minutes-to-help-out-with-a-university-study-i-mean-to-play-a-game/</link>
		<comments>http://davybrion.com/blog/2010/03/got-15-minutes-to-help-out-with-a-university-study-i-mean-to-play-a-game/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 09:34:21 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2275</guid>
		<description><![CDATA[Bram De Moor, one of my coworkers, has developed a small game which is a part of a university study. I can&#8217;t tell you what the study is about, since that would ruin the purpose of the game (and if anyone leaves a comment mentioning it, it will be deleted) but it&#8217;s pretty interesting. The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bramdemoor.blogspot.com/">Bram De Moor</a>, one of my coworkers, has developed a small game which is a part of a university study.  I can&#8217;t tell you what the study is about, since that would ruin the purpose of the game (and if anyone leaves a comment mentioning it, it will be deleted) but it&#8217;s pretty interesting.  The game itself is pretty nicely done, though you obviously shouldn&#8217;t expect too much.  So if you can spare about 15 minutes and want to participate in this study, download the game <a href="http://www.moddb.com/games/flight-of-the-strihuhn">here</a>, play it and answer the questionnaire at the end.  Don&#8217;t do it for yourself, do it for science! <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2010/03/got-15-minutes-to-help-out-with-a-university-study-i-mean-to-play-a-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wanna Review My Code?</title>
		<link>http://davybrion.com/blog/2010/02/wanna-review-my-code/</link>
		<comments>http://davybrion.com/blog/2010/02/wanna-review-my-code/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 14:58:31 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/2010/02/wanna-review-my-code/</guid>
		<description><![CDATA[I just wrote some code, and i’d like your opinion on it.&#160; The thing is, i’m not going to provide any context as to what it does or why certain decisions were made since i know you guys like to be challenged.&#160; You also might want to keep the following in mind when reading it: [...]]]></description>
			<content:encoded><![CDATA[<p>I just wrote some code, and i’d like your opinion on it.&#160; The thing is, i’m not going to provide any context as to what it does or why certain decisions were made since i know you guys like to be challenged.&#160; You also might want to keep the following in mind when reading it:</p>
<ol>
<li>it might contain bugs that i’m not aware of </li>
<li>it contains weird parts that were either brainfarts on my part, things i did on purpose to avoid possible issues, or both </li>
<li>it contains at least one bug that i know about, yet don’t care about </li>
<li>i removed the comments that i originally put in it to make things more interesting </li>
<li>i haven’t tested the code yet </li>
<li>i haven’t even executed it yet </li>
<li>i <em>think</em> it’s ok… but i’m not sure </li>
</ol>
<p>Questions will be answered if you have them (and i’m sure you will) though i can’t make any promises as to how soon i can answer them… I will post a follow-up post to discuss the code in its entirety later on, though i’ll probably wait a few days to do so.</p>
<p>This is the code:</p>
<div style="font-family: consolas; background: white; color: black; font-size: 10pt">
<p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: #2b91af">TenantSessionFactoryManager</span> : <span style="color: #2b91af">ITenantSessionFactoryManager</span></p>
<p style="margin: 0px">&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">readonly</span> <span style="color: #2b91af">ITenantContext</span> tenantContext;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">readonly</span> <span style="color: #2b91af">ITenantInfoHolder</span> tenantInfoHolder;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">readonly</span> <span style="color: blue">string</span> mappingAssemblyName;</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">readonly</span> <span style="color: blue">object</span> writeLock = <span style="color: blue">new</span> <span style="color: blue">object</span>();</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: #2b91af">Guid</span>, <span style="color: #2b91af">ISessionFactory</span>&gt; sessionFactories;</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public</span> TenantSessionFactoryManager(<span style="color: #2b91af">ITenantContext</span> tenantContext, <span style="color: #2b91af">ITenantInfoHolder</span> tenantInfoHolder, <span style="color: blue">string</span> mappingAssemblyName)</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">this</span>.tenantContext = tenantContext;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">this</span>.tenantInfoHolder = tenantInfoHolder;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">this</span>.mappingAssemblyName = mappingAssemblyName;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sessionFactories = <span style="color: blue">new</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: #2b91af">Guid</span>, <span style="color: #2b91af">ISessionFactory</span>&gt;();</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: #2b91af">ISession</span> CreateSessionForCurrentTenant()</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> tenantId = tenantContext.CurrentTenantId;</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (!sessionFactories.ContainsKey(tenantId))</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; CreateSessionFactoryForCurrentTenant();</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span> sessionFactories[tenantId].OpenSession();</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">void</span> CreateSessionFactoryForCurrentTenant()</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">lock</span> (writeLock)</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> tenantId = tenantContext.CurrentTenantId;</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (!sessionFactories.ContainsKey(tenantId))</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> connectionString = tenantInfoHolder.GetDatabaseConnectionString(tenantId);</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> sessionFactory = <span style="color: blue">new</span> <span style="color: #2b91af">Configuration</span>()</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .Configure()</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .AddProperties(<span style="color: blue">new</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: blue">string</span>, <span style="color: blue">string</span>&gt;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <span style="color: #a31515">&quot;connection.connection_string&quot;</span>, connectionString },</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <span style="color: #a31515">&quot;cache.region_prefix&quot;</span>, <span style="color: #a31515">&quot;Tenant_&quot;</span> + tenantId }</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; })</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .AddAssembly(mappingAssemblyName)</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .BuildSessionFactory();</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> newDictionary = <span style="color: blue">new</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: #2b91af">Guid</span>, <span style="color: #2b91af">ISessionFactory</span>&gt;(sessionFactories);</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; newDictionary[tenantId] = sessionFactory;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sessionFactories = newDictionary;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">void</span> RemoveSessionFactoryForTenant(<span style="color: #2b91af">Guid</span> tenantId)</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (!sessionFactories.ContainsKey(tenantId))</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span>;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">lock</span> (writeLock)</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (!sessionFactories.ContainsKey(tenantId))</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span>;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> sessionFactory = sessionFactories[tenantId];</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">var</span> newDictionary = <span style="color: blue">new</span> <span style="color: #2b91af">Dictionary</span>&lt;<span style="color: #2b91af">Guid</span>, <span style="color: #2b91af">ISessionFactory</span>&gt;(sessionFactories);</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; newDictionary.Remove(tenantId);</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sessionFactories = newDictionary;</p>
<p style="margin: 0px">&#160;</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sessionFactory.Dispose();</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p style="margin: 0px">&#160;&#160;&#160; }</p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2010/02/wanna-review-my-code/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Never Underestimate Your Own Stupidity</title>
		<link>http://davybrion.com/blog/2010/01/never-underestimate-your-own-stupidity/</link>
		<comments>http://davybrion.com/blog/2010/01/never-underestimate-your-own-stupidity/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 13:21:48 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/never-underestimate-your-own-stupidity/</guid>
		<description><![CDATA[I was trying to deploy one of our applications on a customer’s environment.&#160; We have a database server on their network, and a web server.&#160; I installed the database, installed the web application and tried to run it.&#160; It didn’t.&#160; Our logfile showed this: System.InvalidOperationException: Timeout expired.&#160; The timeout period elapsed prior to obtaining a [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to deploy one of our applications on a customer’s environment.&#160; We have a database server on their network, and a web server.&#160; I installed the database, installed the web application and tried to run it.&#160; It didn’t.&#160; Our logfile showed this:</p>
<blockquote><p>System.InvalidOperationException: Timeout expired.&#160; The timeout period elapsed prior to obtaining a connection from the pool.&#160; This may have occurred because all pooled connections were in use and max pool size was reached.</p>
</blockquote>
<p>I figured i had made a mistake with the configuration of SQL Server, so i checked some settings and tried it again.&#160; Still didn’t work.&#160; Did this a couple of times but i couldn’t get it to connect to the database and i kept getting the same error.</p>
<p>Eventually i wrote a stupid winforms app with a button that would connect to a database based on a connection string in its app.config file.&#160; Copied it to the webserver, copied the connection string from the web application to the config file of the stupid winforms app and tried it.&#160; Still got the same exception.</p>
<p>I figured there might be a problem with connecting to the database from the web server, so i copied the stupid winforms app to the database server and tried it there.&#160; It still didn’t work, even though i could connect without problems using SQL Server Management Studio.</p>
<p>After a while i finally noticed that i had mistyped the name of the database server in the connection string, and once i typed the correct name, everything worked <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Total time lost: about 90 minutes.</p>
<p>Required change: adding 1 extra character to the connection string.</p>
<p>Then again, i would’ve noticed this sooner if the exception message was a bit more clear about the actual problem (not finding the server) <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2010/01/never-underestimate-your-own-stupidity/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ohloh&#8217;s Project Cost?</title>
		<link>http://davybrion.com/blog/2009/12/ohlohs-project-cost/</link>
		<comments>http://davybrion.com/blog/2009/12/ohlohs-project-cost/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:29:41 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/2009/12/ohlohs-project-cost/</guid>
		<description><![CDATA[I was looking at Ohloh’s estimated project cost for Agatha and something is… wrong: The result for ‘Code Only’ might be a somewhat representative estimate, but look at how screwed up the numbers are once markup is included.&#160; Now, i don’t know if you’ve ever looked at the Agatha codebase but there certainly aren’t over [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking at Ohloh’s estimated project cost for Agatha and something is… wrong:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/12/code_only_cost.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="code_only_cost" border="0" alt="code_only_cost" src="http://davybrion.com/blog/wp-content/uploads/2009/12/code_only_cost_thumb.png" width="244" height="200" /></a> <a href="http://davybrion.com/blog/wp-content/uploads/2009/12/markup_only.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="markup_only" border="0" alt="markup_only" src="http://davybrion.com/blog/wp-content/uploads/2009/12/markup_only_thumb.png" width="244" height="202" /></a><a href="http://davybrion.com/blog/wp-content/uploads/2009/12/code_and_markup.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="code_and_markup" border="0" alt="code_and_markup" src="http://davybrion.com/blog/wp-content/uploads/2009/12/code_and_markup_thumb.png" width="244" height="203" /></a></p>
<p>The result for ‘Code Only’ <em>might</em> be a somewhat representative estimate, but look at how screwed up the numbers are once markup is included.&#160; Now, i don’t know if you’ve ever looked at the Agatha codebase but there certainly aren’t over 66000 lines of markup to be found.&#160; There is a bit of XML here and there, mostly WCF configuration in the example solution but that still doesn’t come nowhere near 66000 lines.&#160; It doesn’t even add up to 1000 lines.</p>
<p>A similar result can be found when looking at the estimations of Rhino Tools:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_code_only.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="rt_code_only" border="0" alt="rt_code_only" src="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_code_only_thumb.png" width="244" height="199" /></a> <a href="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_markup_only.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="rt_markup_only" border="0" alt="rt_markup_only" src="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_markup_only_thumb.png" width="244" height="199" /></a> <a href="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_code_and_markup.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="rt_code_and_markup" border="0" alt="rt_code_and_markup" src="http://davybrion.com/blog/wp-content/uploads/2009/12/rt_code_and_markup_thumb.png" width="244" height="201" /></a> </p>
<p>Over 70000 lines of markup compared to 54000 lines of code? I highly doubt it.</p>
<p>Just something to keep in mind when looking at Ohloh’s estimates, i guess <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/12/ohlohs-project-cost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Padawan That Couldn&#8217;t</title>
		<link>http://davybrion.com/blog/2009/12/the-padawa-that-couldnt/</link>
		<comments>http://davybrion.com/blog/2009/12/the-padawa-that-couldnt/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 20:43:07 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=2053</guid>
		<description><![CDATA[Once upon a time in a galaxy not far enough away, there was a Jedi Knight happily going along his business. He knew the ways of the Force and used them when fit, yet knew when to use lesser means when they were good enough. He enjoyed teaching Padawans the ways of the Force and [...]]]></description>
			<content:encoded><![CDATA[<p>Once upon a time in a galaxy not far enough away, there was a Jedi Knight happily going along his business.  He knew the ways of the Force and used them when fit, yet knew when to use lesser means when they were good enough.  He enjoyed teaching Padawans the ways of the Force and on most days, tried to do so to the best of his ability.  He had always felt that he could teach it to anyone, even to those with lower midi-chlorian counts.</p>
<p>One day, the Jedi Knight was introduced to someone who wanted to be a Jedi Knight.  During the screening process, it quickly became apparent that she had a rather low midi-chlorian count.   It was doubtful that she was even fit for training, let alone actually working as a Jedi Knight.  Nevertheless, a deal was made, the details of which i&#8217;ll spare you, so she could begin an apprenticeship with the Jedi Knight.  After all, the Jedi Knight arrogantly thought &#8220;if anyone can teach her, it&#8217;s me&#8221;.   Thus began the adventure.</p>
<p>The Jedi Knight knew that he would have to start from scratch with this Padawan.  The little she knew had to be unlearned, only to be replaced with other bits of knowledge.  She was to go through a careful path of learning steps, each one of them slightly increasing in difficulty.  On the first day of her journey, she was told about the Force.  The Jedi Knight tried explaining, in a high-level, what kind of things she would need to learn, and how those techniques and skills would benefit her.  After that, she was assigned her first task.</p>
<p>Not surprisingly, there were some bumps in the road during that first task.  The Jedi Knight was used to this.  &#8220;They all have a slow first week&#8221;, he thought, thinking that the situation would gradually improve.  The Padawan asked questions, the Jedi Knight answered them and tried to explain everything as clearly as he possibly could.   Alas, some of the questions were repeated.  The Jedi Knight again tried to answer them, in some cases even showing her the way by completing parts of the task himself.  He had hoped that this would encourage the Padawan, that it would foster her willingness to learn and try harder.</p>
<p>At the same time, the Jedi Knight was responsible for the battle against a legacy system which was created with the best of intentions, but over time had been taken over by the Sith.  There was no peace, no order, no structure, only chaos, darkness, and disrespect to everything the Force is supposed to stand for.  The Jedi Knight couldn&#8217;t face this challenge on his own, and was thankful to have a few worthy Jedi&#8217;s on his side to help win the battle.  And although he had to lead them in battle, he gladly shared some of his responsibilities with his most trusted lieutenant.  And as if the battle wasn&#8217;t challenging enough, he was now also responsible for this young Padawan.  One that required a great deal of attention and help no less.</p>
<p>Frustrated by the lack of progress shown by the Padawan, he started delegating parts of her education to his most trusted lieutenant.  Just as they shared the duty of defeating their foe, they started sharing the burden of bringing this Padawan along.  Which turned out to be quite a hefty task.  After a few days, she still had problems with her first assignment.   She still kept asking the same questions, they were just phrased differently.  Sometimes, she would ask questions which indicated that she really hadn&#8217;t understood the previous answers.  His lieutenant told him about the questions she asked, and they turned out to be very similar to the ones she had already asked the Jedi Knight.  He had answered them as well as he could, yet she continued asking the same questions to the Jedi Knight.</p>
<p>At this point, the Jedi Knight sought refuge in his iPod.  It helped him seclude himself to some extent, not only so he could focus on his own assignments and thoughts, but also to encourage the Padawan to try thinking for herself a bit more before asking questions.  The Padawan didn&#8217;t quite catch up on that.  If she felt like asking a question, yet noticed that the Jedi Knight was trying to focus on his work she would come over to the desk of the Jedi Knight with an ever-impressing silence, and would knock her knuckles on his desk in rapid succession.   The sound and mere thought of which still haunts and frightens the Jedi Knight to this day.  </p>
<p>The Jedi Knight started keeping count of the questions she asked.  There was one day where she asked 17 questions, almost half of them were duplicates of previous questions.  This was no longer in the first week.  This was week four.  The Jedi Knight had all but lost hope that this Padawan would ever learn the ways of the Force.  His lieutenant started complaining that he was also losing too much time on her, and that he was getting behind on his own tasks.  So the Jedi Knight had to have a bit of a talk with the Padawan.</p>
<p>He explained to her that maybe learning the ways of the Force weren&#8217;t within her capabilities and that she might have to look into a different career path.  Much to his delight, she agreed.  She even seemed relieved in some way.  The Jedi Knight told her that she was asking too many questions, and that she was incapable of comprehending the answers, no matter how clearly they were given to her.  Again, she agreed.  He also said that she should reduce the number of questions she asked, and that she should try to finish her remaining task as well as she could without slowing down the Jedi&#8217;s.  Of course, the Jedi Knight knew that the task would most likely had to be redone later on by one of the Jedi&#8217;s. </p>
<p>The Jedi Knight felt better after the talk, but only a couple of hours later, the endless barrage of questions resumed.  The Jedi Knight was starting to look forward to his upcoming vacation in the Caribbean more and more, thinking about how he would spend his days drinking Mojito&#8217;s while relaxing on the beach, listening to George Carlin&#8217;s &#8220;Free Floating Hostility&#8221; bit and enjoying the weather.  He even started to lose his interest in the Force, and was getting seriously demotivated.  He eventually met with Master Yoda to inform him that he was no longer willing to spend time trying to mentor this Padawan.  Yoda also had a talk with the Padawan, essentially telling her the same things the Jedi Knight already told her.   A few days later, the apprenticeship was stopped, and the Padawan went her own way. </p>
<p>The Jedi Knight was still demotivated, slightly burned out even (though there were other reasons for this).  He eventually went on his vacation to the Caribbeans to regain his strength and came back ready to get back to where he belonged.  Closely aligned with the Force, yet armed with the knowledge that he certainly wasn&#8217;t capable of teaching its ways to just about anyone.  </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/12/the-padawa-that-couldnt/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How Dependent On Google Are You?</title>
		<link>http://davybrion.com/blog/2009/12/how-dependent-on-google-are-you/</link>
		<comments>http://davybrion.com/blog/2009/12/how-dependent-on-google-are-you/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 06:00:30 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1995</guid>
		<description><![CDATA[I use GMail, and i really can’t imagine going without it anymore.&#160; I also use Google Reader, and while i know there are other online RSS readers, i can’t really think of a reason to even try something else because i don’t have any issues with Google Reader.&#160;&#160; Whenever i need to search for something, [...]]]></description>
			<content:encoded><![CDATA[<p>I use GMail, and i really can’t imagine going without it anymore.&#160; I also use Google Reader, and while i know there are other online RSS readers, i can’t really think of a reason to even try something else because i don’t have any issues with Google Reader.&#160;&#160; Whenever i need to search for something, i <em>google.&#160; </em>I’ve tried Bing a couple of times but wasn’t impressed, so i’ll stick with Google’s search engine.&#160; I occasionally use Google Maps and Google Streetview.&#160; I use Google Adsense to display ads on my blog. I use Google Analytics to look at the traffic on my blog, and i use Google Feedburner to see how many people subscribe to my blog’s RSS feed.</p>
<p>I’m pretty dependent on Google as far as accessing information goes, but i’m also very dependent on Google bringing people to my site when i want to publish information:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/12/search_engine_traffic.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="search_engine_traffic" border="0" alt="search_engine_traffic" src="http://davybrion.com/blog/wp-content/uploads/2009/12/search_engine_traffic_thumb.png" width="284" height="218" /></a></p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/12/feedreaders.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="feedreaders" border="0" alt="feedreaders" src="http://davybrion.com/blog/wp-content/uploads/2009/12/feedreaders_thumb.png" width="469" height="250" /></a> </p>
<p>The first graph shows that 96.64% of people who reach my blog through a search engine do so through Google.&#160; The second graph shows that slightly over 75% of my subscribers use Google Feedfetcher (which is used by Google Reader, iGoogle, etc…)</p>
<p>If Google ever starts hating me, i’m pretty much screwed <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/12/how-dependent-on-google-are-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Biggest WHY Comment I&#8217;ve Ever Seen</title>
		<link>http://davybrion.com/blog/2009/11/the-biggest-why-comment-ive-ever-seen/</link>
		<comments>http://davybrion.com/blog/2009/11/the-biggest-why-comment-ive-ever-seen/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 08:19:10 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1961</guid>
		<description><![CDATA[One of my coworkers wrote the following WHY comment yesterday: // __&#160;&#160;&#160; &#160;&#160;&#160; &#160; ___&#160;&#160;&#160; ___&#160;&#160;&#160;&#160; __&#160;&#160;&#160; ___&#160; // \ \&#160;&#160;&#160; &#160;&#160;&#160; / / &#124;&#160; &#124; \ \&#160;&#160; / /&#160;&#160; &#124;__ \ //&#160; \ \&#160; /\&#160; / /&#124; &#124;__&#124; &#124;\ \_/ /&#160;&#160;&#160; &#160;&#160; ) &#124; //&#160;&#160; \ \/&#160; \/ / &#124;&#160; __&#160; &#124; \&#160;&#160; /&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>One of my coworkers wrote the following WHY comment yesterday:</p>
<p><code></p>
<div style="font-family: Consolas; font-size: 10pt; color: black; background: white;">
<p style="margin: 0px;"><span style="color: green;">// __&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ___&nbsp;&nbsp;&nbsp; ___&nbsp;&nbsp;&nbsp;&nbsp; __&nbsp;&nbsp;&nbsp; ___&nbsp; </span></p>
<p style="margin: 0px;"><span style="color: green;">// \ \&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; / / |&nbsp; | \ \&nbsp;&nbsp; / /&nbsp;&nbsp; |__ \ </span></p>
<p style="margin: 0px;"><span style="color: green;">//&nbsp; \ \&nbsp; /\&nbsp; / /| |__| |\ \_/ /&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ) |</span></p>
<p style="margin: 0px;"><span style="color: green;">//&nbsp;&nbsp; \ \/&nbsp; \/ / |&nbsp; __&nbsp; | \&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; / / </span></p>
<p style="margin: 0px;"><span style="color: green;">//&nbsp;&nbsp;&nbsp; \&nbsp; /\&nbsp; /&nbsp; | |&nbsp; | |&nbsp; | |&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; |_|&nbsp; </span></p>
<p style="margin: 0px;"><span style="color: green;">//&nbsp;&nbsp;&nbsp;&nbsp; \/&nbsp; \/&nbsp;&nbsp; |_|&nbsp; |_|&nbsp; |_|&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; (_)&nbsp; </span></p>
<p style="margin: 0px;"><span style="color: green;">// </span></p>
<p style="margin: 0px;"><span style="color: green;">// Because the normal ChildWindow causes a memoryleak.</span></p>
<p style="margin: 0px;"><span style="color: green;">// The memory leak was created because the ChildWindow subscribed to the RootVisual_GotFocus multiple times...</span></p>
</div>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/11/the-biggest-why-comment-ive-ever-seen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Hardware, New Software</title>
		<link>http://davybrion.com/blog/2009/11/new-hardware-new-software/</link>
		<comments>http://davybrion.com/blog/2009/11/new-hardware-new-software/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 14:52:23 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1833</guid>
		<description><![CDATA[I bought a new iMac last week (the 21.5&#8243; since the 27&#8243; is just a bit too over the top for my taste ) to replace my aging MacBook. Performance of the machine is very nice and in general it&#8217;s just a great system. The screen is fantastic as well and i&#8217;m definitely loving the [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a new iMac last week (the 21.5&#8243; since the 27&#8243; is just a bit too over the top for my taste <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) to replace my aging MacBook.  Performance of the machine is <strong>very</strong> nice and in general it&#8217;s just a great system.  The screen is fantastic as well and i&#8217;m definitely loving the resolution (1920*1080).  The new Magic Mouse is excellent, though i do miss the middle-click (which i used to use extensively to open links on sites in new tabs).</p>
<p>But the best part of it is that i also upgraded to the newly released <a href="http://www.vmware.com/products/fusion/">VMWare Fusion 3</a>.  As some of you already know, i use my Mac for all regular computer usage, and i use a virtual machine to run Windows which i only use when i&#8217;m doing .NET development at home.  I was still using a virtualized Windows XP on my MacBook because for one, i can&#8217;t stand Vista and i figured it would be way too slow to run in a virtual machine on the MacBook anyway.  But for the past 2 months or so, i&#8217;ve been using Windows 7 at work and much to my surprise, i&#8217;m actually very happy with it.  It&#8217;s still butt-ugly, but at least it runs nicely, it&#8217;s fast, it&#8217;s stable, and it hardly ever annoys me.  It&#8217;s like Windows 2000 all over again :p.  So i figured it was time to make the switch at home as well.  So now i have a virtual Windows 7 with Visual Studio 2008 running on the iMac (only when i wanna do .NET stuff obviously) and it&#8217;s running very well.  Performance is really unbelievable, considering that it&#8217;s virtualized and i only gave the VM 2GB of RAM.  I did disable Aero (i could use it, but the difference was noticeable) but i kept the typical new Windows look, if only because the classic look is even worse.</p>
<p>While writing code at home had become more of a chore than a joy because of the slowness of running a virtual Windows XP on the MacBook, it&#8217;s now really enjoyable again <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/11/new-hardware-new-software/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Wrong On So Many Levels</title>
		<link>http://davybrion.com/blog/2009/10/wrong-on-so-many-levels/</link>
		<comments>http://davybrion.com/blog/2009/10/wrong-on-so-many-levels/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 15:21:29 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1760</guid>
		<description><![CDATA[Today i actually said the following sentence in a meeting: &#8220;are you sure you can cleanly add the hardcoded identifier values in the generated database triggers?&#8221; *shrug* What could possibly go wrong?]]></description>
			<content:encoded><![CDATA[<p>Today i actually said the following sentence in a meeting:</p>
<p>&#8220;are you sure you can cleanly add the hardcoded identifier values in the generated database triggers?&#8221;</p>
<p>*shrug* What could possibly go wrong?</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/10/wrong-on-so-many-levels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>7 Years As A Professional Software Developer</title>
		<link>http://davybrion.com/blog/2009/09/7-years-as-a-professional-software-developer/</link>
		<comments>http://davybrion.com/blog/2009/09/7-years-as-a-professional-software-developer/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 18:24:26 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1689</guid>
		<description><![CDATA[It&#8217;s that time of the year again! I have now been working as a software developer for the past 7 years. I don&#8217;t know why that means something to me, but it does. Last year, i gave an overview of my short career which people seemed to find interesting, so i figured i might as [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time of the year again! I have now been working as a software developer for the past 7 years.  I don&#8217;t know why that means something to me, but it does.  Last year, i gave an <a href="http://davybrion.com/blog/2008/10/6-years-as-a-professional-software-developer/">overview of my short career</a> which people seemed to find interesting, so i figured i might as well add this to my list of &#8216;blogging traditions&#8217;.</p>
<p>So what have i done in the past year? Well, as i mentioned in last year&#8217;s <a href="http://davybrion.com/blog/2008/10/6-years-as-a-professional-software-developer/">post</a>, i finally started working at my company&#8217;s home office instead of working at client locations, and it has definitely been the best year of my career so far.  </p>
<p>When i made the switch, i thought that we (as a development company) were already pretty good, but i had some very clear changes/improvements in mind that i wanted us to achieve in the first year.  More specifically, i wanted to see big improvements in the following areas:</p>
<ul>
<li>Increase the efficiency of our automated testing practices.</li>
<li>Get people to write loosely coupled code.</li>
<li>Increase overall performance and scalability of the code we write.</li>
<li>Get people to truly care about code quality and proper software development practices</li>
</ul>
<p>My coworkers started writing automated tests way before i did.  But before i came aboard, none of our automated tests would ever substitute the implementation of a component during tests.  No mocks, no stubs, just the real thing all the time.  If we had tests for code that was somewhat dependent on data access components, then those tests would effectively be dependent on a real database.  If we had tests for code that was somewhat dependent on processing files, then those tests would effectively be dependent on real files.  </p>
<p>We had thousands and thousands of tests which took a long time to run, were rather fragile, and required a lot of maintenance effort to keep them running at all times.  These days, our tests only use the database when we are testing our queries and our NHibernate mappings.  We use mocks to substitute the data layer when we are testing our business code, and we also moved to using MVP patterns in the UI layer so we could start writing automated tests for a lot of our UI code as well.  Obviously, all of that required us to write our code in loosely coupled manner, which we now all do with Dependency Injection and using an Inversion Of Control container.   So i am pretty happy with the results of the first two goals.</p>
<p>The third goal (performance and scalability) is also coming along nicely.  The architecture that we use (and if you&#8217;ve been reading this blog for a while, you&#8217;ll probably have a pretty good view on what our architecture typically looks like), in combination with the libraries that we use, gives us plenty of possibilities to write scalable and performant code.  One of our clients made us perform extensive stress testing for one of the projects we did for them, and the results were good.  I&#8217;m pretty confident that our usage of the Request/Response WCF Service Layer plays a very large part in getting those results.  Of course, we still have performance problems every now and then, but we now do a pretty good job of proactively keeping an eye on it (in most cases), and when performance problems do show up, we can usually fix them pretty easily.  </p>
<p>So far so good, right? Then comes the final goal&#8230; getting people to truly care about code quality and proper software development practices.  I am very happy with the progress that some people have made, but i am pretty disappointed that i can count them on one hand.  Some people improved tremendously in the past year, while some only seem to care when they know their code is going to be reviewed.  I was very disappointed when i noticed that some people didn&#8217;t mind resorting to technical shortcuts or not properly testing things when nobody was watching them.  As a result, i&#8217;m now actually monitoring the commits for most of the projects that we have going and whenever i see something that doesn&#8217;t look right, i talk to the author of the particular piece of code about it.   </p>
<p>I really don&#8217;t like the fact that i feel the necessity of doing that, but i&#8217;m gonna try this approach for a month or two to see if things improve.  I hope to see more people actively reviewing other people&#8217;s changes in the upcoming months because this is a task that should always be shared instead of having only one person who does this.  I hope that in a year, we&#8217;ll have enough peer-pressure to make sure everyone keeps playing it straight.  Anyways, i&#8217;ll let you guys know about it next year <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>So all in all, it&#8217;s been a very interesting year.  I&#8217;ve worked on some cool things, i get enough variety in my work, i get to see (some) people grow continuously in their capabilities, and the amount of time i had to spend on doing things i&#8217;d rather not do was very low.  Much lower than i can imagine in any other company anyways.  Oh, and according to some of my coworkers i&#8217;m also responsible (to some extent) for an increase in our after-hours-beer-consumption as well as pizza deliveries.  It has been a good year indeed <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/09/7-years-as-a-professional-software-developer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What Are Non-Techs Blogging About?</title>
		<link>http://davybrion.com/blog/2009/09/what-are-non-techs-blogging-about/</link>
		<comments>http://davybrion.com/blog/2009/09/what-are-non-techs-blogging-about/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:28:20 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1641</guid>
		<description><![CDATA[I was just looking over my wordpress dashboard, and one of the items that is always shown there is a little box with information on popular and new plugins. Right now, it says this: The most popular wordpress plugin right now is a plugin to make it easier to put adult rated videos on your [...]]]></description>
			<content:encoded><![CDATA[<p>I was just looking over my wordpress dashboard, and one of the items that is always shown there is a little box with information on popular and new plugins.  Right now, it says this:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/09/say_whaaat.png"><img src="http://davybrion.com/blog/wp-content/uploads/2009/09/say_whaaat.png" alt="say_whaaat" title="say_whaaat" width="490" height="107" class="aligncenter size-full wp-image-1642" /></a></p>
<p>The most popular wordpress plugin right now is a plugin to make it easier to put adult rated videos on your blog? </p>
<p>I can only hope this trend will not make its way to the tech blogs <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
And no, i don&#8217;t want any links, thx! :p</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/09/what-are-non-techs-blogging-about/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Avoiding (Or Recovering From) Burnout</title>
		<link>http://davybrion.com/blog/2009/09/avoiding-or-recovering-from-burnout/</link>
		<comments>http://davybrion.com/blog/2009/09/avoiding-or-recovering-from-burnout/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 20:11:00 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1598</guid>
		<description><![CDATA[A lot of software developers that are passionate about their craft spend a lot of time on it. They spend a lot of time reading interesting blogs, reading books about development, coding on some hobby projects, or maybe even contributing to open source projects or writing interesting blog posts of their own. Hell, just trying [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of software developers that are passionate about their craft spend a lot of time on it. They spend a lot of time reading interesting blogs, reading books about development, coding on some hobby projects, or maybe even contributing to open source projects or writing interesting blog posts of their own.  Hell, just trying to stay up to date with all the new stuff that continually comes out can be one hell of a challenge in its own right.  And a lot of this effort is typically spent outside of our normal working hours.</p>
<p>There&#8217;s nothing inherently wrong with that, but it is extremely important to remember to take some time off, not just occasionally, but frequently.  Software development can be very interesting and a lot of fun, but you really need to make sure that you find some kind of a healthy balance in your life.  If you spend too much time on this, odds are pretty high that eventually you&#8217;ll start to lose your passion for it, and even worse, that you really don&#8217;t feel like spending any time on it at all anymore.</p>
<p>I reached that point somewhere at the end of May this year.  I completely lost my motivation for both my job as well as the whole blogging thing.  I didn&#8217;t really care about writing code anymore, i couldn&#8217;t be bothered to catch up with the RSS feeds that i subscribe too, and i could hardly fake interest whenever technical discussions came up.  The fact that i was going through some personal stuff certainly didn&#8217;t help either.  But the biggest reason was probably the fact that i was just trying to do too much in the months before that.  </p>
<p>And then i simply stopped caring about it.  I still tried to do my job to somewhat satisfactory levels but my heart certainly wasn&#8217;t in it anymore.  After work, i didn&#8217;t write any code, nor did i read about it anymore.  I just started doing other things.  Whatever i felt like doing basically, as long as it wasn&#8217;t related to software development.  I did write a couple of posts during this period, but none of them were actually any good.  </p>
<p>Somewhere in the middle of July, my interest in software development was slowly coming back, but it was still more of a sporadic thing instead of the passion that it used to be.  The most important thing that i learned at that time was that i simply shouldn&#8217;t force myself to spend time on something if i don&#8217;t feel like spending time on it at that time.  I occasionally spent some time writing code or doing a bit of reading, but i was alternating between the geek stuff and the normal stuff more than i used to.  </p>
<p>That turned out to be the key to my &#8216;recovery&#8217;.  And for the past couple of weeks, i&#8217;ve felt kinda reinvigorated.  I care about software development again.  I love spending time on it again and my motivation is as high as it used to be.  </p>
<p>So now you&#8217;re probably wondering why on earth i&#8217;m posting this?  For one, it feels good to get this off of my chest.   And secondly, because i&#8217;m willing to bet that there are a ton of developers who feel the same way.  Take it from someone who&#8217;s been through it: as much as you love software development, make sure that you don&#8217;t spend too much time on it.  When you feel like spending time on it, then by all means, do so.  But never, ever spend time on it outside of your working hours if you&#8217;re not really in the mood for it, or when you feel like you have to, or when you&#8217;d rather be doing something else.  You&#8217;re already spending 8 hours a day on this stuff, so you should only spend extra time on it when you really want to.  If you ignore this advice, you might end up not wanting to spend any more time on it at all, and that is a situation you really want to avoid.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/09/avoiding-or-recovering-from-burnout/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>This Is A Bit Too Much&#8230;</title>
		<link>http://davybrion.com/blog/2009/08/this-is-a-bit-too-much/</link>
		<comments>http://davybrion.com/blog/2009/08/this-is-a-bit-too-much/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 09:53:02 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>
		<category><![CDATA[Opinions]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1490</guid>
		<description><![CDATA[I just opened gmail in Internet Explorer for the first time in ages, and i see this: Then on google.com, they apparently show this sometimes when you&#8217;re using Internet Explorer: I don&#8217;t care which one is better or whether the ads are right or not&#8230; but i think the method behind showing these ads is [...]]]></description>
			<content:encoded><![CDATA[<p>I just opened gmail in Internet Explorer for the first time in ages, and i see this:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/08/google_recommends_chrome1.PNG"><img src="http://davybrion.com/blog/wp-content/uploads/2009/08/google_recommends_chrome1.PNG" alt="google_recommends_chrome1" title="google_recommends_chrome1" width="469" height="37" class="aligncenter size-full wp-image-1491" /></a></p>
<p>Then on <a href="http://google.com">google.com</a>, they apparently show this sometimes when you&#8217;re using Internet Explorer:</p>
<p><a href="http://davybrion.com/blog/wp-content/uploads/2009/08/google_recommends_chrome2.PNG"><img src="http://davybrion.com/blog/wp-content/uploads/2009/08/google_recommends_chrome2.PNG" alt="google_recommends_chrome2" title="google_recommends_chrome2" width="266" height="67" class="aligncenter size-full wp-image-1492" /></a></p>
<p>I don&#8217;t care which one is better or whether the ads are right or not&#8230; but i think the method behind showing these ads is a bit much, considering the fact how IE got its marketshare.  It doesn&#8217;t matter which company does it, it&#8217;s not right.</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/08/this-is-a-bit-too-much/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>And We&#8217;re Back</title>
		<link>http://davybrion.com/blog/2009/06/and-were-back/</link>
		<comments>http://davybrion.com/blog/2009/06/and-were-back/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 12:20:02 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1427</guid>
		<description><![CDATA[I got back from the Dominican Republic yesterday morning so i just wanted to post a short &#8216;review&#8217; of the trip. Getting there took a looong time, because our plane first stopped in Cuba where we had to wait for another hour before we flew into Punta Cana. Unfortunately, we weren&#8217;t allowed to get off [...]]]></description>
			<content:encoded><![CDATA[<p>I got back from the Dominican Republic yesterday morning so i just wanted to post a short &#8216;review&#8217; of the trip.  Getting there took a looong time, because our plane first stopped in Cuba where we had to wait for another hour before we flew into Punta Cana.  Unfortunately, we weren&#8217;t allowed to get off the plane for a short time which kinda sucks after 10 hours of flying.  The little bit of Cuba i did get to see (through the window) did look pretty nice though.  So after 13 hours we finally landed at Punta Cana&#8217;s airport and then we had to take a 2 hour bus ride to get to our <a href="http://www.iberostar.com/EN/Bayahibe-hotels/Iberostar-Hacienda-Dominicus_3_73.html">hotel</a>.</p>
<p>The hotel was great.  Big, nice rooms.  Lots of restaurants (4 plus a general buffet as well).  Great pool, including a nice bar.  Fantastic beach, also with a bar obviously.  Plenty of activities and a few shops as well.  If you really want to, you could have a pretty good time without even leaving the resort.</p>
<p>But that would be a bit of a shame because the country has so much more to offer than beautiful resorts.  I went on two excursions while i was there.  The first one was a snorkeling trip which was great.  It was basically a whole day on a boat going along the Caribbean coastline, which in itself is already a sight to behold.  Then there were 2 snorkeling sessions, one before noon, and one in the afternoon.  For lunch, we went to the <a href="http://en.wikipedia.org/wiki/Saona_Island">Saona island</a> which you may know better as the Bounty Island (used in the commercials) to have a barbecue plus some relaxing on the beach.  We also spent some time in a &#8216;natural swimming pool&#8217; which is located within the sea on a huge sandbank (which was the result of a hurricane a few years back, as i&#8217;ve been told).  It really is mindblowing to stand up in the middle of the ocean, with the water only reaching up to your waist. </p>
<p>The second excursion was a truck safari from the southern part of the island to the north side.  I&#8217;d definitely recommend doing this because the sights you see along the way are unbelievably beautiful.  And you don&#8217;t just spend the whole time in the truck either.  We stopped along a sugar cane field and tried real sugar from a sugar cane.  We also visited some people in the country side where we tried fresh coffee (from beans that had finished roasting in the sun just a few days ago), fresh cocoa (both in powder form after non-industrial processing as well as directly from the fruit), fresh Creole pine apple, coconuts, <a href="http://en.wikipedia.org/wiki/Mama_Juana">Mama Juana</a> and other things as well.  We had lunch on some ranch in the mountains (seeing large palm trees on top of high mountains is pretty cool as well) and after that we did some horseback riding.  We also visited a tiny school (with only 2 classrooms) and a big church in Higuey which is apparently pretty famous.  In the afternoon we stopped along a beach in the north side of the island (with the Atlantic ocean instead of the Carribean sea).  We definitely saw a lot of beautiful things during this excursion.  Funny side story: some British tourists that were also on the truck brought notepads and pens for the poor children we&#8217;d meet along the way.  During one of our walks, they gave them to two kids who were sitting in front of their house.  What these tourists didn&#8217;t realize was that those kids were sitting in front of a very nice house which actually had a beautiful pool in the backyard.  Good thing these poor kids now also have notepads and pens <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Combining these excursions with a lot of relaxing at the beach definitely makes for a great trip.  I&#8217;m not really a going-to-the-beach-kinda-guy but the Bahayibe beach and the Carribean Sea are just too nice to pass up on.  And the water is just incredible&#8230; it&#8217;s crystal clear, it&#8217;s very warm, and occasionally you&#8217;ll see a bunch of colorful fish swim by or even around you.</p>
<p>The one downside to the trip was that there was hardly anything to do at night where we were.  The northern side apparently has a lot more going on at night (it&#8217;s only normal with all the mass-tourism over there) but on the southern side there&#8217;s really not much to do outside of what&#8217;s going on in your resort.  I was there with my best friend so we were hoping for some interesting bars to go to at night, but we mostly stuck to the lobby bar in the resort for a lack of anything better.  You could just go to local towns and visit the bars over there but that&#8217;s not really recommended unless you&#8217;re with a reasonably-sized group to avoid trouble.  </p>
<p>But apart from that, everything was great and i&#8217;d definitely recommend it to anyone.  And after all of that, we spent another 9 hours on a plane to land in Brussels with pouring rain and pretty chilly weather *Sigh*.</p>
<p>I still have to go through a couple hundred blog posts that i missed, a shitload of email and some other stuff i have to do as well.  I&#8217;ll start posting and coding again in the next couple of days though <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/06/and-were-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Time For A Much Needed Break</title>
		<link>http://davybrion.com/blog/2009/06/time-for-a-much-needed-break/</link>
		<comments>http://davybrion.com/blog/2009/06/time-for-a-much-needed-break/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 19:55:37 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1415</guid>
		<description><![CDATA[As you have probably noticed, i haven&#8217;t been very active lately. Mostly because of some situations in my personal life lately which took up a lot of my spare time. Because of this, i haven&#8217;t been posting as much as i used to, nor did i contribute anything to NHibernate in the past couple of [...]]]></description>
			<content:encoded><![CDATA[<p>As you have probably noticed, i haven&#8217;t been very active lately.  Mostly because of some situations in my personal life lately which took up a lot of my spare time.  Because of this, i haven&#8217;t been posting as much as i used to, nor did i contribute anything to NHibernate in the past couple of weeks.  Luckily for me, i&#8217;m leaving for a trip to the Dominican Republic in a couple of days where i intend to explore the limits of the concept &#8220;relaxation&#8221;.  As much as i love software development and computers, i&#8217;m really looking forward to not even touching a computer (or any electronic device for that matter) for about 10 days <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  Who could think of computers when you&#8217;re hanging out a place that looks like this:</p>
<p><img src="http://davybrion.com/blog/wp-content/uploads/2009/06/paradise.jpg" alt="paradise" title="paradise" width="530" height="353" class="aligncenter size-full wp-image-1416" /></p>
<p>I&#8217;ll see you all in about 2 weeks <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/06/time-for-a-much-needed-break/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Registration For My NHibernate Talk Is Open</title>
		<link>http://davybrion.com/blog/2009/03/registration-for-my-nhibernate-talk-is-open/</link>
		<comments>http://davybrion.com/blog/2009/03/registration-for-my-nhibernate-talk-is-open/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 06:04:01 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1185</guid>
		<description><![CDATA[Ok, apparently you can now register for the Visug session where i will be talking about NHibernate. The session is called ORMs: Entity Framework vs NHibernate, and the Entity Framework part will be covered by Kurt Claes. The location is yet to be announced but the date is September 10, 2009. There is a maximum [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, apparently you can now register for the Visug session where i will be talking about NHibernate.</p>
<p>The session is called <a href="http://visug.be/Eventdetails/tabid/95/EventId/8/Default.aspx">ORMs: Entity Framework vs NHibernate</a>, and the Entity Framework part will be covered by <a href="http://geekswithblogs.net/claeyskurt/Default.aspx">Kurt Claes</a>.  The location is yet to be announced but the date is September 10, 2009.</p>
<p>There is a maximum of 60 attendees and 20 spots are already taken so hurry up and <a href="http://visug.be/Eventdetails/tabid/95/EventId/8/Default.aspx">register</a> <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/registration-for-my-nhibernate-talk-is-open/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Leveraging The Full Power Of The Internet&#8230; To Quit Smoking</title>
		<link>http://davybrion.com/blog/2009/03/leveraging-the-full-power-of-the-internet-to-quit-smoking/</link>
		<comments>http://davybrion.com/blog/2009/03/leveraging-the-full-power-of-the-internet-to-quit-smoking/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 12:06:38 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=1063</guid>
		<description><![CDATA[(Ok, so maybe this blog doesn&#8217;t really represent the full power of the internet (yet&#8230;), but a fraction of it will do) Yesterday, i decided that i&#8217;m quitting smoking. Yes, again. I normally keep non-software-development related things off of this blog but in this case i&#8217;m going to make an exception. I have tried to [...]]]></description>
			<content:encoded><![CDATA[<p>(Ok, so maybe this blog doesn&#8217;t really represent the full power of the internet (yet&#8230;), but a fraction of it will do)</p>
<p>Yesterday, i decided that i&#8217;m quitting smoking. Yes, again. I normally keep non-software-development related things off of this blog but in this case i&#8217;m going to make an exception.  I have tried to quit smoking many times already and while the actual quitting is (IMO) the easy part, it is the not-starting-again-after-a-few-months part that i typically have problems with.  So the idea was: let&#8217;s just post this on my blog to get some extra motivation to stay away from smoking.  How am i going to do that? Well it&#8217;s pretty simple actually.  To the first person who actually catches me smoking again: i will buy you 5 books, which you obviously get to pick, from my <a href="http://davybrion.com/blog/recommended-books/">list</a>.  And no, this is not a joke <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2009/03/leveraging-the-full-power-of-the-internet-to-quit-smoking/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>It Was A Pretty Good Year</title>
		<link>http://davybrion.com/blog/2008/12/it-was-a-pretty-good-year/</link>
		<comments>http://davybrion.com/blog/2008/12/it-was-a-pretty-good-year/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 13:47:21 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=763</guid>
		<description><![CDATA[2008 was a pretty good year for the .NET world. We&#8217;ve seen a pretty big rise in people&#8217;s interest, understanding and accepting of Object Relational Mapping, Inversion Of Control containers, writing testable code and separation of concerns. Those aren&#8217;t the only things that have improved in the .NET world this year, but i think those [...]]]></description>
			<content:encoded><![CDATA[<p>2008 was a pretty good year for the .NET world.  We&#8217;ve seen a pretty big rise in people&#8217;s interest, understanding and accepting of Object Relational Mapping, Inversion Of Control containers, writing testable code and separation of concerns.  Those aren&#8217;t the only things that have improved in the .NET world this year, but i think those are the most important improvements we&#8217;ve seen from the developer community.  </p>
<p>I&#8217;m also pretty happy with the way Microsoft is starting to open up the development of some of their projects, with ASP.NET MVC being a very nice example.  They&#8217;re not doing true open source development yet, but at least they are listening to the community more and more.  I&#8217;m especially happy with how people like <a href="http://www.hanselman.com/blog/">Scott Hanselman</a>, <a href="http://haacked.com/">Phil Haack</a>, and <a href="http://codebetter.com/blogs/glenn.block/">Glenn Block</a> not only deal with the community, but are active (and positive) participants of it.  Then again, there are definitely things that should&#8217;ve been handled better (Entity Framework, Oxite, LINQ To SQL&#8217;s future, &#8230;).  Hopefully, we&#8217;ll get to see a lot less of those kind of mistakes in 2009.  But all in all i think it&#8217;s been a rather impressive year from Microsoft&#8217;s Developer Division. </p>
<p>2008 has been pretty good for myself as well.  I escaped from working in Enterprise Hell and now get to do a lot of interesting things at work with motivated and talented co-workers.  I&#8217;ve also seen my subscriber count go from 40 to around 700 (on average) this year, which certainly provides a lot of motivation to keep going.  I also joined some great bloggers at ElegantCode.com, and joined the NHibernate developers.   Should keep me pretty busy in 2009 <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m taking a few days off from blogging, so happy newyear everyone, and i&#8217;ll see you all early January <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/12/it-was-a-pretty-good-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gotta Love A Clean Development Environment</title>
		<link>http://davybrion.com/blog/2008/12/gotta-love-a-clean-development-environment/</link>
		<comments>http://davybrion.com/blog/2008/12/gotta-love-a-clean-development-environment/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 00:34:34 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=749</guid>
		<description><![CDATA[Just installed a new development system for personal use&#8230; currently i only have the following installed: Windows XP Professional, with Service Pack 3: i don&#8217;t have Windows 2008 and i still don&#8217;t consider Vista to be a valid option SQL Server 2005 Developer Edition: i don&#8217;t have the 2008 version, plus the 2005 version more [...]]]></description>
			<content:encoded><![CDATA[<p>Just installed a new development system for personal use&#8230; currently i only have the following installed:</p>
<ul>
<li>Windows XP Professional, with Service Pack 3: i don&#8217;t have Windows 2008 and i still don&#8217;t consider Vista to be a valid option</li>
<li>SQL Server 2005 Developer Edition: i don&#8217;t have the 2008 version, plus the 2005 version more than suits my needs</li>
<li>Visual Studio 2008 with Service Pack 1: duh&#8230;.</li>
<li>Resharper 4.1: duh&#8230; won&#8217;t use Visual Studio without it</li>
<li>TortoiseSVN + VisualSVN: TortoiseSVN is great already, but the Visual Studio integration that VisualSVN provides is so nice that i can&#8217;t go back to just using TortoiseSVN.</li>
<li>NHibernate Profiler: it&#8217;s not even out of private beta and i already consider this a must-have tool&#8230; i hope Ayende is gonna go easy on the licensing cost for this <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>dotTrace: you gotta have a profiler, right?</li>
</ul>
<p>Anything else i should consider installing?  I only use this system for development so i don&#8217;t want any suggestions that aren&#8217;t related to that.</p>
<p>On a side note, despite being a Parallels customer i set this system up in VMWare Fusion.  According to some reviews i read, Fusion beats Parallels when it comes to IO, making the system feel more &#8216;snappy&#8217;.  I&#8217;ve been very impressed with the Fusion performance already so i just bought a license and am planning to use Fusion exclusively from now on instead of Parallels. </p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/12/gotta-love-a-clean-development-environment/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Favorite Operating System For Development?</title>
		<link>http://davybrion.com/blog/2008/12/favorite-operating-system-for-development/</link>
		<comments>http://davybrion.com/blog/2008/12/favorite-operating-system-for-development/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 18:42:08 +0000</pubDate>
		<dc:creator>Davy Brion</dc:creator>
				<category><![CDATA[Off Topic]]></category>

		<guid isPermaLink="false">http://davybrion.com/blog/?p=741</guid>
		<description><![CDATA[With the recent news that the cutoff date for Windows XP has been extended by a few more months, i was wondering which operating system you guys prefer for development. So i&#8217;ve added a poll to the site (it&#8217;s on the right top of the page) where you can cast your vote. I have to [...]]]></description>
			<content:encoded><![CDATA[<p>With the recent <a href="http://www.informationweek.com/news/windows/operatingsystems/showArticle.jhtml?articleID=212501654&#038;subSection=All+Stories">news</a> that the cutoff date for Windows XP has been extended by a few more months, i was wondering which operating system you guys prefer for development.  So i&#8217;ve added a poll to the site (it&#8217;s on the right top of the page) where you can cast your vote.</p>
<p>I have to admit that i still prefer Windows XP, probably because it&#8217;s the lightest one of them all at the moment, and since i run XP in a Parallels VM on a cheap Macbook, that kinda matters <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>At work, i&#8217;m using Windows Vista&#8230; not really happy with it though&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://davybrion.com/blog/2008/12/favorite-operating-system-for-development/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
