<?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>4thmouse.com</title>
	<atom:link href="http://4thmouse.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://4thmouse.com</link>
	<description>Software Engineering.</description>
	<lastBuildDate>Thu, 19 Nov 2009 14:16:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Opening a TUN Device on UNIX</title>
		<link>http://4thmouse.com/index.php/2009/11/19/opening-a-tun-device-on-unix/</link>
		<comments>http://4thmouse.com/index.php/2009/11/19/opening-a-tun-device-on-unix/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 13:18:36 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CentOs]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[tap]]></category>
		<category><![CDATA[tun]]></category>
		<category><![CDATA[tunnel interface]]></category>
		<category><![CDATA[tuntap]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtual interface]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=286</guid>
		<description><![CDATA[The TUN/TAP interface under Linux provides user space access to Transport (Ethernet) or Network Layer (IP) traffic by allowing a developer to create a &#8220;virtual&#8221; interface that can be openend in user space as a file descriptor.

What is it Used For?
The TUN/TAP interface is most often used by tunneling applications like openVPN. In that scenario, [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/11/19/opening-a-tun-device-on-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Performance Tools</title>
		<link>http://4thmouse.com/index.php/2009/11/17/open-source-performance-tools/</link>
		<comments>http://4thmouse.com/index.php/2009/11/17/open-source-performance-tools/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 12:10:05 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[jitter]]></category>
		<category><![CDATA[network emulation]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[throughput]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[UDP]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=279</guid>
		<description><![CDATA[A lot of performance tools are very web-oriented these days. Here are a list of tools for simulating network traffic conditions and check throughput, delay, jitter, etc.

Bandwidth Testers
These programs attempt to determine the throughput, delay, jitter, and other factors of a network.

thrulay &#8212; &#8220;used to measure the capacity, delay, and other performance metrics of a [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/11/17/open-source-performance-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overview of the CCSDS Network Protocols</title>
		<link>http://4thmouse.com/index.php/2009/11/15/overview-of-the-ccsds-network-protocols/</link>
		<comments>http://4thmouse.com/index.php/2009/11/15/overview-of-the-ccsds-network-protocols/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 18:37:10 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[CCSDS]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[AOS]]></category>
		<category><![CDATA[Application ID]]></category>
		<category><![CDATA[CFDP]]></category>
		<category><![CDATA[COP-1]]></category>
		<category><![CDATA[FARM]]></category>
		<category><![CDATA[FOP]]></category>
		<category><![CDATA[Space]]></category>
		<category><![CDATA[Space Link]]></category>
		<category><![CDATA[Space Packet]]></category>
		<category><![CDATA[TC]]></category>
		<category><![CDATA[TDM]]></category>
		<category><![CDATA[TM]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=231</guid>
		<description><![CDATA[The CCSDS standards can be intimidating to the uninitiated, this article covers AOS, TC, COP-1, and other protocols used in space communications, how they interact, and where to find the details.

The CCSDS standards committee develops recommendations pertaining to the interoperability of space systems across the globe. The network protocols document how a ground station can [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/11/15/overview-of-the-ccsds-network-protocols/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS and mercurial</title>
		<link>http://4thmouse.com/index.php/2009/10/27/rss-and-mercurial/</link>
		<comments>http://4thmouse.com/index.php/2009/10/27/rss-and-mercurial/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 01:44:20 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[hgwebdir]]></category>
		<category><![CDATA[hgwweb]]></category>
		<category><![CDATA[individual file]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[source control]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=228</guid>
		<description><![CDATA[In a surprisingly well-kept secret, HgWeb and HgWebDir support RSS. Details below.

mercurial is a neat distributed revision control tool which has a web interface called HgWeb. Anyway although there are no links on the web page generated by HgWeb nor any obvious documentation with regards to RSS, you can get it.
Even on a per-file basis! [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/10/27/rss-and-mercurial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LDAP, PAM, SSHA, and CRYPT on RHEL 5</title>
		<link>http://4thmouse.com/index.php/2009/10/25/ldap-pam-ssha-and-crypt-on-rhel-5/</link>
		<comments>http://4thmouse.com/index.php/2009/10/25/ldap-pam-ssha-and-crypt-on-rhel-5/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 04:28:33 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[CentOs]]></category>
		<category><![CDATA[change password]]></category>
		<category><![CDATA[CRYPT]]></category>
		<category><![CDATA[ldappasswd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openLDAP]]></category>
		<category><![CDATA[PAM]]></category>
		<category><![CDATA[redhat enterprise]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[slapd]]></category>
		<category><![CDATA[SSHA]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=225</guid>
		<description><![CDATA[I&#8217;m putting this here because it took me two days to figure this out. RHEL 5 (or CentOS 5) has openLDAP broken out of the box. It does not handle SSHA password encryption (the default for openLDAP) properly. If you want openLDAP authentication to work with PAM on CentOs 5.3 you MUST edit the /etc/openldap/slapd.conf [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/10/25/ldap-pam-ssha-and-crypt-on-rhel-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is XML Better?</title>
		<link>http://4thmouse.com/index.php/2009/07/24/why-is-xml-better/</link>
		<comments>http://4thmouse.com/index.php/2009/07/24/why-is-xml-better/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 15:41:22 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=201</guid>
		<description><![CDATA[Why is XML better than custom internal formats? Isn&#8217;t a non-standard set of XML tags basically equivalent to a custom format when using data internally to an application? Absolutely not, and here is why.

Why the Article
I still regularly run into the idea that there isn&#8217;t really much to XML. Essentially XML is just another text [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/07/24/why-is-xml-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DVSL: An Alternative to XSLT</title>
		<link>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/</link>
		<comments>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:44:16 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[dvsl]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=189</guid>
		<description><![CDATA[DVSL is a fairly small, little known, product associated with the Velocity project over at Apache which takes the best part of XSLT, XPATH, and replaces the verbose and frustrating scripting of XSLT with a java-based template language instead.

What&#8217;s Wrong With XSLT?
Limited
The biggest problem with XSLT is the problem I have with custom-written domain-specific languages [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spirit Vs. Lex/yacc/et al.</title>
		<link>http://4thmouse.com/index.php/2008/12/10/spirit-vs-lexyaccet-al/</link>
		<comments>http://4thmouse.com/index.php/2008/12/10/spirit-vs-lexyaccet-al/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 20:26:39 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[BNF]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[boost::spirit]]></category>
		<category><![CDATA[LALR]]></category>
		<category><![CDATA[Lex]]></category>
		<category><![CDATA[spirit]]></category>
		<category><![CDATA[Yac]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=153</guid>
		<description><![CDATA[What are the differences and when should I use one or the other?

What is Lex/Yacc?
Lex and Yacc are some fairly ancient GNU tools which you can use to parse custom LALR languages (typically programming languages). Lex and Yacc are actually separate programs which generate C code from a custom language unique to each.
Lex generates code [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/12/10/spirit-vs-lexyaccet-al/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boost Spirit III (Adding Error Handling)</title>
		<link>http://4thmouse.com/index.php/2008/11/04/boost-spirit-iii-adding-error-handling/</link>
		<comments>http://4thmouse.com/index.php/2008/11/04/boost-spirit-iii-adding-error-handling/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 20:51:31 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[boost::spirit]]></category>
		<category><![CDATA[error handling]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[grammar parser]]></category>
		<category><![CDATA[parse_error]]></category>
		<category><![CDATA[spirit]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=119</guid>
		<description><![CDATA[This article expands the example from the previous two, here and here, to add more specific error information.
As always the full code from the example is available here here.

The Problem
In our previous example an error simply resulted in a generic error message and a printout of the location at which the error occurred.
Ideally we should [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/11/04/boost-spirit-iii-adding-error-handling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Writing a custom check macro for the BOOST test library</title>
		<link>http://4thmouse.com/index.php/2008/10/13/writing-a-custom-check-macro-for-the-boost-test-library/</link>
		<comments>http://4thmouse.com/index.php/2008/10/13/writing-a-custom-check-macro-for-the-boost-test-library/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 14:36:22 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[boost test]]></category>
		<category><![CDATA[boost test library]]></category>
		<category><![CDATA[check macro]]></category>
		<category><![CDATA[custom macro]]></category>
		<category><![CDATA[require macro]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[unit test]]></category>
		<category><![CDATA[warn macro]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=82</guid>
		<description><![CDATA[In this article I demonstrate how to write your own check macros for the boost test library (not guaranteed to work in the future)
Full source code for this example can be downloaded here.

The problem
For the purposes of this article I would like to verify that a collection is monotonically increasing. There are a couple ways [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/10/13/writing-a-custom-check-macro-for-the-boost-test-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
