<?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>Kristof Neirynck &#187; Uncategorized</title>
	<atom:link href="http://www.crydust.be/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crydust.be/blog</link>
	<description>yet another webdev blog</description>
	<lastBuildDate>Sat, 11 Jun 2011 15:57:44 +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>Internet Explorer Platform Preview randomness is biased</title>
		<link>http://www.crydust.be/blog/2010/03/16/internet-explorer-platform-preview-randomness-is-biased/</link>
		<comments>http://www.crydust.be/blog/2010/03/16/internet-explorer-platform-preview-randomness-is-biased/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 21:39:57 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/?p=147</guid>
		<description><![CDATA[After installing Internet Explorer Platform Preview 1.9.7745.6019 the first thing I did was check out its javascript performance on my own scripts. It turns out to have a very wierd output for Math.random. Test your browsers Math.random() function and see for yourself. Update: This seems to be fixed in Explorer Platform Preview 1.9.7766.6000.]]></description>
			<content:encoded><![CDATA[<p>After installing Internet <a href="http://ie.microsoft.com/testdrive/">Explorer Platform Preview</a> 1.9.7745.6019 the first thing I did was check out its javascript performance on my own scripts. It turns out to have a very wierd output for Math.random. <a href="http://www.crydust.be/lab/random/">Test your browsers Math.random() function</a> and see for yourself.</p>
<p><b>Update:</b> This seems to be fixed in Explorer Platform Preview 1.9.7766.6000.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2010/03/16/internet-explorer-platform-preview-randomness-is-biased/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2M08 Silverlight</title>
		<link>http://www.crydust.be/blog/2008/05/23/2m08-silverlight-2/</link>
		<comments>http://www.crydust.be/blog/2008/05/23/2m08-silverlight-2/#comments</comments>
		<pubDate>Fri, 23 May 2008 11:25:19 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/?p=66</guid>
		<description><![CDATA[A hands-on workshop about Silverlight 2.0. The many MacBooks that are available are probably set up for the Air session this afternoon. Our speaker informs us &#34;We wont be using those&#34;, quickly followed by &#34;Silverlight is a cross platform &#8230;&#34;. Blend has loads of panels and properties. Nesting controls is possible. You can have a [...]]]></description>
			<content:encoded><![CDATA[<p>A hands-on workshop about Silverlight 2.0.</p>

<p>The many MacBooks that are available are probably set up for the Air session this afternoon. Our speaker informs us &quot;We wont be using those&quot;, quickly followed by &quot;Silverlight is a cross platform &#8230;&quot;.</p>

<p>Blend has loads of panels and properties. Nesting controls is possible. You can have a video inside a button.</p>

<p>Changes in Blend are detected in Visual studio. It helps to do a rebuild in Blend to make shure Visual studio isn&#8217;t working on an old version. Design view isn&#8217;t fully supported there yet. Double clicking on a button doesn&#8217;t get you a onClick handler yet.</p>

<p>Silverlight uses layout managers like Flex. Buttons have a content property which enables design and programming to be done separately. You can create some kind of color palette of <em>Brush Resources</em> in Blend which translates to <em>SolidColorBrush</em> elements in XAML. Visual studio has intellisence for XAML which makes it easier to type in there than in Blend. Fullscreen is supported but must be initiated by the user. Controls have a background and a border while other elements have a fill and a stroke. Blend has some glitches when setting properties on multiple controls. Switching to XAML code is the normal reaction to that. Not shure how designers will react to that. Hope these things are fixed when it goes out of beta.</p>

<p>The presentation was quite good, but I&#8217;m not sure weather I&#8217;m going to dump flash for this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2008/05/23/2m08-silverlight-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parsing plist files in asp with Microsoft.XMLDOM</title>
		<link>http://www.crydust.be/blog/2008/04/18/parsing-plist-files-in-asp-with-microsoftxmldom/</link>
		<comments>http://www.crydust.be/blog/2008/04/18/parsing-plist-files-in-asp-with-microsoftxmldom/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 09:47:45 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/?p=64</guid>
		<description><![CDATA[Plist files are more and more ubiquitous. Apple uses them for its configuration files and we use them to describe exercise content. They aren&#8217;t very pleasant to read for humans, but that doesn&#8217;t mean computers dislike reading them. So I wrote a little javascript to parse a plist file to an object. Hope you like [...]]]></description>
			<content:encoded><![CDATA[<p>Plist files are more and more ubiquitous. Apple uses them for its configuration files and we use them to describe exercise content. They aren&#8217;t very pleasant to read for humans, but that doesn&#8217;t mean computers dislike reading them. So I wrote a little javascript to parse a plist file to an object. Hope you like it.</p>
<span id="more-64"></span>
<pre class="prettyprint">&lt;script language=&quot;javascript&quot; runat=&quot;server&quot;&gt;
XMLUtil = function() {
  // nothing
}

XMLUtil.createXmlDom = function(xmlFile, xslFile){
  var result = null;
  try{
    result = new ActiveXObject(&quot;Msxml2.DOMDocument.6.0&quot;);
    result.validateOnParse = false;
    result.setProperty(&quot;AllowDocumentFunction&quot;, true);
    result.setProperty(&quot;AllowXsltScript&quot;, true);
    result.setProperty(&quot;ProhibitDTD&quot;, false);
  }catch(e){
    try{
      result = new ActiveXObject(&quot;MSXML2.DOMDocument.3.0&quot;);
    }catch(e){
      try{
        result = new ActiveXObject(&quot;Microsoft.XMLDOM&quot;);
      }catch(e){
        Response.Write(&quot;ERROR MSXML is not installed.&quot;);
        result = null;
      }
    }
  }
  if(typeof result == &quot;object&quot;){
    // &quot;XSLPattern&quot; in 3.0. &quot;XPath&quot; in 4.0, 5.0, 6.0
    result.setProperty(&quot;SelectionLanguage&quot;, &quot;XPath&quot;);
    result.async = false;
    if(typeof xmlFile == &quot;string&quot;){
      if(xmlFile.indexOf(&quot;:&quot;) == -1){
        xmlFile = Server.MapPath(xmlFile);
      }
      result.load(xmlFile);
    }
    if (result.parseError.errorCode != 0) {
      Response.Write(&quot;ERROR &quot; + result.parseError.reason);
      result = null;
    }else{
      if(typeof xslFile != &quot;undefined&quot;){
        if(typeof xslFile == &quot;string&quot;){
          xslFile = XMLUtil.createXmlDom(xslFile);
        }
        if(xslFile.parseError.errorCode != 0){
          Response.Write(&quot;ERROR &quot; + xslFile.parseError.reason);
          result = null;
        }else{
          var transformedFile = XMLUtil.createXmlDom();
          result.transformNodeToObject(xslFile, transformedFile);
          result = transformedFile;
        }
      }
    }
  }
  return result;
}

XMLUtil.parsePlistDict = function(dictNode){
  var result = new Object();
  var keyNodes = dictNode.selectNodes(&quot;key&quot;);
  for(var i = 0, n = keyNodes.length; i &lt; n; i++){
    var key = keyNodes[i].firstChild.nodeValue;
    var val = XMLUtil.parsePlistValue(keyNodes[i].nextSibling);
    result[key] = val;
  }
  return result;
}

XMLUtil.parsePlistValue = function(valueNode){
  var result = null;
  switch(valueNode.nodeName){
    case &quot;true&quot;:
      result = true;
      break;
    case &quot;false&quot;:
      result = false;
      break;
    case &quot;string&quot;:
      if(valueNode.firstChild != undefined){
        result = valueNode.firstChild.nodeValue;
        // result = unescape(result);
        // result = result.replace(/\+/g, &quot; &quot;);
      }
      break;
    case &quot;dict&quot;:
      result = XMLUtil.parsePlistDict(valueNode);
      break;
    case &quot;array&quot;:
      result = [];
      for(var i = 0, n = valueNode.childNodes.length; i &lt; n; i++){
        result.push(XMLUtil.parsePlistValue(valueNode.childNodes[i]));
      }
      break;
    default:
      Response.Write(&quot;ERROR can't parse &quot;+valueNode.nodeName);
  }
  return result;
}

// usage:
var plistXml = XMLUtil.createXmlDom(&quot;c:\\example.plist&quot;);
var obj = XMLUtil.parsePlistDict(plistXml.firstChild.firstChild);
&lt;/script&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2008/04/18/parsing-plist-files-in-asp-with-microsoftxmldom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google reader in Opera 9.5</title>
		<link>http://www.crydust.be/blog/2007/09/10/google-reader-in-opera-95/</link>
		<comments>http://www.crydust.be/blog/2007/09/10/google-reader-in-opera-95/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 13:05:17 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/09/10/google-reader-in-opera-95/</guid>
		<description><![CDATA[Temporarily fixing google reader for Opera 9.5 requires following code: #entries { min-height: 500px; } To do this go to Site Preferences &#62; Display &#62; My style sheet. Update: Google seems to have fixed it.]]></description>
			<content:encoded><![CDATA[<p>Temporarily fixing google reader for Opera 9.5 requires following code:</p>
<pre>#entries {
    min-height: 500px;
}</pre>
<p>To do this go to <kbd>Site Preferences &gt; Display &gt; My style sheet</kbd>.</p>
<p><b>Update:</b> Google seems to have fixed it.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/09/10/google-reader-in-opera-95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>News</title>
		<link>http://www.crydust.be/blog/2007/09/06/news/</link>
		<comments>http://www.crydust.be/blog/2007/09/06/news/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 08:06:42 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/09/06/news/</guid>
		<description><![CDATA[Silverlight 1.0 is released and it doesn&#8217;t work on Mac OS prior to version 10.4.8, Linux, Windows 2000 and the Opera browser. Flash Player 9 reached 90% penetration. Maybe thanks to being truly cross platform? The iPod touch has a multi touch interface, wifi, iTunes and Safari. I wonder if it also lets you share [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://silverlight.net/GetStarted/">Silverlight 1.0</a> is released and it doesn&#8217;t work on Mac OS prior to version 10.4.8, Linux, Windows 2000 and the Opera browser.</p>
<p><a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html">Flash Player 9</a> reached 90% penetration. Maybe thanks to being truly cross platform?</p>
<p>The <a href="http://www.apple.com/ipodtouch/">iPod touch</a> has a multi touch interface, wifi, iTunes and Safari. I wonder if it also lets you share your music for 3 days?</p>
<p><a href="http://www.opera.com/products/desktop/next/">Opera 9.5 alpha</a> has been released. It is blazingly fast and has a full-text search feature of your history.</p>
<p>Search was added to <a href="http://www.google.com/reader">Google Reader</a>. This also makes it impossible to use with Opera 9.5 alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/09/06/news/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multi-Mania 2007</title>
		<link>http://www.crydust.be/blog/2007/05/24/multi-mania-2007/</link>
		<comments>http://www.crydust.be/blog/2007/05/24/multi-mania-2007/#comments</comments>
		<pubDate>Thu, 24 May 2007 18:20:35 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/05/24/multi-mania-2007/</guid>
		<description><![CDATA[I&#8217;m really looking forward to Multi-Mania tomorrow. See you there!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really looking forward to <a href="http://www.multi-mania.be/2007/">Multi-Mania</a> tomorrow. See you there!</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/05/24/multi-mania-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing rows in Excel</title>
		<link>http://www.crydust.be/blog/2007/02/27/removing-rows-in-excel/</link>
		<comments>http://www.crydust.be/blog/2007/02/27/removing-rows-in-excel/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 15:39:51 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2007/02/27/removing-rows-in-excel/</guid>
		<description><![CDATA[<p>Today I had to remove all rows in an excel sheet containing #N/A in the third cell. The only catch is that there are thousands and thousands of these rows and I need to be able to repeat this action.</p>]]></description>
			<content:encoded><![CDATA[<p>Today I had to remove all rows in an excel sheet containing #N/A in the third cell. The only catch is that there are thousands and thousands of these rows and I need to be able to repeat this action.</p>

<span id="more-16"></span>

<pre><code>Sub RemoveBadOnes()
    
    'speed things up
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Dim sheetName As String
    sheetName = "copy of clean"
    
    'get number of non-empty rows
    '(probably not the most optimal way to do this)
    Dim numRows As Integer
    numRows = 1
    Do While Not IsEmpty(Worksheets(sheetName).Cells(numRows, 1).Value)
        numRows = numRows + 1
    Loop
    
    'go trough rows starting with the last one
    Dim counter As Integer
    For counter = numRows To 1 Step -1
        'remove each row containing #N/A in third cell
        If IsError(Worksheets(sheetName).Cells(counter, 3).Value) Then
             Worksheets(sheetName).Rows(counter).Delete
        End If
    Next counter
    
    'return control to the user
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
End Sub</code></pre>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2007/02/27/removing-rows-in-excel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MsSql lacks describe statement</title>
		<link>http://www.crydust.be/blog/2006/12/26/mssql-lacks-describe-statement/</link>
		<comments>http://www.crydust.be/blog/2006/12/26/mssql-lacks-describe-statement/#comments</comments>
		<pubDate>Tue, 26 Dec 2006 16:59:39 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.crydust.be/blog/2006/12/26/mssql-lacks-describe-statement/</guid>
		<description><![CDATA[<p>Describe, or desc in short, is one of the most valuable commands when trying to understand a database structure. MsSql lacks this feature so you have to write it yourself.</p>]]></description>
			<content:encoded><![CDATA[<p>Describe, or desc in short, is one of the most valuable commands when trying to understand a database structure. MsSql lacks this feature so you have to write it yourself.</p>

<span id="more-10"></span>

<pre>
SELECT
    column_name
,   data_type +
    COALESCE(
       '(' + CAST(character_maximum_length AS VARCHAR) + ')'
    ,  '(' + CAST(numeric_precision AS VARCHAR) + ')'
    ,  ''
    )
,   column_default
,   is_nullable
FROM
    information_schema.columns
WHERE
    table_name = 'tablename';
</pre>

<p>Also see <a href="http://troels.arvin.dk/db/rdbms/#cli-table_description">Getting a table description</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2006/12/26/mssql-lacks-describe-statement/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://www.crydust.be/blog/2006/12/16/hello-world/</link>
		<comments>http://www.crydust.be/blog/2006/12/16/hello-world/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 23:36:12 +0000</pubDate>
		<dc:creator>Kristof Neirynck</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Hi, I'm Kristof Neirynck, application developer at <a href="http://www.indiegroup.be">Indie Group</a> and this is my blog.</p>]]></description>
			<content:encoded><![CDATA[<p>Hi, I&#8217;m Kristof Neirynck, application developer at <a href="http://www.indiegroup.be">Indie Group</a> and this is my blog.</p>]]></content:encoded>
			<wfw:commentRss>http://www.crydust.be/blog/2006/12/16/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

