<?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>Ivan Porto Carrero &#187; General</title>
	<atom:link href="http://flanders.co.nz/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://flanders.co.nz</link>
	<description>thoughts.each { &#38;:propagandise }</description>
	<lastBuildDate>Fri, 12 Mar 2010 12:24:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A good url regular expression? (repost)</title>
		<link>http://flanders.co.nz/2009/11/08/a-good-url-regular-expression-repost/</link>
		<comments>http://flanders.co.nz/2009/11/08/a-good-url-regular-expression-repost/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 11:02:37 +0000</pubDate>
		<dc:creator>Ivan Porto Carrero</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[url regex]]></category>

		<guid isPermaLink="false">http://flanders.co.nz/?p=366</guid>
		<description><![CDATA[I&#8217;m moving this post from http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx
I started out blogging on geeks with blogs but I can&#8217;t allow comments there anymore or I get too much spam, so I&#8217;m moving the post from there to this place.  Various people have contributed through the comments in the other blog post. So here I have better control over [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m moving this post from <a href="http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx">http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx</a></p>
<p>I started out blogging on geeks with blogs but I can&#8217;t allow comments there anymore or I get too much spam, so I&#8217;m moving the post from there to this place.  Various people have contributed through the comments in the other blog post. So here I have better control over the spam and can open the comments again.</p>
<p>I have been looking for a good first layer of validating an url to see if it is valid.</p>
<p>For checking the format of the url it seems to me to be the most logical approach to use regular expressions. Up until now I always discarded them as being to “geeky”, meaning i don&#8217;t consider it my life&#8217;s biggest goal to be typing (/?[]\w) all day long (so why did i become a programmer, aaaah yes to make life easier for other people)</p>
<p>Anyway.. to find a good regular expression to that validates urls not url domains. One that doesn&#8217;t allow spaces in the domainname and where the domain can be suffixed with the port number.  Also I need support for the ~/ paths</p>
<p>This is what I came up with.. if somebody as a better idea&#8230; or finds a mistake please let me know.. Always happy to learn something new.</p>
<p><span style="text-decoration: line-through;">^(((ht|f)tps?\:\/\/)|~/|/)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5})(:[\d]{1,5})?)/?(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&amp;\w+=\w+)*)?</span></p>
<p>I was a bit quickly in using this regex. Simeon pilgrim indicated that the ftp urls won&#8217;t validate when you add a username and a password.</p>
<p>I don&#8217;t really need to validate ftp so I should have removed the ftp protocol from the list of choices.  I need this just to validate urls for weblinks and the link element in an rss feed.  When I need them for ftp I will post the ftp version.. but for now I don&#8217;t have time to spend on elaborating the regex.</p>
<p>Anyway here is the right one : <span style="text-decoration: line-through;">^(http(s?)\:\/\/|~/|/)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?/?(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&amp;\w+=\w+)*)?</span></p>
<p>A full url validation would include resolving names through dns or making a webrequest to the provided url to see if we get a 200 response. The only way to be sure is to test if it is there in my opinion.</p>
<p>Thanks Simeon.</p>
<p>And for those who really want the ftp validation : <span style="text-decoration: line-through;">^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?/?(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&amp;\w+=\w+)*)?</span></p>
<p>I am not sure about numbers in the username but I believe you can have a username of numbers alone.</p>
<p>Comments don&#8217;t seem to work on this blog engine.. so just send me a mail through the contact form. thanks</p>
<p>Two days later &#8230;</p>
<p>I discovered there is still a problem with my regular expressions&#8230; folders don&#8217;t get parsed.</p>
<p>I&#8217;ve solved the path issue, so now it should be finding all url&#8217;s</p>
<p>Expression:</p>
<p><span style="text-decoration: line-through;">^((ht|f)tp(s?)\:\/\/|~/|/)?([\w]+:\w+@)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5}))(:[\d]{1,5})?((/?\w+/)+|/?)(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&amp;\w+=\w+)*)?</span></p>
<p>Should parse the url below</p>
<p><span style="text-decoration: underline;"><span style="color: #0000ff;"><a href="http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&amp;id=dki">http://hh-1hallo.msn.blabla.com:80800/test/test/test.aspx?dd=dd&amp;id=dki</a></span></span></p>
<p>But not :</p>
<p><a href="http://hh-1hallo">http://hh-1hallo</a>. msn.blablabla.com:80800/test/test.aspx?dd=dd&amp;id=dki</p>
<p style="font-weight: bold;">Update 29/11/2008:</p>
<p>Joe posted what seems to be a great regular expression in the comments</p>
<p>he tested it with the following urls:</p>
<p>http://www.google.com/search?q=good+url+regex&amp;rls=com.microsoft:*&amp;ie=UTF-8&amp;oe=UTF-8&amp;startIndex=&amp;startPage=1</p>
<p>ftp://joe:password@ftp.filetransferprotocal.com</p>
<p>google.ru</p>
<p>https://some-url.com?query=&amp;name=joe?filter=*.*#some_anchor</p>
<p>Expression:</p>
<p style="font-weight: bold;"><span style="font-weight: normal; text-decoration: line-through;">^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&amp;(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$</span></p>
<p style="font-weight: bold;">Update 8/11/2009:</p>
<p style="font-weight: bold;"><span style="font-weight: normal;">Expression</span>:</p>
<p style="font-weight: bold;">^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&amp;(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$</p>
<p>There is a wave for this regex:</p>
<p><a href="https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BsFbGJUukA">https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252BsFbGJUukA</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2009/11/08/a-good-url-regular-expression-repost/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Joined the lounge network</title>
		<link>http://flanders.co.nz/2009/05/11/joined-the-lounge-network/</link>
		<comments>http://flanders.co.nz/2009/05/11/joined-the-lounge-network/#comments</comments>
		<pubDate>Mon, 11 May 2009 19:14:30 +0000</pubDate>
		<dc:creator>Ivan Porto Carrero</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flanders.co.nz/2009/05/11/joined-the-lounge-network/</guid>
		<description><![CDATA[Today I received my invitation to the Lounge network. I just finished changing my homepage to include their ads in my side bar.    My reasons for joining the ad network are that on one hand I’ve been an ad-sense member for a really long time and although I’ve had ads on multiple [...]]]></description>
			<content:encoded><![CDATA[<p>Today I received my invitation to the <a href="http://thelounge.net" target="_blank">Lounge</a> network. I just finished changing my homepage to include their ads in my side bar.    <br />My reasons for joining the ad network are that on one hand I’ve been an ad-sense member for a really long time and although I’ve had ads on multiple sites it never actually made me any money. Eventually I gave up on putting those ads on my blog. So I’m not really doing it to make any money of this blog, but if it takes a small bite out of my hosting bill I’ll be a happy man <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>The ads that are run by the lounge are .net centric and are a much better fit to the audience of this blog. It even may be helpful to somebody at times.&#160; </p>
<p>Let’s see how this works out.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2009/05/11/joined-the-lounge-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pimp your command-line for git</title>
		<link>http://flanders.co.nz/2009/03/19/pimp-your-command-line-for-git/</link>
		<comments>http://flanders.co.nz/2009/03/19/pimp-your-command-line-for-git/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 20:11:27 +0000</pubDate>
		<dc:creator>Ivan Porto Carrero</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Source control]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://flanders.co.nz/2009/03/19/pimp-your-command-line-for-git/</guid>
		<description><![CDATA[I do development on both the Mac and windows. I prefer to use git as my source control these days and have done so for the past year or so.&#160; Git is great, I love it. I love the ease of branching a lot too. I’ll often just branch of locally just to play around [...]]]></description>
			<content:encoded><![CDATA[<p>I do development on both the Mac and windows. I prefer to use git as my source control these days and have done so for the past year or so.&#160; Git is great, I love it. I love the ease of branching a lot too. I’ll often just branch of locally just to play around with an idea without affecting the master branch.</p>
<p>But having many branches can be confusing at times, especially in my case as I can only remember what I was doing for 5 seconds. So sometimes I mess up a perfectly good branch because of the confusion. </p>
<p> <span id="more-317"></span>
<p>On windows I use Powershell as my command-line. I don’t know much of powershell scripting. To be honest I mainly started using it because then I wouldn’t constantly get an error when I typed ls instead of dir <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#160; However since then I did explore that environment a little and it _does_ give me easy access to the CLR and a way to create very very powerful batch files, although I do most of my scripting in Ruby these days.&#160; It also allows you to customize your prompt. You need to allow scripts unrestricted access for this to work. You can do that by entering Set-ExecutionPolicy Unrestricted at a powershell prompt. Then you close powershell and create a file in %MYDOCUMENTS%\WindowsPowershell called profile.ps1</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">function</span> prompt</pre>
<pre>{</pre>
<pre class="alt">    $host.ui.rawui.WindowTitle = $(get-location)</pre>
<pre>    Write-Host (<span class="str">&quot;+ &quot;</span> + $(get-location)) -foregroundcolor Yellow</pre>
<pre class="alt">    </pre>
<pre>        $branches = <span class="str">&quot;&quot;</span></pre>
<pre class="alt">        git branch | <span class="kwrd">foreach</span> {</pre>
<pre>            <span class="kwrd">if</span>($_ <span class="preproc">-match</span> <span class="str">&quot;^\*\s(.*)&quot;</span>){</pre>
<pre class="alt">                $branches += $matches[1]</pre>
<pre>            }</pre>
<pre class="alt">        }</pre>
<pre>    <span class="kwrd">if</span>($branches){</pre>
<pre class="alt">        Write-Host (<span class="str">&quot;(&quot;</span> + $branches + <span class="str">&quot;) &quot;</span>) -nonewline -fore Cyan</pre>
<pre>    }</pre>
<pre class="alt">        </pre>
<pre>    </pre>
<pre class="alt">    Write-Host (<span class="str">&quot;»&quot;</span>) -nonewline -foregroundcolor Green</pre>
<pre>    <span class="kwrd">return</span> <span class="str">&quot; &quot;</span></pre>
<pre class="alt">}</pre>
</div>
<p>The result of this prompt looks like this:</p>
<p><a href="http://flanders.co.nz/wp-content/uploads/2009/03/picture2.png"><img title="Picture 2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="209" alt="Picture 2" src="http://flanders.co.nz/wp-content/uploads/2009/03/picture2-thumb.png" width="545" border="0" /></a> </p>
<p>In bash I use a .bashrc script that shows me the branch in my prompt. You need ttycolors enabled to enjoy the full prompt but this is the section that takes care of my prompt.</p>
<div class="csharpcode">
<pre class="alt"><span class="kwrd">if</span> [ -n <span class="str">&quot;$force_color_prompt&quot;</span> ]; then</pre>
<pre>    <span class="kwrd">if</span> [ -x /usr/bin/tput ] &amp;&amp; tput setaf 1 &gt;&amp;/dev/null; then</pre>
<pre class="alt">    <span class="rem"># We have color support; assume it's compliant with Ecma-48</span></pre>
<pre>    <span class="rem"># (ISO/IEC-6429). (Lack of such support is extremely rare, and such</span></pre>
<pre class="alt">    <span class="rem"># a case would tend to support setf rather than setaf.)</span></pre>
<pre>    color_prompt=yes</pre>
<pre class="alt">    <span class="kwrd">else</span></pre>
<pre>    color_prompt=</pre>
<pre class="alt">    fi</pre>
<pre>fi</pre>
<pre class="alt">&#160;</pre>
<pre>parse_git_branch() {</pre>
<pre class="alt">  git branch 2&gt; /dev/null | sed -e <span class="str">'/^[^*]/d'</span> -e <span class="str">'s/* \(.*\)/(\1)/'</span></pre>
<pre>}</pre>
<pre class="alt">&#160;</pre>
<pre>&#160;</pre>
<pre class="alt"><span class="rem"># export PS1='\e[0;32m+ \u @ \w\e[m\e[0;33m »\e[m '</span></pre>
<pre><span class="kwrd">if</span> [ <span class="str">&quot;$color_prompt&quot;</span> = yes ]; then</pre>
<pre class="alt">    PS1=<span class="str">&quot;\[\033[01;36m\]+\u@\h\[\033[00m\]:\[\033[01;32m\]\w\[\033[00m\]\[\033[01;33m\]\n\$(parse_git_branch)»\[\033[00m\] &quot;</span></pre>
<pre><span class="kwrd">else</span></pre>
<pre class="alt">  PS1=<span class="str">&quot;\u@\h:\w\$(parse_git_branch)\$ &quot;</span></pre>
<pre>fi</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>The result of the bash script looks like this:</p>
<p><a href="http://flanders.co.nz/wp-content/uploads/2009/03/picture1.png"><img title="Picture 1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="207" alt="Picture 1" src="http://flanders.co.nz/wp-content/uploads/2009/03/picture1-thumb.png" width="545" border="0" /></a></p>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fflanders.co.nz%2f2009%2f03%2f19%2fpimp-your-command-line-for-git%2f"><img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fflanders.co.nz%2f2009%2f03%2f19%2fpimp-your-command-line-for-git%2f" border="0" /></a></p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5f6d8358-4617-43fa-81cf-d20f2ded57ce" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Git" rel="tag">Git</a>,<a href="http://technorati.com/tags/Powershell" rel="tag">Powershell</a>,<a href="http://technorati.com/tags/Bash" rel="tag">Bash</a></div>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2009/03/19/pimp-your-command-line-for-git/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A new year&#8230; some changes</title>
		<link>http://flanders.co.nz/2009/01/06/a-new-year-some-changes/</link>
		<comments>http://flanders.co.nz/2009/01/06/a-new-year-some-changes/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 18:46:37 +0000</pubDate>
		<dc:creator>Ivan Porto Carrero</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://flanders.co.nz/?p=290</guid>
		<description><![CDATA[With 2009 starting, started actually, it might be time to look ahead at what&#8217;s to come this year.
I hope your holidays were better than mine with my grandfather dying on Christmas eve, I wasn&#8217;t in much of a celebratory mood this year.
After having tried being a consultant for a while I have a serious hang-over [...]]]></description>
			<content:encoded><![CDATA[<p>With 2009 starting, started actually, it might be time to look ahead at what&#8217;s to come this year.</p>
<p>I hope your holidays were better than mine with my grandfather dying on Christmas eve, I wasn&#8217;t in much of a celebratory mood this year.</p>
<p>After having tried being a consultant for a while I have a serious hang-over from enterprise style of development. At least the dev style that only listens to what microsoft has to say and swears by their judgment under the motto: &#8220;You don&#8217;t get fired for buying Microsoft&#8221;. As if it wasn&#8217;t bad enough all the CRUD went through stored procs over linq-2-sql. When somebody there told me to copy/paste instead of taking a little bit more care I made up my mind and left the place. This leaves me at the start of this year without a project/job, and as it looks now it might not be the best position to be in with the crisis and all.</p>
<p>Another area that I desperately need to make some progress in is the <a title="IronRuby in Action [Manning page]" href="http://manning.com/carrero" target="_blank">IronRuby in Action</a> book. So far I have 4 chapters completed and the one on Rails is about half-way there. Because I&#8217;m not making as much progress as I initially thought. This partly because I decided to turn my life<a title="Moving back to belgium" href="http://flanders.co.nz/2008/07/13/moving-back-to-belgium/" target="_blank"> upside down</a> this year.<br />
Now that I&#8217;ve finally found a good place to live and my personal life isn&#8217;t as messy as it used to be I&#8217;ve returned to writing.</p>
<p>More news on the IronRuby in Action front is that I&#8217;ve got a co-author now. His name is <a title="Michael Letterle's blog" href="http://blog.prokrams.com/" target="_blank">Michael Letterle</a> and he has contributed to the IronRuby project.  Michael is very passionate about Ruby development and is currently working on the Silverlight chapter of the IronRuby in Action book.</p>
<p>As part of the Chapter on Rails I&#8217;ve built a twitter clone. In the wpf chapter I created a twitter client and to be ensure things continue to work both offline as online it seemed like a good idea to me to create the server side too.  The last couple of days I&#8217;ve been implementing this limited version and you can find it at <a href="http://codeplex.com/mocktwitter">http://codeplex.com/mocktwitter</a>. Finishing this application is on my to-do list for this year for now it does a little bit more than it needs to for the samples from the WPF chapter to work.</p>
<p>More on the IronRuby subject. I&#8217;ve also created a DBI layer for ADO.NET that you can use in conjection with IronRuby to talk to ADO.NET data sources. I don&#8217;t know yet if I will base my activerecord adapters on this DBI layer or just with the providers immediately. I put a <a title="ironruby-dbi" href="http://rubydoes.net/2009/01/06/ironruby-dbi-connecting-to-adonet-datasources/" target="_blank">post up</a> on how to get started and where to get the sources etc on <a href="http://rubydoes.net" target="_blank">rubydoes.net</a></p>
<p>I intend to spend some time on <a title="Silverlight DLR SDK" href="http://github.com/jschementi/agdlr" target="_blank">agdlr</a> as well as on <a title="IronNails" href="http://github.com/casualjim/ironnails" target="_blank">ironnails</a> as well because ironnails has been a lot of fun to develop.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2009/01/06/a-new-year-some-changes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Moving back to belgium</title>
		<link>http://flanders.co.nz/2008/07/13/moving-back-to-belgium/</link>
		<comments>http://flanders.co.nz/2008/07/13/moving-back-to-belgium/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 11:41:58 +0000</pubDate>
		<dc:creator>Ivan Porto Carrero</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://flanders.co.nz/2008/07/13/moving-back-to-belgium/</guid>
		<description><![CDATA[Tonight is my last night in New Zealand. Tomorrow I will fly back to Belgium to see what has changed in the 3 years that I&#8217;ve been away. I already know that my home city Antwerp has changed a lot because they were completely redoing the place when I left. I think it might still [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight is my last night in New Zealand. Tomorrow I will fly back to Belgium to see what has changed in the 3 years that I&#8217;ve been away. I already know that my home city Antwerp has changed a lot because they were completely redoing the place when I left. I think it might still too soon for a reflective post on my experiences in New Zealand. What I can say is that I had a great time here and I made some great friendships with some extraordinary people. Depending on who you ask this is a good or bad thing but I&#8217;ll surely be back in a couple of years <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
<p><span id="more-235"></span></p>
<p>The first one on my list of great Kiwi personalities is <a href="http://blogs.msdn.com/alexj/">Alex James</a>. We had a whole bunch of architectural discussions and many of his ideas are still sitting in the back of my mind every day I write code. I met him at a point in my programming career when I was looking for something new. I didn&#8217;t want to use datasets any more, was looking for a replacement for webforms and he had quite a clever project Base4. This project is what got me started on Open Source and at this point I wouldn&#8217;t mind making a living working on open source projects I just don&#8217;t know quite yet how to start that <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The second one is <a href="http://blog.bittercoder.com/">Alex Henderson</a>, he knew and probably knows a lot more about Castle&#8217;s windsor than I do and through some kind of blog conversation about using Base4 with Castle I finally got what Alex James meant when he said my code was quite monolithic at times. Alex Henderson showed me how to write readable code for other people than me. Very sometimes I know still catch myself writing big chuncks of code in one go but thanks to resharper I can quickly fix that now.</p>
<p>Furthermore there is the wonderful bunch of people at <a href="http://www.xero.com">Xero</a>. I had a great time working with them and figuring out what my strengths are as a developer. Although we didn&#8217;t always saw eye to eye <a href="http://pageofwords.com">Kirk</a> taught me that security goes way further than just the data. Security has to flow through from the whole company and all the way into the lowest level of your application. He was probably the voice of reason I often need and when I was programming other projects after I left Xero. I still thought to myself: would I be able to get away with uploading this and seeing what happens or should I really test this on a different non-dev machine. Then I see that look he gets and will dilligently grumble and test the thing, which, as it turns out, is almost always a good idea.<br />
Everybody at Xero were really great collegues and there are times that I regretted going away there even if it was just for the cool bunch of people that work there. Craig for letting me see that &#8220;the Hutt&#8221; is the closest thing Wellington has to &#8220;the hood&#8221; and that the word box has more than one meaning.</p>
<p>Of course there are the guys from <a href="http://www.mindscape.co.nz">Mindscape</a>, all brilliant programmers. I don&#8217;t think you&#8217;ll find another company in New Zealand that has that big of a brains/person ratio. I&#8217;d say if they can&#8217;t solve it for you nobody can. I&#8217;m sure we will stay in touch. The discussions I had with <a href="http://andrewpeters.net/">Andrew Peters</a>, <a href="http://hestia.typepad.com/">Ivan Towlson</a>, <a href="http://turtle.net.nz/blog/">JB</a> and <a href="http://blog.bluecog.co.nz/">JD</a> really upped my game as a programmer. I think it&#8217;s always great to have discussions with people that have a different point of view, although I can get quite passionate about things, but I think it&#8217;s even more great if you can do it with brilliant people. That&#8217;s what my lunches with geeks were about <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
Not to forget the poker nights, they were always good fun. I think I still lost some money but I now understand the game of Poker <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s much like real life and in my case the best advice there is don&#8217;t get too ballsy and enthusiastic too early in the game it can prove to be disastrous. Another memory from poker is &#8220;the blue stuff&#8221;, an alcoholic beverage easily mistaken for anti-freeze but it works really well <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . The hangover the day after wasn&#8217;t always that great but that&#8217;s the price you pay <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Then there are some people that aren&#8217;t necessarily kiwi but I met them here in New Zealand. <a href="http://bgeek.net/">Owen Evans</a> for showing me the light on mocking <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://codeclimber.net.nz">Simone Chiaretta</a>, a very smart Italian programmer, his contributions to the community are quite invaluable. </p>
<p>I realise I left out a whole bunch of people like Keith Archibald, <a href="http://www.jwegesin.com/">Jeff Wegesin</a>, Vicky Rawsthorne and Ross McWhannel a.o. but I wanted to constrain myself to the programming experiences. I apologise too all the people I left out like the Kiwis that went to Europe before I got back: <a href="http://www.flog.co.nz/">Adam Burmister</a> and <a href="http://www.fastchicken.co.nz/">Nic Wise</a> I guess we&#8217;ll catch up soonish <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Furthermore if you haven&#8217;t been to New Zealand yet. I think it&#8217;s about high time you order that ticket and get yourself over here. It&#8217;s absolutely drop dead gorgeous, the natives are friendly and it&#8217;s probably one of the safest places in the world. The atmosphere here is great it&#8217;s a huge mix of people coming from all over the world, which leads to some very interesting friendships and discussions.  I think the rest of the world can learn a lot from the kiwi&#8217;s on the matter of tolerance and not taking yourself too serious, as well as their acceptance and openness to different cultures and new experiences. So get over here and get yourself some kiwi outlook on life. </p>
<p>I&#8217;ll finish off this post with: It&#8217;s been absolutely magic mate <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />
Hei konaa raa</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2008/07/13/moving-back-to-belgium/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Color scheme for visual studio with resharper and Ruby in Steel support</title>
		<link>http://flanders.co.nz/2008/03/08/color-scheme-for-visual-studio-with-resharper-and-ruby-in/</link>
		<comments>http://flanders.co.nz/2008/03/08/color-scheme-for-visual-studio-with-resharper-and-ruby-in/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 07:52:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2008/03/08/color-scheme-for-visual-studio-with-resharper-and-ruby-in/</guid>
		<description><![CDATA[This is certainly an exciting time for me. A release of dynamic silverlight that supports IronRuby, Asp.NET MVC that can be used to in conjunction with that.
I think that web applications and the way the web looks will severely change in the near future.
Anyway not only the people at Microsoft have been busy also the [...]]]></description>
			<content:encoded><![CDATA[<p>This is certainly an exciting time for me. A release of dynamic silverlight that supports IronRuby, Asp.NET MVC that can be used to in conjunction with that.</p>
<p>I think that web applications and the way the web looks will severely change in the near future.</p>
<p>Anyway not only the people at Microsoft have been busy also the guys from <a target="_blank" href="http://www.sapphiresteel.com">sapphiresteel</a> have been busy lately. They releases a really cool update to their Ruby In Steel product. A visual rails work bench and support for developing IronRuby apps with visual studio !</p>
<p>I finally got round to doing some installs/upgrades on my machine and played around with the color scheme until it suited me. I&#8217;ll post that here.</p>
<p>I use Resharper 4 as well as IronRuby and in Resharper I have code analysis turned on with color identifiers. So my scheme needs to support those.</p>
<p>I don&#8217;t like bright colors nor a totally black background, they have the same effect as a white background on me. I get migraines and can&#8217;t concentrate as long as I need to. (the latter may also be due to undiagnosed ADD).</p>
<p>So in C# with resharper the code looks like this:</p>
<p><a href="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/CsharpColors.png"><img width="644" height="300" border="0" src="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/CsharpColors_thumb.png" alt="CsharpColors" style="border: 0px none ;" /></a> </p>
<p>I do lot&#8217;s of webdevelopment but I haven&#8217;t tuned the colors for xaml yet. Will probably get round to doing that next weekend. This is how the html colors look (this is from rails html but html looks the same).</p>
<p><a href="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/html.png"><img width="644" height="161" border="0" src="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/html_thumb.png" alt="html" style="border: 0px none ;" /></a> </p>
<p>Then there still is ruby to show and a config file.</p>
<p>Here&#8217;s ruby:</p>
<p><a href="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/rubyscheme.png"><img width="530" height="282" border="0" src="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/rubyscheme_thumb.png" alt="rubyscheme" style="border: 0px none ;" /></a> </p>
<p>And lastly the config files:   </p>
<p><a href="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/webconfigscheme.png"><img width="644" height="71" border="0" src="http://flanders.co.nz/blog/images/Colorschemeforvisualstudiowithresharpera_1257D/webconfigscheme_thumb.png" alt="webconfigscheme" style="border: 0px none ;" /></a> </p>
<p>Get <a target="_blank" href="http://koolkraft.net/DimmedInkResharperRubyInSteel.zip">DimmedInkResharperRubyInSteel (Visual Studio 2008)</a><br />Get <a target="_blank" href="http://koolkraft.net/DimmedInkResharperRubyInSteel_vs2k5.zip">DimmedInkResharperRubyInSteel (Visual Studio 2005)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2008/03/08/color-scheme-for-visual-studio-with-resharper-and-ruby-in/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Visual studio gallery</title>
		<link>http://flanders.co.nz/2008/02/27/visual-studio-gallery/</link>
		<comments>http://flanders.co.nz/2008/02/27/visual-studio-gallery/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 18:56:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2008/02/27/visual-studio-gallery/</guid>
		<description><![CDATA[This morning I found an announcement for the visual studio tools gallery. I went and had a look they have collected heaps of tools, some free most of them not into a website.
I promptly downloaded a couple of tools. One of them is something I recently discovered I need, local history. That is in between [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I found an announcement for the <a href="http://visualstudiogallery.com" target="_blank">visual studio tools gallery</a>. I went and had a look they have collected heaps of tools, some free most of them not into a website.</p>
<p>I promptly downloaded a couple of tools. One of them is something I recently discovered I need, local history. That is in between check-ins a file can also change but that isn&#8217;t recorded in source control so i can&#8217;t revert or view differences. Turns out that there is a <a href="http://www.codeplex.com/VLH2005/" target="_blank">project on codeplex</a> that allows you to do just that. It&#8217;s called local history <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=VLH2005&#038;DownloadId=26632" /></p>
<p> </p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5a351e76-c560-4fbe-a567-795c2fe3e51e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/visual%20studio%20plugin" rel="tag">visual studio plugin</a></div>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2008/02/27/visual-studio-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSX and Resharper get in eachothers way</title>
		<link>http://flanders.co.nz/2008/02/04/osx-and-resharper-get-in-eachothers-way/</link>
		<comments>http://flanders.co.nz/2008/02/04/osx-and-resharper-get-in-eachothers-way/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 05:39:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2008/02/04/osx-and-resharper-get-in-eachothers-way/</guid>
		<description><![CDATA[And today I discovered that using unity severly interferes with my flow in visual studio.
I have ctrl-space mapped to quicksilver on mac osx which would mean I have to rebind either autocompletion or quicksilver, and it sure as hell won&#8217;t be my autocompletion. I think it will be too hard to unset that binding in [...]]]></description>
			<content:encoded><![CDATA[<p>And today I discovered that using unity severly interferes with my flow in visual studio.</p>
<p>I have ctrl-space mapped to quicksilver on mac osx which would mean I have to rebind either autocompletion or quicksilver, and it sure as hell won&#8217;t be my autocompletion. I think it will be too hard to unset that binding in my brain I&#8217;ve been using ctrl-space for about 10 years now, without even thinking about it. I even try to use it in Word but of course that doesn&#8217;t work <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />
The typing speed is also a little bit too sluggish for me to actually enjoy working in visual studio in unity mode. I decided to get back to a ruby project in textmate <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
I&#8217;ll try later on if it&#8217;s doable through full screen mode in fusion; and if that doesn&#8217;t work, I&#8217;ll have no other option than to boot into vista if I have to do .NET work.</p>
<p>There is another key missing from the mac keyboard, the insert key (and I have to admit about this one I&#8217;m definitely not that happy &#8211; what were they thinking??). So far the keyboard is the hardest to get used to. I mean those would probably be my most used shortcuts : ctrl &#8211; arrow, home, end, alt-insert and i now have to learn how to use different combinations and different ones in every program.</p>
<p>In other news, today i found myself using alt-C and alt-V on my windows keyboard when I wanted to copy paste. I think all the shortcuts have no right or wrong combination but it won&#8217;t be long before I master the ones on the mac that&#8217;s for sure.</p>
<p>I feel a lot better having that off my chest.</p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2008/02/04/osx-and-resharper-get-in-eachothers-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to contracting</title>
		<link>http://flanders.co.nz/2008/01/16/back-to-contracting/</link>
		<comments>http://flanders.co.nz/2008/01/16/back-to-contracting/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 20:54:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2008/01/16/back-to-contracting/</guid>
		<description><![CDATA[Yesterday I gave notice at Xero, my last day will be mid February (15/02).
It&#8217;s been fun working with the team of people at Xero, but I just want my own time back. I won&#8217;t go into more detail around the reasons for my leaving Xero but we part ways on friendly terms.
I&#8217;ve been getting more [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I gave notice at <a href="http://www.xero.com">Xero</a>, my last day will be mid February (15/02).</p>
<p>It&#8217;s been fun working with the team of people at Xero, but I just want my own time back. I won&#8217;t go into more detail around the reasons for my leaving Xero but we part ways on friendly terms.</p>
<p>I&#8217;ve been getting more and more into Ruby again and I really like that language. So I&#8217;m mostly interested in jobs that will allow me to use those dynamic languages. I can now take some time off to finish the book I&#8217;m writing and to do some coding on a couple of things I have in mind.</p>
<p>Ideal places for me to work would be a place that practices Agile development et al. I&#8217;ll be going back to contracting probably unless somebody makes me a really great offer <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2008/01/16/back-to-contracting/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC XsltViewEngine, patch submitted to the contrib project</title>
		<link>http://flanders.co.nz/2007/12/14/xsltviewengine-patch-submitted/</link>
		<comments>http://flanders.co.nz/2007/12/14/xsltviewengine-patch-submitted/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 17:29:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.koolkraft.net/2007/12/14/xsltviewengine-patch-submitted/</guid>
		<description><![CDATA[I just submitted a patch to the mvc contrib project that contains the xslt view engine I wrote for Xero without any of the dependencies from our own libraries or commercial components.
The bulk of the work is done in a class called XmlResponseBuilder which builds the xml document that is going to be transformed by [...]]]></description>
			<content:encoded><![CDATA[<p>I just submitted a patch to the <a href="http://mvccontrib.org">mvc contrib project</a> that contains the xslt view engine I wrote for <a href="http://xero.com">Xero</a> without any of the dependencies from our own libraries or commercial components.</p>
<p>The bulk of the work is done in a class called XmlResponseBuilder which builds the xml document that is going to be transformed by the xsl stylesheet. Almost all the rest of the code is there just to build up this document.</p>
<p>The implementation of IView and IViewFactory were the easy bits <img src='http://flanders.co.nz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>To use the View engine you need to take the following steps:</p>
<p>1. Get the MVC Contrib project from google code</p>
<p>repository url: <a href="http://mvccontrib.googlecode.com/svn/trunk/">http://mvccontrib.googlecode.com/svn/trunk/</a></p>
<p>2. If the patch hasn&#8217;t been applied yet you can download it from: <a href="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=MVCContrib&#038;DownloadId=23748" title="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=MVCContrib&#038;DownloadId=23748">http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=MVCContrib&#038;DownloadId=23748</a></p>
<p>After downloading the patch you can apply it to the downloaded mvc contrib project.</p>
<p>3. I use a base controller to ensure that the correct data is passed to the view factory. This is the base controller class:</p>
<div style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: consolas;">
<p style="margin: 0px;"><span style="color: blue;">public</span> <span style="color: blue;">abstract</span> <span style="color: blue;">class</span> <span style="color: rgb(43, 145, 175);">XeroControllerBase</span> : <span style="color: rgb(43, 145, 175);">Controller</span></p>
<p style="margin: 0px;">    {</p>
<p style="margin: 0px;">        <span style="color: blue;">private</span> <span style="color: blue;">readonly</span> <span style="color: rgb(43, 145, 175);">XsltViewData</span> vData = <span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">XsltViewData</span>();</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: rgb(43, 145, 175);">IHttpSessionState</span> Session</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            <span style="color: blue;">get</span> { <span style="color: blue;">return</span> ControllerContext.HttpContext.Session; }</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">public</span> XeroControllerBase()</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            ViewFactory = <span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">XsltViewFactory</span>();   </p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #region</span> Add datasource methods</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddDataSource(<span style="color: rgb(43, 145, 175);">IXmlConvertible</span> dataSource)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.DataSources.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">XslDataSource</span>(dataSource));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddDataSource(<span style="color: rgb(43, 145, 175);">IXmlConvertible</span> dataSource, <span style="color: blue;">string</span> rootName)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.DataSources.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">XslDataSource</span>(rootName, dataSource));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #endregion</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #region</span> Add variable methods</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddPageVar(<span style="color: blue;">string</span> key, <span style="color: blue;">string</span> value)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.PageVars.Add(key, value);</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #endregion</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #region</span> Add message methods</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddErrorMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">ErrorMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddErrormessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">ErrorMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddInfoMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">InfoMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddInfoMessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">InfoMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddAlertMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">AlertMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddAlertMessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">AlertMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddInfoHtmlMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">InfoHtmlMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddInfoHtmlMessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">InfoHtmlMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddErrorHtmlMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">ErrorHtmlMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddErrorHtmlmessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">ErrorHtmlMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddAlertHtmlMessage(<span style="color: blue;">string</span> message)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">AlertHtmlMessage</span>(message));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">void</span> AddAlertHtmlMessage(<span style="color: blue;">string</span> message, <span style="color: blue;">string</span> controlID)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            vData.Messages.Add(<span style="color: blue;">new</span> <span style="color: rgb(43, 145, 175);">AlertHtmlMessage</span>(message, controlID));</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #endregion</span></p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #region</span> RenderView method hides</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">new</span> <span style="color: blue;">virtual</span> <span style="color: blue;">void</span> RenderView(<span style="color: blue;">string</span> viewName)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            RenderView(viewName, <span style="color: blue;">string</span>.Empty, vData);</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">new</span> <span style="color: blue;">void</span> RenderView(<span style="color: blue;">string</span> viewName, <span style="color: blue;">string</span> masterName)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            RenderView(viewName, <span style="color: blue;">string</span>.Empty, vData);</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">        <span style="color: blue;">protected</span> <span style="color: blue;">new</span> <span style="color: blue;">void</span> RenderView(<span style="color: blue;">string</span> viewName, <span style="color: blue;">object</span> viewData)</p>
<p style="margin: 0px;">        {</p>
<p style="margin: 0px;">            RenderView(viewName, <span style="color: blue;">string</span>.Empty, vData);</p>
<p style="margin: 0px;">        }</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"><span style="color: blue;">        #endregion</span> </p>
<p style="margin: 0px;">    }</p>
<p style="margin: 0px;"> </p>
<div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fbc7ddb7-b845-42e6-b453-28712c705e2e" class="wlWriterSmartContent">del.icio.us Tags: <a rel="tag" href="http://del.icio.us/popular/aspnetmvc">aspnetmvc</a></div>
</div>
<div style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: consolas;"> </div>
<div style="margin: 0px; padding: 0px; display: inline;" id="scid:C16BAC14-9A3D-4c50-9394-FBFEF7A93539:6ec5ece6-ac9f-4818-96bf-a68b0365c200" class="wlWriterSmartContent"><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fflanders.co.nz%2fblog%2farchive%2f2007%2f12%2f15%2fxsltviewengine-patch-submitted.aspx"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fflanders.co.nz%2fblog%2farchive%2f2007%2f12%2f15%2fxsltviewengine-patch-submitted.aspx" border="0" alt="kick it on DotNetKicks.com" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://flanders.co.nz/2007/12/14/xsltviewengine-patch-submitted/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
