<?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>Selfelected</title>
	<atom:link href="http://www.selfelected.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.selfelected.com</link>
	<description>Experience about programming and architecture.  Musings about delivering and quality.  Findings about projects and people.</description>
	<lastBuildDate>Sun, 19 Feb 2012 19:22:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>192 EULAs I have agreed upon during a year and a half adds up to more than words than Encyclopædia Britannica</title>
		<link>http://www.selfelected.com/192-eulas-i-have-agreed-upon-during-a-year-and-a-half-adds-up-to-more-than-words-than-encyclopaedia-britannica/</link>
		<comments>http://www.selfelected.com/192-eulas-i-have-agreed-upon-during-a-year-and-a-half-adds-up-to-more-than-words-than-encyclopaedia-britannica/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 13:35:52 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[eula]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[not-fully-invented]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=916</guid>
		<description><![CDATA[The EULAs I have agreed upon during the last year and a half have more words than Encyclopædia Britannica.  When should I have had time to read them?]]></description>
			<content:encoded><![CDATA[<p>The computer I am writing on right now has been in my custody for about a year and a half  During this time I have collected every EULA I needed to agree upon.  <em>It adds up to 192 EULAs.</em>  Many are most certainly similar, like GPL, and others are probably variants of themselves.</p>
<p>I stored the agreements in RTF format except for Flash that is in PDF and a IE9 update that it seems I had to track down on the web and download the HTML page with PNGs and all.  It all ends up at slightly more than 62 megs.</p>
<p>Now these 62 megs of data stored mostly in RTF aren&#8217;t 62 millions of readable characters so I took a 72k rtf document and saved as text.  66k.  That is roughly 10% overhead.  So I guess out of 62 megs I have about 57 megs of characters.</p>
<p>192 files.  57 million characters.  With about 5 letters in an english word this would be slightly more than 11 million words.  I <a title="Where I got the word per page figure from." href="http://answers.yahoo.com/question/index?qid=20071221000637AA7zXPe">a page has 250 words</a> this would be <em>45500 pages</em>.  By comparision the whole <a title="Link to where I found the number of pages in Harry Potter." href="http://answers.yahoo.com/question/index?qid=20070925055516AAf2q8j">Harry Potters series</a> is about 3400 pages.  Encyclopædia Britannica <a title="Where I got the enc brit word figure from." href="http://en.wikipedia.org/wiki/Encyclop%C3%A6dia_Britannica">is 40 million words</a>.</p>
<p>To be honest: one can&#8217;t compare word count between a book and an EULA since the former is written in English while the latter in Legalece.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/192-eulas-i-have-agreed-upon-during-a-year-and-a-half-adds-up-to-more-than-words-than-encyclopaedia-britannica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicate, communicate, communicate &#8211; and EU is on the verge of ACTA</title>
		<link>http://www.selfelected.com/communicate-communicate-communicate-and-eu-is-on-the-verge-of-acta/</link>
		<comments>http://www.selfelected.com/communicate-communicate-communicate-and-eu-is-on-the-verge-of-acta/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 10:58:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CCCommunicate]]></category>
		<category><![CDATA[cccommunicate]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=912</guid>
		<description><![CDATA[Cccommunicate news letter is out.]]></description>
			<content:encoded><![CDATA[<p>Cccommunicate news letter is <a title="Cccommunicate news lette.r" href="https://docs.google.com/document/pub?id=1iqkqm5jDRFoJ-qSjVxq7k8RSi4PBGN5n5UwecIZgrIw">out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/communicate-communicate-communicate-and-eu-is-on-the-verge-of-acta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple testing of transactions in sqlserver management studio</title>
		<link>http://www.selfelected.com/simple-testing-of-transactions-in-sqlserver-management-studio/</link>
		<comments>http://www.selfelected.com/simple-testing-of-transactions-in-sqlserver-management-studio/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 09:24:43 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Code and Development]]></category>
		<category><![CDATA[sqlserver]]></category>
		<category><![CDATA[transaction]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=878</guid>
		<description><![CDATA[Fire up two sqlserver management studio for playing with transactions.  It is easy to set breakpoints, step, and see what happens.]]></description>
			<content:encoded><![CDATA[<p>Testing that transactions do as they should is probably easiest done right in Sqlserver management studio.  The trick is to fire up two of them.</p>
<p>You can set breakpoints as with your usual Visual studio and use the same shortcuts for stepping through.</p>
<p>&nbsp;</p>
<p>Transactions are complex, do not think otherwise.  Similarly to multi threaded programming it requires knowledge beforehand and just not the usual intellisense-and-see-which-methods-pops-up we have learned to use.</p>
<p>Playing around with transactions before implementing them is crucial for understanding and correct behaviour.</p>
<p>Just understanding that the transaction does what it should is probably not enough for any solution that has more than a trickle of traffic.  Resources I have used a lot are <a title="The tree killer version." href="http://www.insidesqlserver.com/thebooks.html">Inside Sqlserver</a> and <a title="Sqlserver books online, the help that is online that is help that..." href="http://msdn.microsoft.com/en-us/library/ms130214.aspx">Sqlserver Books online</a> (BOL). The latter is the same as the help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/simple-testing-of-transactions-in-sqlserver-management-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System.Messaging.MessageQueueException was unhandled : A workgroup installation computer does not support the operation.</title>
		<link>http://www.selfelected.com/system-messaging-messagequeueexception-was-unhandled-a-workgroup-installation-computer-does-not-support-the-operation/</link>
		<comments>http://www.selfelected.com/system-messaging-messagequeueexception-was-unhandled-a-workgroup-installation-computer-does-not-support-the-operation/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 17:40:34 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Code and Development]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[msmq]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=817</guid>
		<description><![CDATA[If you play with MSMQ and get an exception like System.Messaging.MessageQueueException was unhandled Message=A workgroup installation computer does not support the operation. Source=System.Messaging ErrorCode=-2147467259 StackTrace: at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException) at System.Messaging.MessageQueue.get_FormatName() at System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan timeout, Int32 action, CursorHandle cursor, MessagePropertyFilter filter, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType) at System.Messaging.MessageQueue.Receive() &#8230; &#160; It might be due to a [...]]]></description>
			<content:encoded><![CDATA[<p>If you play with MSMQ and get an exception like</p>
<blockquote><address>System.Messaging.MessageQueueException was unhandled<br />
Message=A workgroup installation computer does not support the operation.<br />
Source=System.Messaging<br />
ErrorCode=-2147467259<br />
StackTrace:<br />
at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)<br />
at System.Messaging.MessageQueue.get_FormatName()<br />
at System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan timeout, Int32 action, CursorHandle cursor, MessagePropertyFilter filter, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType)<br />
at System.Messaging.MessageQueue.Receive()<br />
&#8230;</address>
</blockquote>
<p>&nbsp;</p>
<p>It might be due to a reason like mine.</p>
<p>With</p>
<blockquote><p>&nbsp;</p>
<pre class="csharpcode"><span class="kwrd">var</span> queues = MessageQueue.GetPrivateQueuesByMachine(“.”);
<span class="kwrd">var</span> queue = queues.Where(q =&gt; q.QueueName == “<span class="kwrd">private</span>$\\mynewqueue”).Single();
<span class="kwrd">var</span> message = queue.Receive();</pre>
</blockquote>
<p>it does work<br />
but with</p>
<blockquote><p>&nbsp;</p>
<pre class="csharpcode"><span class="kwrd">var</span> queue = <span class="kwrd">new</span> MessageQueue(“<span class="kwrd">private</span>$\\mynewqueue”);
<span class="kwrd">var</span> message = queue.Receive();</pre>
</blockquote>
<p>it doesn&#8217;t.</p>
<p>Change to</p>
<blockquote><p>&nbsp;</p>
<pre class="csharpcode"><span class="kwrd">var</span> queue = <span class="kwrd">new</span> MessageQueue(“.\\<span class="kwrd">private</span>$\\mynewqueue”);
<span class="kwrd">var</span> message = queue.Receive();</pre>
</blockquote>
<p>and you might be good to go again.</p>
<p>I haven&#8217;t bothered to figure out exactly why but my workaround might help you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/system-messaging-messagequeueexception-was-unhandled-a-workgroup-installation-computer-does-not-support-the-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tilt your extra monitor to portrait</title>
		<link>http://www.selfelected.com/tilt-your-extra-monitor-to-portrait/</link>
		<comments>http://www.selfelected.com/tilt-your-extra-monitor-to-portrait/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 21:41:54 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Code and Development]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[workspace]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=808</guid>
		<description><![CDATA[Tilt your extra monitor to portrait.]]></description>
			<content:encoded><![CDATA[<p>I, of course, have two monitors for my development computer.  (s<a title="The extra extra monitor I use sometimes." href="http://www.selfelected.com/short-review-lilliput-usb-monitor/">ometimes three</a> but that is subject for another post)  The extra monitor I have is <strong>tilted to portrait</strong> so it is higher than wide.  I strongly recommend it.</p>
<p>We write code with the flow going from the top to the bottom.  Having a high monitor makes me see more code and keep less in the RAM part of the brain.</p>
<p>One could argue that methods should be short and there hence is no need for a screen that is so high that two methods are visible at once.  One could also argue that cars should be fragile so as to feel the need for avoiding collisions. Or calculators to calculate wrongly so we learn to do it manually instead.</p>
<p>Try tilting your extra monitor to portrait today!  You might not like it &#8211; hacking queries is better done wide, spreadsheets is often wide, presentations are wide &#8211; but then you have your other landscape monitor for that.</p>
<p>You might have to rearrange some tools in your favourite development environment but that is easy done.</p>
<p>I dare you to try it and leave a comment.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/tilt-your-extra-monitor-to-portrait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TortoiseSVN and code.google</title>
		<link>http://www.selfelected.com/tortoisesvn-and-code-google/</link>
		<comments>http://www.selfelected.com/tortoisesvn-and-code-google/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 21:07:22 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Code and Development]]></category>
		<category><![CDATA[code.google]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[tortoisesvn]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=805</guid>
		<description><![CDATA[Omit the project name and user name when using TortoiseSVN for checking out from code.google.]]></description>
			<content:encoded><![CDATA[<p>The quick and dirty documentation found for instance <a title="Quick and dirty hints." href="http://code.google.com/p/compulsorycat/source/checkout">here</a> hints at one should write the project name and user name together with the https source path.  So is not the case if one uses TortoiseSVN.</p>
<p>So the string</p>
<pre>https://compulsorycat.googlecode.com/svn/trunk/ compulsorycat --username myusername@gmail.com</pre>
<p>should really be</p>
<pre>https://compulsorycat.googlecode.com/svn/trunk/</pre>
<p>Not that hard to figure out really.  But it took me a while.  I even missed it at <a title="Helping page" href="http://engtech.wordpress.com/2007/03/03/howto_google_code_hosting_subversion_tortoisesvn/">this helping side</a>.</p>
<p>Just for information.  Nothing fancy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/tortoisesvn-and-code-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicate, communicate, communicate &#8211; and what I have learned</title>
		<link>http://www.selfelected.com/communicate-communicate-communicate-and-what-i-have-learned/</link>
		<comments>http://www.selfelected.com/communicate-communicate-communicate-and-what-i-have-learned/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 10:28:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CCCommunicate]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=789</guid>
		<description><![CDATA[Cccommunicate news letter is out.]]></description>
			<content:encoded><![CDATA[<p>Cccommunicate news letter is <a title="The cccommunicate news letter." href="https://docs.google.com/document/pub?id=1rGcHF4OUJes-yfch46kl5LOXHWAI6mRmee5FOIbQjck">out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/communicate-communicate-communicate-and-what-i-have-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicate, communicate, communicate &#8211; and preteens on the internet</title>
		<link>http://www.selfelected.com/communicate-communicate-communicate-and-preteens-on-the-internet/</link>
		<comments>http://www.selfelected.com/communicate-communicate-communicate-and-preteens-on-the-internet/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 15:15:54 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[CCCommunicate]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=772</guid>
		<description><![CDATA[https://docs.google.com/document/pub?id=1wnMx_P-u6hxITb_EnXI_ig8zn5airDbe0uKyvMuItG4]]></description>
			<content:encoded><![CDATA[<p><a href="https://docs.google.com/document/pub?id=1wnMx_P-u6hxITb_EnXI_ig8zn5airDbe0uKyvMuItG4">Communicate, communicate, communicate &#8211; and preteens on the internet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/communicate-communicate-communicate-and-preteens-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communicate, communicate, communicate &#8211; and playing games</title>
		<link>http://www.selfelected.com/communicate-communicate-communicate-and-playing-games/</link>
		<comments>http://www.selfelected.com/communicate-communicate-communicate-and-playing-games/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 11:05:50 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[CCCommunicate]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=738</guid>
		<description><![CDATA[Communicate, communicate, communicate - and playing games.]]></description>
			<content:encoded><![CDATA[<p><a title="Communicate, communicate, communicate - and playing games" href="https://docs.google.com/document/pub?id=1QxqtAVfV2KJl9EZFqGfinoQW3G050Dk0wb_zjsPbiz0">Communicate, communicate, communicate &#8211; and playing games</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/communicate-communicate-communicate-and-playing-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert dotnet DateTime to Sqlserver SqlDateTime</title>
		<link>http://www.selfelected.com/convert-dotnet-datetime-to-sqlserver-sqldatetime/</link>
		<comments>http://www.selfelected.com/convert-dotnet-datetime-to-sqlserver-sqldatetime/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 11:58:04 +0000</pubDate>
		<dc:creator>selfelected</dc:creator>
				<category><![CDATA[Code and Development]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[sqldatetime]]></category>
		<category><![CDATA[sqlservcer]]></category>

		<guid isPermaLink="false">http://www.selfelected.com/?p=734</guid>
		<description><![CDATA[The article contains a simple method for making sure the DateTime value is inside the SqlDateTime interval.]]></description>
			<content:encoded><![CDATA[<p>The SqlDateTime has a narrower span than the Dotnet ditto; dotnet starts from year 0 but sqlserver from 1753.  This means that uninitialised DateTime fields in dotnet will give runtime execution errors when trying to persist them in a sqlserver database.</p>
<p>I write together a small and simple method for making sure the DateTime interval is inside the valid SqlDateTime interval.</p>
<pre>public static class DateTimeExtensions
    {
        /// &lt;summary&gt;This method returns the datetime fitting into min/max of Sqlserver
        /// as per http://codebetter.com/petervanooijen/2008/08/21/valid-date-time-values-in-sql-server-sqldatetime-vs-datetime/
        /// &lt;/summary&gt;
        /// &lt;param name="dt"&gt;&lt;/param&gt;
        /// &lt;returns&gt;&lt;/returns&gt;
        public static DateTime ToValidSqlserverDatetime(this DateTime dt)
        {
            //  Must cast System.Data.SqlTypes.SqlDateTime.MinValue: http://codebetter.com/petervanooijen/2008/08/21/valid-date-time-values-in-sql-server-sqldatetime-vs-datetime/
            if (dt &lt; (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue)
            {
                return (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
            }
            else if (dt &gt; (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue)
            {
                return (DateTime)System.Data.SqlTypes.SqlDateTime.MaxValue;
            }
            else
            {
                return dt;
            }
        }
    }</pre>
<p>The code is easier to read <a title="Code at pastebin, easier to copy." href="http://pastebin.com/EFMKYVxd">at pastebin</a>.</p>
<p><a title="Link to an article explaining some more stuff." href="http://codebetter.com/petervanooijen/2008/08/21/valid-date-time-values-in-sql-server-sqldatetime-vs-datetime/">Honour those who should.</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.selfelected.com/convert-dotnet-datetime-to-sqlserver-sqldatetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

