<?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>Christopher H. Laco &#187; Software</title>
	<atom:link href="http://chrislaco.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrislaco.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 00:21:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Template Toolkit for .NET</title>
		<link>http://chrislaco.com/software/template-toolkit-for-net/</link>
		<comments>http://chrislaco.com/software/template-toolkit-for-net/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 23:11:05 +0000</pubDate>
		<dc:creator>claco</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[antlr]]></category>
		<category><![CDATA[ast]]></category>
		<category><![CDATA[lexer]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[template toolkit]]></category>
		<category><![CDATA[tt]]></category>

		<guid isPermaLink="false">http://chrislaco.com/?p=231</guid>
		<description><![CDATA[A while back I got the urge the waste time on yet another project. This time, it&#8217;s a version of Template Toolkit for .NET. As usual, you can find the project on GitHub. Not knowing anything about what it takes &#8230; <a href="http://chrislaco.com/software/template-toolkit-for-net/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A while back I got the urge the waste time on yet another project. This time, it&#8217;s a version of  <a href="http://template-toolkit.org/">Template Toolkit</a> for .NET. As usual, you can find the project on <a href="http://github.com/claco/tt.net/">GitHub</a>.</p>
<p>Not knowing anything about what it takes to convert a template language to .NET I started from ground up learning how to use ANTLR to create a lexer/parser automatically from a grammar definition. As if that wasn&#8217;t enough, my parser output is an Abstract Syntax Tree, which I then use another grammar to template it into C# code using StringTemplate templates, which ANTLR supports natively.</p>
<p>It&#8217;s slow going, but I&#8217;m learning a lot along the way. At some point I&#8217;m going to output VB.NET and it still needs a lot of work for compilation, dll caching and such. The code is in a pre beta state, but it does support basic GET/SET/DEFAULT/IF statements and I&#8217;m slowly adding more as I get more comfortable with ANTLR.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrislaco.com/software/template-toolkit-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So Long Parallels. Hello VirtualBox.</title>
		<link>http://chrislaco.com/software/so-long-parallels-hello-virtualbox/</link>
		<comments>http://chrislaco.com/software/so-long-parallels-hello-virtualbox/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 03:22:33 +0000</pubDate>
		<dc:creator>claco</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[parallels]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://chrislaco.com/?p=152</guid>
		<description><![CDATA[Back when my XP laptop died and I finally bought a MacBook Pro, Parallels was one of my first purchases so I could run multiple VMs to do Perl software testing. At the time, that was Parallels version 3. Everything &#8230; <a href="http://chrislaco.com/software/so-long-parallels-hello-virtualbox/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back when my XP laptop died and I finally bought a MacBook Pro, Parallels was one of my first purchases so I could run multiple VMs to do Perl software testing. At the time, that was Parallels version 3. Everything was snappy and life was good.</p>
<p>Then came the upgrade to Parallels 4. From day 1, I&#8217;ve had nothing but problems. It was most definitely much slower just to boot XP. Even a fresh install of the software and even an new XP VM fixed nothing. It was still slow. Even more entertaining was that when running XP in VGA mode, Safe Mode, or at the boot options screen, Parallels took up 100% of 1 or both host CPUs. After KB articles, months of patches and support, Parallels tells me that eating up all that CPU is normal. Parallels 3 didn&#8217;t have that problem. No, I won&#8217;t disable all the options that worked in version 3, and yes, 4GB ram was just fine in version 3.</p>
<p>Well, I&#8217;m getting off this train now. Clearly, Parallels 4 has issues, and I&#8217;m not the only one having it. VirtualBox is free, installed and running a fresh new install of XP and Studio 2008 and what do you know, it even runs XP in Safe Mode without eating 100% of the host CPU. Go figure.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrislaco.com/software/so-long-parallels-hello-virtualbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ConfigurationElementCollection Gotcha</title>
		<link>http://chrislaco.com/software/configurationelementcollection-gotcha/</link>
		<comments>http://chrislaco.com/software/configurationelementcollection-gotcha/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 04:03:34 +0000</pubDate>
		<dc:creator>claco</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[custom]]></category>

		<guid isPermaLink="false">http://chrislaco.com/?p=58</guid>
		<description><![CDATA[Here&#8217;s a fun way to waste 2 hours of your life. I was writing a custom config section, and trying to figure out why this wasn&#8217;t throwing a duplicate key error: &#60;monitors&#62; &#60;monitor name="File" /&#62; &#60;monitor name="File" /&#62; &#60;/monitors&#62; After &#8230; <a href="http://chrislaco.com/software/configurationelementcollection-gotcha/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fun way to waste 2 hours of your life. I was writing a custom config section, and trying to figure out why this wasn&#8217;t throwing a duplicate key error:<br />
<span id="more-58"></span></p>
<pre class="brush:xml">&lt;monitors&gt;
  &lt;monitor name="File" /&gt;
  &lt;monitor name="File" /&gt;
&lt;/monitors&gt;</pre>
<p>After surfing Google endlessly, I finally found this on MSDN:</p>
<blockquote><p>Note that elements with identical keys and values are not considered duplicates, and are accepted silently. Only elements with identical keys but different values are considered duplicates.</p></blockquote>
<p>That was fun. :-/</p>
]]></content:encoded>
			<wfw:commentRss>http://chrislaco.com/software/configurationelementcollection-gotcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CsvDataReader Updates</title>
		<link>http://chrislaco.com/software/csvdatareader-updates/</link>
		<comments>http://chrislaco.com/software/csvdatareader-updates/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 02:45:08 +0000</pubDate>
		<dc:creator>claco</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Csv]]></category>
		<category><![CDATA[FixedLength]]></category>
		<category><![CDATA[IDataReader]]></category>
		<category><![CDATA[Schema.ini]]></category>
		<category><![CDATA[TabDelimited]]></category>

		<guid isPermaLink="false">http://chrislaco.com/?p=24</guid>
		<description><![CDATA[A few batches of udates to CsvDataReader this week. I added support for schema.ini files including all of the TabDelimited, CsvDelimited, FixedLength and Delimited(*) formats. I also added support and tests for using Streams. Bugs and maybe some option flags &#8230; <a href="http://chrislaco.com/software/csvdatareader-updates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few batches of udates to <a href="http://github.com/claco/csvdatareader/">CsvDataReader</a> this week. I added support for schema.ini files including all of the TabDelimited, CsvDelimited, FixedLength and Delimited(*) formats. I also added support and tests for using Streams.<br />
<span id="more-24"></span><br />
Bugs and maybe some option flags not withstanding, I think its done for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrislaco.com/software/csvdatareader-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CsvDataReader</title>
		<link>http://chrislaco.com/software/csvdatareader/</link>
		<comments>http://chrislaco.com/software/csvdatareader/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:11:22 +0000</pubDate>
		<dc:creator>claco</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Csv]]></category>
		<category><![CDATA[FixedLength]]></category>
		<category><![CDATA[IDataReader]]></category>
		<category><![CDATA[Schema.ini]]></category>
		<category><![CDATA[TabDelimited]]></category>

		<guid isPermaLink="false">http://chrislaco.com/?p=8</guid>
		<description><![CDATA[Yes, there a few of these out there. Some free. Some not free. Some with IDataReader. Some without IDataReader. Some support IsDbNull. Some insist on always using Empty. Some are NotInheritable. Some are. I wanted a mix of those features &#8230; <a href="http://chrislaco.com/software/csvdatareader/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yes, there a few of these out there. Some free. Some not free. Some with IDataReader. Some without IDataReader. Some support IsDbNull. Some insist on always using Empty. Some are NotInheritable. Some are.<br />
<span id="more-8"></span><br />
I wanted a mix of those features and I also wanted to define the columns manually at times using the existing DataColumn bits from the Data namespace.</p>
<p>Thus, the gazillionth <a href="http://github.com/claco/csvdatareader/wikis">CsvDataReader</a> was born. Use it. Steal it. Send patches.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrislaco.com/software/csvdatareader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
