<?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>Kevin Steffer</title>
	<atom:link href="http://kevin.steffer.dk/feed/" rel="self" type="application/rss+xml" />
	<link>http://kevin.steffer.dk</link>
	<description>Outloud - web, business and opinions</description>
	<lastBuildDate>Fri, 29 Jan 2010 21:21:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Review of trackingdata in Google Analytics cookie</title>
		<link>http://kevin.steffer.dk/2010/01/forklaring-paa-sporingsdata-i-google-analytics-cookie/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=forklaring-paa-sporingsdata-i-google-analytics-cookie</link>
		<comments>http://kevin.steffer.dk/2010/01/forklaring-paa-sporingsdata-i-google-analytics-cookie/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 21:21:07 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Outloud]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[SIG-OM]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2010/01/forklaring-paa-sporingsdata-i-google-analytics-cookie/</guid>
		<description><![CDATA[Background At the first meeting of IT Forum SIG (Special Interest Group) on Online Marketing. Marlene said that she could not understand why her traffic had increased on the source / media segment labeled (direct) / (none), representing unclassified traffic - what is this traffic and why is the traffic in Marlenes case increasing. I [...]]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>
<p>At the first meeting of IT Forum SIG (Special Interest Group) on Online Marketing. Marlene said that she could not understand why her traffic had increased on the source / media segment labeled (direct) / (none), representing unclassified traffic - what is this traffic and why is the traffic in Marlenes case increasing.</p>
<p>I have started to analyze the way Google Analytics track, and analyzed the way Google Analytics (GA) manages cookies, and I believe I have found an explanation for Marlenes problem which I will highlight here.</p>
<h2>Google Analytics Cookie explanation</h2>
<p><a href="http://code.google.com/intl/en/apis/analytics/docs/concepts/gaConceptsCookies.html">http://code.google.com/intl/en/apis/analytics/docs/concepts/gaConceptsCookies.html</a></p>
<p>GA creates a number of cookies in your browser with varying expiration time.</p>
<ul>
<li>The information on unique user detection expire after 2 years (__utma). </li>
<li>The information on tracking expire until 6 months (__utmz). </li>
<li>The information about a current visit (visits) will expire after 30 minutes after the last pageview on the domain. </li>
<li>The information on &quot;Custom Tracking&quot; will expire after 2 years (_utmv). </li>
<li>The information on the &quot;Website Optimizer&quot; will expire after 2 years (__utmx). </li>
</ul>
<h2>A little more background</h2>
<p>I now have an additional information about Marlenes problem. She believes that they have been changing the cookie expiration time and set it down to a day. My guess is that Marlene configuration has modified (__utmz) the tracking cookie into a expiration time for one day. And I can explain with a test I have done.</p>
<h2>My analysis</h2>
<p>This is how my cookie looked after I've deleted my cookies and gone directly into http://blogs.co3.dk/kevinsteffer/ by entering it into the addressbar    <br />Note:</p>
<blockquote><p>utmcsr=(direct)|utmcmd=(none)      <br />Expires: 30. juli 2010 11:11:19</p>
</blockquote>
<p><a href="http://kevin.steffer.dk/wp-content/uploads/2010/01/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://kevin.steffer.dk/wp-content/uploads/2010/01/image_thumb.png" width="651" height="387" /></a> </p>
<p>I'm going to <a href="http://twitter.com/kevinsteffer/status/8163389926">http://twitter.com/kevinsteffer/status/8163389926</a> and click on my link <a href="http://bit.ly/8VZEmq">http://bit.ly/8VZEmq</a> and I just take a look at my cookie again</p>
<p><a href="http://kevin.steffer.dk/wp-content/uploads/2010/01/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://kevin.steffer.dk/wp-content/uploads/2010/01/image_thumb1.png" width="651" height="387" /></a> </p>
</p>
<p>Now it was last updated: </p>
<blockquote><p>utmcsr = twitter | utmccn = Spreading | utmcmd = social      <br />Expires: 30 July 2010 11:17:16 </p>
</blockquote>
<p>Now I close my browser and open it again and enter the address: <a href="http://blogs.co3.dk/kevinsteffer/">http://blogs.co3.dk/kevinsteffer/</a> </p>
<p>Now I am interested in what Google Analytics logs of data and not so much interested in my Cookie </p>
<p>Just for info so it can be seen here that it is not updated my cookie:</p>
<p><a href="http://kevin.steffer.dk/wp-content/uploads/2010/01/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://kevin.steffer.dk/wp-content/uploads/2010/01/image_thumb2.png" width="651" height="387" /></a> </p>
<p>Note:</p>
<blockquote><p>utmcsr = twitter | utmccn = Spreading | utmcmd = social     <br />Expires: 30 July 2010 11:17:16</p>
</blockquote>
<p>Here's what Google logs on to me:</p>
</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">utmcc__utma=231311308.1243725033.1264713079.1264713079.1264713948.2;+__utmz=231311308.1264713436.1.2.utmcsr=twitter|utmccn=spreading|utmcmd=social;</pre>
</pre>
<p>Note:</p>
<blockquote>
<p>utmcsr = twitter | utmccn = Spreading | utmcmd = social</p>
</blockquote>
<p>So actually the wrong information - I did type the address in my browser - I have not clicked on any link with tracking code.</p>
<p>However, you must keep a little eye on other parts of the logging information:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">utmcc__utma=231311308.1243725033.1264713079.1264713079.1264713948.2;</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">+__utmz=231311308.1264713436.1.2</pre>
</pre>
<p>This first line of information ends with .2 second information has .1.2 now I will see if I can get some of the information to give me a .3 by either clicking on a link on the site and create a pageview more maybe close browser and enter the address again, simply by generate a new visit.</p>
<p>By clicking on links nothing happens by logging information:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">__utma=231311308.1243725033.1264713079.1264713079.1264713948.2;+__utmz=231311308.1264713436.1.2.utmcsr=twitter|utmccn=spreading|utmcmd=social;</pre>
</pre>
<p>Now I close the browser and enter the address: <a href="http://blogs.co3.dk/kevinsteffer/">http://blogs.co3.dk/kevinsteffer/</a></p>
<p>Now I got it up to .3</p>
</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">__utma=231311308.1243725033.1264713079.1264713948.1264714521.3;+__utmz=231311308.1264713436.1.2.utmcsr=twitter|utmccn=spreading|utmcmd=social;</pre>
</pre>
<p>It does count something in one way or another, however, there is an information that does not change. The point here is that it counts the visit, but for same unique user.</p>
<h2>Conclusion</h2>
<p>Now I run a test where I have deleted my cookies and then gone into my blog with tracking code:</p>
<p><a href="http://blogs.co3.dk/kevinsteffer/#utm_source=cookietest&amp;utm_medium=direkte&amp;utm_campaign=sig">http://blogs.co3.dk/kevinsteffer/#utm_source=cookietest&amp;utm_medium=direkte&amp;utm_campaign=sig</a></p>
<p>I closed my browser opened it again and went to my blog http://blogs.co3.dk/kevinsteffer/ without a tracking code 5 times and have now generated a total of 6 visits.</p>
<p><a href="http://kevin.steffer.dk/wp-content/uploads/2010/01/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://kevin.steffer.dk/wp-content/uploads/2010/01/image_thumb3.png" width="651" height="135" /></a> </p>
<p>As can be seen here in GA I have with a single click on a link with tracking information and with 5 times of directly typing the address into the addressbar generated 6 visits all with the tracking information for my very first visit since my cookie was made at my first visit (or a new because the old cookie had expired).</p>
<h2>What does it tell us then?</h2>
<p>It shows that I can generate 6 visits with the same cookie information even though I actually typed th address into the adressbar 5 times.</p>
<p>I do not really know what to think about it, my first thought is that this is confusing.In my previous view of thought I have seen the above figures as 1 user has clicked onto my site via the link with the tracking “cookietest / direkte&quot; 6 times, but it is not the case, the user has just done it at least 1 time and has the within last 6 months not clicked on any other link which gives him a new tracking cookie.</p>
<p>We could calculate how many users there are behind these 6 visits of the cookie information &quot;cookietest / direkte&quot;, but I can not infer anything based on my test data. So I will just test and write about it some other time.</p>
<p>In Marlenes case where they have set the cookie lifetime down to one day, in GA this will result in having a lot of old users who have lost their tracking cookie and then via bookmarks or typing in addressbar no longer count in their initial tracking information, but now just as ( direct) / (none) traffic.</p>
<p>Am I totally wrong on this or what do you think, or should I call myself Cookie Nerd in the future?</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2010%2F01%2Fforklaring-paa-sporingsdata-i-google-analytics-cookie%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2010%2F01%2Fforklaring-paa-sporingsdata-i-google-analytics-cookie%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2010/01/forklaring-paa-sporingsdata-i-google-analytics-cookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Acquia Drupal via Microsoft Web Platform Installer</title>
		<link>http://kevin.steffer.dk/2010/01/install-acquia-drupal-via-microsoft-web-platform-installer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-acquia-drupal-via-microsoft-web-platform-installer</link>
		<comments>http://kevin.steffer.dk/2010/01/install-acquia-drupal-via-microsoft-web-platform-installer/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 20:13:01 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Outloud]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2010/01/install-acquia-drupal-via-microsoft-web-platform-installer/</guid>
		<description><![CDATA[I selected Acquia Drupal in the Platform Installer and just leaned back and woops And I tried to launch the site BLAHHHH 500 Internal Server Error I’m on Windows 7 Profressional with IIS 7.5 and Microsoft Web Platform Installer 2.0 Error: PHP FastCGI can’t find php executable Now what? After looking at the settings for [...]]]></description>
			<content:encoded><![CDATA[<p>I selected Acquia Drupal in the Platform Installer and just leaned back and woops</p>
<p><a href="http://kevin.steffer.dk/wp-content/uploads/2010/01/webplatform_installer_drupal.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="webplatform_installer_drupal" border="0" alt="webplatform_installer_drupal" src="http://kevin.steffer.dk/wp-content/uploads/2010/01/webplatform_installer_drupal_thumb.png" width="644" height="443" /></a> </p>
<p>And I tried to launch the site BLAHHHH 500 Internal Server Error</p>
<p>I’m on Windows 7 Profressional with IIS 7.5 and <a href="http://www.microsoft.dk" target="_blank">Microsoft</a> Web Platform Installer 2.0</p>
<h2>Error: PHP FastCGI can’t find php executable</h2>
<p>Now what?</p>
<p>After looking at the settings for FastCGI in IIS7 i found out that php-cgi.exe wasn’t installed in folder C:\Program Files\PHP\ where settings pointed it to be! </p>
<h2>Solution</h2>
<p>I Downloaded PHP 5.2.12 (the version available via the Platform Installer) <a href="http://windows.php.net/downloads/releases/php-5.2.12-nts-Win32-VC6-x86.msi">Installer</a> version and within installation I could <strong>Change</strong> my PHP installation and simply added everything (all extensions, manual etc.), now you’ve got the php-cgi.exe in C:\Program Files\PHP\php-cgi.exe <img src='http://kevin.steffer.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I must admit installing ALL extension lead me to having all the extension enabled in php.ini. And I got errors when trying to run php.exe and disabled the extensions it said it was missing dlls for (e.g. OCI.dll, aspell-1.5.dll libcs.dll and more) just disable the extensions at the bottom of the php.ini file.</p>
<p>And know you’re ready to go finish you install with configure your site: <a href="http://localhost/acquia-drupal/install.php">http://localhost/acquia-drupal/install.php</a>&#160;</p>
<p>Happy <a href="http://twitter.com/#search?q=%23drupalling" target="_blank">Drupalling</a>!</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2010%2F01%2Finstall-acquia-drupal-via-microsoft-web-platform-installer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2010%2F01%2Finstall-acquia-drupal-via-microsoft-web-platform-installer%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2010/01/install-acquia-drupal-via-microsoft-web-platform-installer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linq, Dataset, Recordset performance result</title>
		<link>http://kevin.steffer.dk/2009/12/linq-dataset-recordset-performance-result/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linq-dataset-recordset-performance-result</link>
		<comments>http://kevin.steffer.dk/2009/12/linq-dataset-recordset-performance-result/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 21:42:17 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Dataset]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Recordset]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2009/12/linq-dataset-recordset-performance-resultat/</guid>
		<description><![CDATA[I’ve for a while now been wondering why I often run into bad performance when using LINQ to access my SQL Server database. So I decided to hunt down the beast and see if I come up with something. In this first test I haven’t found the beast but I still found some interesting results [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve for a while now been wondering why I often run into bad performance when using LINQ to access my SQL Server database. So I decided to hunt down the beast and see if I come up with something.</p>
<p>In this first test I haven’t found the beast but I still found some interesting results that I want to share. The result confirms my experience of not using a Dataset to hold data, simply because in most cases it’ll be to time consuming an approach using the SqlDataAdapter Fill method to load a Dataset and here you can see why.</p>
<p><img src="http://spreadsheets.google.com/a/pro.co3.dk/oimg?key=0An3C8tmqCWSHdGVPRUdCWVFDZzB1V3ByUmlEVWpvLUE&amp;oid=1&amp;v=1261860309379" width="300" />&#160; <img src="http://spreadsheets.google.com/a/pro.co3.dk/oimg?key=0An3C8tmqCWSHdGVPRUdCWVFDZzB1V3ByUmlEVWpvLUE&amp;oid=2&amp;v=1261860545958" width="300" /> </p>
<p><img src="http://spreadsheets.google.com/a/pro.co3.dk/oimg?key=0An3C8tmqCWSHdGVPRUdCWVFDZzB1V3ByUmlEVWpvLUE&amp;oid=3&amp;v=1261860593529" width="300" />&#160; <img src="http://spreadsheets.google.com/a/pro.co3.dk/oimg?key=0An3C8tmqCWSHdGVPRUdCWVFDZzB1V3ByUmlEVWpvLUE&amp;oid=4&amp;v=1261860624910" width="300" /></p>
<p>My test is simply to read out 1,000, 10,000 and 100,000 rows from a simple table and then measure how long it takes to the data out in the three different ways: With <a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx" target="_blank">LINQ</a>, as a <a href="http://msdn.microsoft.com/en-us/library/system.data.dataset(VS.71).aspx" target="_blank">Dataset</a> and as a Recordset from the SQL Server.</p>
<h2>Conclusion</h2>
<p><strong>The Recordset is twice as fast for small database executions</strong></p>
<p>When working with small amount LINQ isn’t as fast as the Recordset, but in my case it’s now noticeable in a single execution. But when you have to run a lot of small jobs against the database you should keep in mind that the Recordset will do the job twice as fast.</p>
<p><strong>Dataset should be used where many of the same data and used in variety.</strong></p>
<p>When you have to count the number of rows fetched, pray to that you didn’t use the Dataset method. What tares the method down is that it has to load all data with all the properties into the Dataset, just so you can call the Count property on the Rows inside a table on the Dataset object. It just takes way too long time.</p>
<p><strong>With 10,000 rows both LINQ and Recordset is twice as fast as the Dataset</strong></p>
<p>When I increase the rows in the table with factor of 10 to 10,000 rows that test times are rising, which is fair enough because the database sends 10 times more data, but the times are somehow surprising me anyway. The LINQ method rises with a factor 4.5, the Dataset method with a factor of 10 and the Recordset method climes with a factor of 6.5.</p>
<p><strong>With 100,000 rows LINQ begins to catch up with the Recordset</strong></p>
<p>When I further increase the rows in the table with a factor 10 to 100,000 rows I would expect about the same factors, but now they rises even further. The LINQ method rises with a factor 8.7, the Dataset with a factor 9 and the Recordset with a factor 9.5.</p>
<p><a href="http://bit.ly/5JCsPq" target="_blank">Download the Visual Studio 2008 Project</a></p>
<h2>Test system</h2>
<p>Hardware: Laptop HP Elitebook, 3GB RAM, 2,53GHz Intel Core Duo, 32bit    <br />Software: Windows 7 32bit, SQL Server Express 2009, Visual Studio 2008 Professional Developer Web Server</p>
<h2>Test scenario</h2>
<p>I have separated my test into 4 scenarios and each scenario is run 10 times with the same method to get an average value of the time consumption for my conclusion.</p>
<p><strong>LINQ measure method</strong></p>
<pre class="code"><span style="color: blue">private void </span>DoLinqTest()
{
    <span style="color: #2b91af">DateTime </span>dtLinqStart = <span style="color: #2b91af">DateTime</span>.Now;
    <span style="color: blue">using </span>( DB.<span style="color: #2b91af">dbDataContext </span>db = <span style="color: blue">new </span>DB.<span style="color: #2b91af">dbDataContext</span>() )
    {
        <span style="color: green">// Execution code
</span>    }
    <span style="color: #2b91af">DateTime </span>dtLinqEnd = <span style="color: #2b91af">DateTime</span>.Now;
    lblLinqTime.Text = ( dtLinqEnd - dtLinqStart ).ToString();
}</pre>
<p><strong>Dataset measure method</strong></p>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<pre class="code"><span style="color: blue">private void </span>DoDataSetTest()
{
    <span style="color: #2b91af">DateTime </span>dtDsStart = <span style="color: #2b91af">DateTime</span>.Now;
    <span style="color: blue">using </span>( <span style="color: #2b91af">SqlConnection </span>dbCon = <span style="color: blue">new </span><span style="color: #2b91af">SqlConnection</span>( <span style="color: #2b91af">ConfigurationManager</span>.ConnectionStrings[ <span style="color: #a31515">&quot;dbConnectionString&quot; </span>].ConnectionString ) )
    {
        <span style="color: blue">using </span>( <span style="color: #2b91af">SqlDataAdapter </span>sqlAdap = <span style="color: blue">new </span><span style="color: #2b91af">SqlDataAdapter</span>( <span style="color: #a31515">&quot;SELECT * FROM item&quot;</span>, dbCon ) )
        {
            <span style="color: #2b91af">DataSet </span>ds = <span style="color: blue">new </span><span style="color: #2b91af">DataSet</span>();
            sqlAdap.Fill( ds );

            <span style="color: green">// Executing code
</span>        }
    }
    <span style="color: #2b91af">DateTime </span>dtDsEnd = <span style="color: #2b91af">DateTime</span>.Now;
    lblDsTime.Text = ( dtDsEnd - dtDsStart ).ToString();
}</pre>
<p><strong>Recordset measure method</strong></p>
<pre class="code"><span style="color: blue">private void </span>DoRecordSetTest()
{
    <span style="color: #2b91af">DateTime </span>dtRsStart = <span style="color: #2b91af">DateTime</span>.Now;
    <span style="color: blue">using </span>( <span style="color: #2b91af">SqlConnection </span>dbCon = <span style="color: blue">new </span><span style="color: #2b91af">SqlConnection</span>( <span style="color: #2b91af">ConfigurationManager</span>.ConnectionStrings[ <span style="color: #a31515">&quot;dbConnectionString&quot; </span>].ConnectionString ) )
    {
        dbCon.Open();
        <span style="color: blue">using </span>( <span style="color: #2b91af">SqlCommand </span>sqlCmd = <span style="color: blue">new </span><span style="color: #2b91af">SqlCommand</span>( <span style="color: #a31515">&quot;SELECT * FROM item&quot;</span>, dbCon ) )
        {
            <span style="color: blue">using </span>( <span style="color: #2b91af">SqlDataReader </span>rs = sqlCmd.ExecuteReader() )
            {
                <span style="color: green">// Executing code
</span>            }
        }
    }

    <span style="color: #2b91af">DateTime </span>dtRsEnd = <span style="color: #2b91af">DateTime</span>.Now;
    lblRsTime.Text = ( dtRsEnd - dtRsStart ).ToString();
}</pre>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<h2>1. Scenario</h2>
<p>A test which seen in <em>Testresult Sheet: <strong>1000 List</strong></em> to get out a 1000 database rows as objects of type:</p>
<pre class="code"><span style="color: blue">public class </span><span style="color: #2b91af">item
</span>{
    <span style="color: blue">public int </span>Id { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }
    <span style="color: blue">public string </span>Name { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }
    <span style="color: blue">public string </span>Description { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }
    <span style="color: blue">public </span><span style="color: #2b91af">DateTime </span>Date { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }

    <span style="color: blue">public </span>item()
    {
    }

}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><strong>Executing LINQ code:</strong></p>
<pre class="code"><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">item</span>&gt; objItems = ( <span style="color: blue">from </span>itm <span style="color: blue">in </span>db.items
                        <span style="color: blue">select new </span><span style="color: #2b91af">item
                        </span>{
                          Id = itm.id,
                          Name = itm.name,
                          Description = itm.description,
                          Date = itm.date.Value
                        } ).ToList();</pre>
</p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><strong>Executing Dataset code:</strong></p>
<pre class="code"><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">item</span>&gt; items = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">item</span>&gt;();
<span style="color: #2b91af">DataRow</span>[] drs = ds.Tables[ 0 ].Select();
<span style="color: blue">for </span>( <span style="color: blue">int </span>i = 0; i &lt; drs.Length; i++ )
{
    <span style="color: blue">object</span>[] dbFields = drs[ i ].ItemArray;
    <span style="color: #2b91af">item </span>itm = <span style="color: blue">new </span><span style="color: #2b91af">item</span>();
    itm.Id = ( <span style="color: blue">int </span>)dbFields[ 0 ];
    itm.Name = dbFields[ 1 ].ToString();
    itm.Description = dbFields[ 2 ].ToString();
    itm.Date = ( <span style="color: #2b91af">DateTime </span>)dbFields[ 3 ];
    items.Add( itm );
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><strong>Executing Recordset code:</strong></p>
<pre class="code"><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">item</span>&gt; items = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">item</span>&gt;();
<span style="color: blue">while </span>( rs.Read() )
{
  <span style="color: #2b91af">item </span>itm = <span style="color: blue">new </span><span style="color: #2b91af">item</span>();
  itm.Id = rs.GetInt32( 0 );
  itm.Name = rs.GetString( 1 );
  itm.Description = rs.GetString( 2 );
  itm.Date = rs.GetDateTime( 3 );
  items.Add( itm );
}</pre>
<h2>2. Scenario</h2>
<p>A test as seen in <em>Testresult sheet: <strong>1000 Count</strong></em> to get out the amount of rows fetched on a database table with a 1,000 rows.</p>
<p><strong>Executing LINQ code:</strong></p>
<pre class="code"><span style="color: blue">int </span>count = ( <span style="color: blue">from </span>itm <span style="color: blue">in </span>db.items
              <span style="color: blue">select new </span><span style="color: #2b91af">item
              </span>{
                Id = itm.id,
                Name = itm.name,
                Description = itm.description,
                Date = itm.date.Value
              } ).Count();</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p><strong>Executing Dataset code:</strong></p>
<pre class="code"><span style="color: blue">int </span>count = ds.Tables[ 0 ].Rows.Count;</pre>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<p><strong>Executing Recordset code:</strong></p>
<pre class="code"><span style="color: blue">int </span>count = 0;
<span style="color: blue">while </span>( rs.Read() )
{
    count++;
}</pre>
<h2>3. Scenario</h2>
<p>A test as seen in <em>Testresult sheet: <strong>10000 List</strong></em> with the same <em>Executing code</em> like the 1. Scenario, but this time with having 10,000 database rows to get out.</p>
<h2>4. Scenario</h2>
<p>A test as seen in <em>Testresult sheet: <strong>100000 List</strong></em> with the same <em>Executing code</em> like the 1. Scenario, but this time with having 100,000 database rows to get out.</p>
<p><a href="http://11011.net/software/vspaste"></a><a href="http://11011.net/software/vspaste"></a></p>
<h2>Testresult</h2>
<p><iframe height="350" src="http://spreadsheets.google.com/pub?key=teOEGBYQCg0uWprRiDUjo-A&amp;output=html&amp;widget=true" frameborder="0" width="400"></iframe></p>
<p><a href="http://bit.ly/5JCsPq" target="_blank">Download the Visual Studio 2008 Project</a></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F12%2Flinq-dataset-recordset-performance-result%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F12%2Flinq-dataset-recordset-performance-result%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/12/linq-dataset-recordset-performance-result/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add Reference Dialog Improvements (VS 2010 and .NET 4.0 Series) &#8211; ScottGu&#8217;s Blog</title>
		<link>http://kevin.steffer.dk/2009/10/add-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=add-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog</link>
		<comments>http://kevin.steffer.dk/2009/10/add-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:21:46 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2009/10/add-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog/</guid>
		<description><![CDATA[YES! With VS 2010 the Add Reference dialog starts on the Projects tab instead of the .NET tabs which always has taken a considerable amount of time to load, very annoying when you want to browse the filesystem for a dll file to reference. Great improvement Scott! Add Reference Dialog Improvements (VS 2010 and .NET [...]]]></description>
			<content:encoded><![CDATA[<p>YES! With VS 2010 the Add Reference dialog starts on the Projects tab instead of the .NET tabs which always has taken a considerable amount of time to load, very annoying when you want to browse the filesystem for a dll file to reference.</p>
<p>Great improvement Scott!</p>
<p><a href="http://weblogs.asp.net/scottgu/archive/2009/10/29/add-reference-dialog-improvements-vs-2010-and-net-4-0-series.aspx">Add Reference Dialog Improvements (VS 2010 and .NET 4.0 Series) - ScottGu's Blog</a>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F10%2Fadd-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F10%2Fadd-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/10/add-reference-dialog-improvements-vs-2010-and-net-4-0-series-scottgus-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Practice Visual Studio with SVN, VCS and SCM</title>
		<link>http://kevin.steffer.dk/2009/10/best-practice-visual-studio-with-svn-vcs-and-scm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-practice-visual-studio-with-svn-vcs-and-scm</link>
		<comments>http://kevin.steffer.dk/2009/10/best-practice-visual-studio-with-svn-vcs-and-scm/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 18:21:05 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[VCS]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2009/10/best-practice-visual-studio-with-svn-vcs-and-scm/</guid>
		<description><![CDATA[In my research on what others have of opinions and experience with subversion (SVN) or source control management (SCM) I have collected some good links of various kind – slide shows, red book and just experiences or ideas. My focus on my research was dealing with Web development and specially ASP.NET development with Visual Studio [...]]]></description>
			<content:encoded><![CDATA[<p>In my research on what others have of opinions and experience with subversion (SVN) or source control management (SCM) I have collected some good links of various kind – slide shows, red book and just experiences or ideas.</p>
<p>My focus on my research was dealing with Web development and specially ASP.NET development with Visual Studio along with third party CMS software.</p>
<p>The major pain is Visual Studio, when you open up your solution and don’t touch anything your “Solution.suo” file gets modified and with SVN you have a modified state of your project folder and you need to take action either commit the change or revert the file.</p>
<p>My conclusion on ASP.NET development with Visual Studio is</p>
<p>Add the following to your ignore list:</p>
<ul>
<li>Solution\Project\bin </li>
<li>Solution\Project\obj </li>
<li>Solution\Solution.suo (hidden file) </li>
</ul>
<p>Have your repository layout like this:</p>
<ul>
<li>Project
<ul>
<li>branches </li>
<li>tags </li>
<li>trunk </li>
</ul>
</li>
</ul>
<p>Use the trunk for your “main-line”-development. With “main-line” I think of primary development that always stable and never has checked-in code that doesn’t build.</p>
<p>Use your branches for creating testing, experiments and development of larger features that should not break the trunk, but needs to be committed often for backup and history of file changes. Keep your branch in sync with the trunk, remember to regularly merge changes from trunk into your branch, this prevents you from “drifting” to far away from the trunk and that makes it much easier to merge your branch back into the trunk when time comes for that.</p>
<p>Use your tags for creating snapshots of your trunk or branch that goes into releases and is thought of as test solutions or the LIVE beasts that hits the production servers.</p>
<p>If you have questions, suggestions I’d very much like to hear from you and your experience with the subject – thanks in advance.</p>
<h3>Subversion Best Practices Links</h3>
<p><a href="http://www.slideshare.net/mza/subversion-best-practices">http://www.slideshare.net/mza/subversion-best-practices</a>    <br /><a href="http://electricjellyfish.net/garrett/talks/oscon2004/svn-best-practices/">http://electricjellyfish.net/garrett/talks/oscon2004/svn-best-practices/</a>    <br /><a href="http://svn.collab.net/repos/svn/trunk/doc/user/svn-best-practices.html">http://svn.collab.net/repos/svn/trunk/doc/user/svn-best-practices.html</a>    <br /><a href="http://www.red-bean.com/fitz/presentations/2006-06-28-AC-EU-Subversion-best-practices.pdf">http://www.red-bean.com/fitz/presentations/2006-06-28-AC-EU-Subversion-best-practices.pdf</a>    <br /><a href="http://devnulled.com/content/2006/10/guide-and-best-practices-for-subversion-branching/">http://devnulled.com/content/2006/10/guide-and-best-practices-for-subversion-branching/</a>    <br /><a href="http://nedbatchelder.com/text/quicksvnbranch.html">http://nedbatchelder.com/text/quicksvnbranch.html</a>    <br /><a href="http://daptivate.com/archive/2008/08/28/subversion-best-practices-for-web-applications.aspx">http://daptivate.com/archive/2008/08/28/subversion-best-practices-for-web-applications.aspx</a></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F10%2Fbest-practice-visual-studio-with-svn-vcs-and-scm%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F10%2Fbest-practice-visual-studio-with-svn-vcs-and-scm%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/10/best-practice-visual-studio-with-svn-vcs-and-scm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Wave for 100.000 new beta guys</title>
		<link>http://kevin.steffer.dk/2009/09/google-wave-for-100-000-new-beta-guys/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-wave-for-100-000-new-beta-guys</link>
		<comments>http://kevin.steffer.dk/2009/09/google-wave-for-100-000-new-beta-guys/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 19:54:55 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google wave]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2009/09/google-wave-for-100-000-new-beta-guys/</guid>
		<description><![CDATA[It’s tomorrow Google will give out Google Wave beta accounts for 100.000 beta testers. If you don’t know what Google Wave is have a look at this 1h20m long introduction: If you want to request access to a Google Wave account go to https://services.google.com/fb/forms/wavesignup/ I have been playing around with G’Wave for a month now [...]]]></description>
			<content:encoded><![CDATA[<p>It’s tomorrow <a href="http://www.google.com" target="_blank">Google</a> will give out <a href="http://wave.google.com/" target="_blank">Google Wave</a> beta accounts for 100.000 beta testers. </p>
<p>If you don’t know what Google Wave is have a look at this 1h20m long introduction:</p>
<p> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/v_UyVmITiYQ&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>
<p>If you want to request access to a Google Wave account go to <a href="https://services.google.com/fb/forms/wavesignup/">https://services.google.com/fb/forms/wavesignup/</a></p>
<p>I have been playing around with G’Wave for a month now and I think the concept contributes to my mind with the unlimited ideas of how to integrate a G’Wave in other content types, say *nix terminal, irc, webpages, blogs. In its core it is nothing but a stream of messages in a timeline, like the one seen in log-files.</p>
<p>There are people saying that Google Wave could be the e-mail killer app – I’d love to see that, but doubt I’ll experience it in my life when thinking of all the fax machines stil alive out there!</p>
<p>~~~~~~~~~~~~~~~~~Happy G’waving~~~~~~~~~~~~~~~~~~~</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fgoogle-wave-for-100-000-new-beta-guys%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fgoogle-wave-for-100-000-new-beta-guys%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/09/google-wave-for-100-000-new-beta-guys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woopra about to go out of beta</title>
		<link>http://kevin.steffer.dk/2009/09/woopra-about-to-go-out-of-beta/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=woopra-about-to-go-out-of-beta</link>
		<comments>http://kevin.steffer.dk/2009/09/woopra-about-to-go-out-of-beta/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 19:10:02 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[woopra]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2009/09/woopra-about-to-go-out-of-beta/</guid>
		<description><![CDATA[I got a Woopra mail the other day telling that Woopra is on its way out of the beta period. If you haven’t had the chance or overlooked the cool webstatistic interactive application Woopra I think you try giving it a chance. I personally am very curious if it can be kept free of charge. [...]]]></description>
			<content:encoded><![CDATA[<p>I got a Woopra mail the other day telling that Woopra is on its way out of the beta period. If you haven’t had the chance or overlooked the cool webstatistic interactive application Woopra I think you try giving it a chance. </p>
<p>I personally am very curious if it can be kept free of charge.</p>
<p> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="288" id="viddler"><param name="movie" value="http://www.viddler.com/player/18918fdd/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/18918fdd/" width="437" height="288" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler"></embed></object>
<p>&#160;</p>
<p><a href="http://www.woopra.com/download/" target="_blank">Download Woopra</a></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fwoopra-about-to-go-out-of-beta%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fwoopra-about-to-go-out-of-beta%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/09/woopra-about-to-go-out-of-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m back :)</title>
		<link>http://kevin.steffer.dk/2009/09/hello-world/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hello-world</link>
		<comments>http://kevin.steffer.dk/2009/09/hello-world/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 22:08:28 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Outloud]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/?p=1</guid>
		<description><![CDATA[After been blogging in danish for over a year I have been keeping this blog in sleeping mode. But know I'll be focusing on some subjects I have wanted to write about that are more secondary to my work at Co3 A/S (www.co3.dk)]]></description>
			<content:encoded><![CDATA[<p>After been blogging in danish for over a year I have been keeping this blog in sleeping mode.</p>
<p>But know I'll be focusing on some subjects I have wanted to write about that are more secondary to my work at Co3 A/S (<a href="http://www.co3.dk">www.co3.dk</a>)
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fhello-world%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2009%2F09%2Fhello-world%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2009/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Something fundamentally wrong with the Visual Studio IDE</title>
		<link>http://kevin.steffer.dk/2007/10/something-fundamentally-wrong-with-the-visual-studio-ide/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=something-fundamentally-wrong-with-the-visual-studio-ide</link>
		<comments>http://kevin.steffer.dk/2007/10/something-fundamentally-wrong-with-the-visual-studio-ide/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 18:13:29 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2007/10/07/something-fundamentally-wrong-with-the-visual-studio-ide/</guid>
		<description><![CDATA[As I start this posting I'm a little upset 'cause I've been working around more and more with a Java IDE "Netbeans" version 5.5.1. What I really love in Netbeans is that it can compile code with multiple version of the JDK (Java Development Kit) the equivalent of the Microsoft .NET Framework for their Visual [...]]]></description>
			<content:encoded><![CDATA[<p>As I start this posting I'm a little upset 'cause I've been working around more and more with a Java IDE "Netbeans" version 5.5.1. What I really love in Netbeans is that it can compile code with multiple version of the JDK (Java Development Kit) the equivalent of the Microsoft .NET Framework for their Visual Studio IDE.<br />
That means if I want to write my Java application for the newest "framework/developer kit" I can switch platform inside Netbeans load my code and compile - discover what's  has become deprecated - update these things, maybe add or update my methods with new possibilities. The other way around, more often used in my cases is target a framework that is older for compatibility issues.</p>
<p>What upsets me most is that: OK Microsoft I now you're a commercial institute but what aren't you just pushing it too far with the fact that we developers have to buy an new IDE license to be able to target a new version of a framework. Even more silly is that VS.NET 2005 can't compile to .NET 1.x though the frameworks can be installed separately and be used very seperately.</p>
<p>In my opinion there must be something fundamentally wrong with the Visual Studio IDE since it's framework dependent. I really feel that Microsoft is laughing their asses off saying ... "Hey dude, what to build .NET 2.0 apps" then you have to BUY VS.NET 2005" and even after that "Hey pal, Linq is cool right haha, how 'bout BUYING VS.NET 2008/Orcas".</p>
<p>Why not use a different IDE?</p>
<p>SharpDevelop announces that they have Multi-Framework Support - well it's somehow not the language or the framework itself that a barrier for making it possible - maybe it's a question about earning money .... damn again!
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2007%2F10%2Fsomething-fundamentally-wrong-with-the-visual-studio-ide%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2007%2F10%2Fsomething-fundamentally-wrong-with-the-visual-studio-ide%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2007/10/something-fundamentally-wrong-with-the-visual-studio-ide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Apps &#8211; whats in it?</title>
		<link>http://kevin.steffer.dk/2007/03/google-apps-whats-in-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-apps-whats-in-it</link>
		<comments>http://kevin.steffer.dk/2007/03/google-apps-whats-in-it/#comments</comments>
		<pubDate>Sun, 18 Mar 2007 18:28:47 +0000</pubDate>
		<dc:creator>Kevin Steffer</dc:creator>
				<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://kevin.steffer.dk/2007/03/18/google-apps-whats-in-it/</guid>
		<description><![CDATA[I have test driven Google Apps on my own domain.&#160;My overall experience is that it is very powerful in sharing and collaboration. It is also without a domain hosted&#160;for Google Apps. But it somehow makes more sense in a logically way that information for the people you collaborate with are secured inside the domain when [...]]]></description>
			<content:encoded><![CDATA[<p>I have test driven Google Apps on my own domain.&nbsp;My overall experience is that it is very powerful in sharing and collaboration. It is also without a domain hosted&nbsp;for Google Apps. But it somehow makes more sense in a logically way that information for the people you collaborate with are secured inside the domain when you share by default. And even typing in contacts to share with have some sort of intellisense, suggestion-like pop-ups. So when I start typing the first name of the person it displays me the full e-mail address of the person matching my typed letters.</p>
<p>One great benefit of domain-enabling Google Apps is Contacts sharing. So you can build up your contacts environment automatically. </p>
<p>A&nbsp;big concern has been is Google really thight about the information that I store in my Google Apps?<br />As all my information is indexed and made searchable with the Google engine they could over time learn alot about my contacts and the information that I create and share in Google Apps. But I have read the Privacy Policy and it doesn't really scare me, but as Google is one major information collector, well I still have me concerns, but I hope over time Google proves I don't have to be <img src='http://kevin.steffer.dk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>GMail to Go. (<a href="http://gmail.com/app">http://gmail.com/app</a>)<br />Well you can access your GMail on your smartphone, mobile web browser, which I think is very helpful. If you want a file available on my mobile I just mail it to my GMail account and access it from there, without having to store all files and keeping them in sync on my Smartphone.</p>
<p>The personalized Google startpage is also very neat. As it provides all domain users with a E-mail-, Calendar- and Docs-view in the first column, and the other 2 columns can be used as normal with your own gadgets and rss feeds. This is a great way to keep track of new stuff that is shared and sent to you.</p>
<p>You should really try it out yourself.</p>
<p>Visit: <a href="http://www.google.com/apps">www.google.com/apps</a></p>
<p>-Kevin</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkevin.steffer.dk%2F2007%2F03%2Fgoogle-apps-whats-in-it%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkevin.steffer.dk%2F2007%2F03%2Fgoogle-apps-whats-in-it%2F&amp;source=kevinsteffer&amp;style=normal&amp;service=bit.ly&amp;service_api=R_a68ee040fbef039ca14333f453aeb662&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://kevin.steffer.dk/2007/03/google-apps-whats-in-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

