<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.1" -->
<rss version="0.92">
<channel>
	<title>4thmouse.com</title>
	<link>http://4thmouse.com</link>
	<description>Software Engineering.</description>
	<lastBuildDate>Mon, 22 Sep 2008 16:03:45 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>A Better Binary File Generator DSL in Ruby</title>
		<description>In [ln wppost]Creating a Binary File Using a Ruby DSL[/ln] I did a very small example of using a ruby DSL to generate complex binary files without having to use C or a hexeditor. I've beefed it up significantly since then so here is the updated version of h2b.irb.

Now I ...</description>
		<link>http://4thmouse.com/index.php/2008/09/13/a-better-binary-file-generator-dsl-in-ruby/</link>
			</item>
	<item>
		<title>XPath From the Command Line Using Ruby</title>
		<description>There are other ways of doing this, but I thought it would be fun to write a command-line [ln wikipedia]xpath[/ln] script in ruby using rexml. (full working example here)

Parsing the Command Line Arguments
The first step is to set up the command line options. I want to have two arguments:

 a ...</description>
		<link>http://4thmouse.com/index.php/2008/09/13/xpath-from-the-command-line-using-ruby/</link>
			</item>
	<item>
		<title>Verifying Code Examples in your Documentation</title>
		<description>One of the more annoying aspects of writing developer documentation is that it is very easy for your code examples to get out of date, develop typos, etc(As those reading previous articles may have noticed). In this article I use [ln wikipedia]docbook[/ln], [ln wikipedia]xslt[/ln], and [ln wikipedia]automake[/ln] to generate code ...</description>
		<link>http://4thmouse.com/index.php/2008/09/06/verifying-code-examples-in-your-documentation/</link>
			</item>
	<item>
		<title>What is a C++ Functor?</title>
		<description>I did a presentation on the spirit library in the flesh recently and was surprised to find the big sticking point was C++ functors. So I thought I'd cover the concept here.

The Concept
Functors provide a generic callback mechanism al la C function pointers. In C you typically see the following ...</description>
		<link>http://4thmouse.com/index.php/2008/07/20/what-is-a-c-functor/</link>
			</item>
	<item>
		<title>Boost Spirit Part II (Attaching Actions to Your Grammar)</title>
		<description>In the last article we covered how to define a grammar in the boost spirit library. This article will show you how to use the data parsed by the grammar with actions. The code for this example is here.

Actions and Functors
Spirit expressions can be associated with arbitrary code that is ...</description>
		<link>http://4thmouse.com/index.php/2008/07/20/boost-spirit-part-ii-attaching-actions-to-your-grammar/</link>
			</item>
	<item>
		<title>Boost Spirit Part I (Validating Against a Grammar)</title>
		<description>I haven't done a post in a while, but I thought the boost spirit library was worth an entry. Spirit provides a way of specifying and parsing a custom language grammar right inline in C++ without the need for a code generator like lex/yacc. Spirit makes it so easy to ...</description>
		<link>http://4thmouse.com/index.php/2008/07/01/boost-spirit-part-i-validating-against-a-grammar/</link>
			</item>
	<item>
		<title>Why You Shouldn&#8217;t Build Warnings Into Your Interface</title>
		<description>Below the link, why I think you should never under any circumstances design a feature that needs a warning message by design.

The Overview
As it happens I recently wrote a custom language for one of our products. This brings up a lot of interesting topics including if anyone should write a ...</description>
		<link>http://4thmouse.com/index.php/2008/04/01/why-you-shouldnt-build-warnings-into-your-interface/</link>
			</item>
	<item>
		<title>Creating a Binary File Using a Ruby DSL</title>
		<description>So I used [ln wikipedia]ruby language[text]ruby[/text][/ln] to convert a simple hex string into a binary file in [ln wppost]Converting hex to Binary in 4 Languages[/ln]. Today I was trying to create a mixed ascii/binary file at work and created a little [ln wikipedia]Domain Specific Language[/ln] that has good possibilities.

NOTE: There ...</description>
		<link>http://4thmouse.com/index.php/2008/03/25/creating-a-binary-file-using-a-ruby-dsl/</link>
			</item>
	<item>
		<title>Why C Switch Statements Should go the way of the GOTO</title>
		<description>The venerable C switch statement keeps showing up in other languages presumably because the people who write new languages are familiar with C and don't really think about it. 

What is it
So the C-style switch statement is an efficient way of executing code based on an index. For efficiency reasons ...</description>
		<link>http://4thmouse.com/index.php/2008/03/15/why-c-switch-statements-should-go-the-way-of-the-goto/</link>
			</item>
	<item>
		<title>PI Day!</title>
		<description>This isn't strictly computer engineering, but at least it is math. Today, 3/14, is PI Day!. Enjoy. </description>
		<link>http://4thmouse.com/index.php/2008/03/14/pi-day/</link>
			</item>
</channel>
</rss>
