<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>nickelcode</title>
	<link>http://nickelcode.com</link>
	<description>penny for your thoughts, nickel for your code</description>
	<lastBuildDate>Tue, 27 Jul 2010 00:14:41 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0" -->

	<item>
		<title>Middleware, Composition, and Monads</title>
		<description><![CDATA[This article pre-supposes that you have some basic knowledge of Haskell, Rack/PEP 333, and middleware. Middleware Middleware, as a plugin architecture for creating custom web stacks, is an amazing tool (the fact that it makes web servers interchangeable is equally important but not useful for this discussion). By simplifying and standardizing the interface used by [...]]]></description>
		<link>http://nickelcode.com/2010/07/22/middleware-composition-and-monads/</link>
			</item>
	<item>
		<title>bebop: resource routing for Sinatra/Monk</title>
		<description><![CDATA[Motivation I&#8217;ve been using Monk with the armonk skeleton for the last couple of weeks to build a little app that monitors Craig&#8217;s List searches. Bebop aside, I&#8217;ve found it to be a really refreshing experience, but I knew when I started building the app that the vanilla routing DSL wasn&#8217;t going to meet my [...]]]></description>
		<link>http://nickelcode.com/2010/01/10/bebop-resource-routing-for-sinatramonk/</link>
			</item>
	<item>
		<title>Using a haskell dfa type to match strings</title>
		<description><![CDATA[A friend of mine recently covered deterministic and non-deterministic finite state machines (automata for the cool kids) in one of his classes and passed along a sample problem for me to figure out. Informally, build a dfa that will match a given string against another string in the provided alphabet. An example of this class [...]]]></description>
		<link>http://nickelcode.com/2009/11/08/using-a-haskell-dfa-type-to-match-strings/</link>
			</item>
	<item>
		<title>Ruby Cons</title>
		<description><![CDATA[I think technically this counts as an application of my readings from Algebra of Programming. Satisfied. class Cons include Enumerable attr_accessor :child, :value def self.[](value, child=:empty) new(value, child) end def initialize(value, child) @value, @child = value, child end def each x = self while( x != :empty) yield x x = x.child end end end [...]]]></description>
		<link>http://nickelcode.com/2009/10/28/ruby-cons/</link>
			</item>
	<item>
		<title>Stolen gem name?</title>
		<description><![CDATA[[Update: Nick Quaranto was kind enough to respond to my twitter message, and the issue has been resolved. Many thanks Nick!] So I went to publish RQuery to gem cutter but I got this lovely tidbit: Pushing gem to Gemcutter... You do not have permission to push to this gem. I figured someone had clearly [...]]]></description>
		<link>http://nickelcode.com/2009/10/26/stolen-gem-name/</link>
			</item>
	<item>
		<title>Algebra of Programming: Chapter 1 section 5</title>
		<description><![CDATA[Inverses are (horrible)-1 This section gives an introduction to the extremely interesting concept of implementing a function as the inverse of another with zip and unzip as the examples. First, the goal is to build out our zip and unzip functions to satisfy the equation zip . unzip = id A couple of notes here. [...]]]></description>
		<link>http://nickelcode.com/2009/09/26/algebra-of-programming-chapter-1-sections-5/</link>
			</item>
	<item>
		<title>Algebra of Programming: Chapter 1 Section 3</title>
		<description><![CDATA[Lists The third section of chapter one covered some basic functional programming concepts. Namely Cons lists, their mirror Snoc lists, and the functions built to operate on them. Particularly the adaptations of the foldn function from the previous section which operated over Nat. data Listl a = Nil &#124; Snoc (Listl a, a) deriving Show [...]]]></description>
		<link>http://nickelcode.com/2009/09/19/algebra-of-programming-chapter-1-section-3/</link>
			</item>
	<item>
		<title>Algebra of Programming: Chapter 1 Section 2</title>
		<description><![CDATA[[update] you&#8217;ll notice I corrected the title to represent the section I went through. Not clear how I got the idea this was the whole first chapter. My wife, bless her heart, heard me talking about Algebra of Programming after it was recommended to my by the fine people in #haskell and she went out [...]]]></description>
		<link>http://nickelcode.com/2009/09/12/algebra-of-programming-chapter-1/</link>
			</item>
	<item>
		<title>RQuery: refactored and simplified</title>
		<description><![CDATA[I&#8217;ve gone back and knocked off a couple of big todos in rquery. Namely, removing the Symbol capability, and using instances of the new OperationCollector in place of the global class variable + mutex required by the Symbol alterations. Also, as a consequence, I was able to remove the Declarations methods ( .is, .is_not ) [...]]]></description>
		<link>http://nickelcode.com/2009/08/22/rquery-refactored-and-simplified/</link>
			</item>
	<item>
		<title>Unraverl: Partial Function Application</title>
		<description><![CDATA[What is it? Last weekend I hacked partial application into my parse transform for erlang, unraverl. The rules are very simple but the implications are interesting if nothing else. In other functional languages, haskell as an example, there&#8217;s nothing inherently wrong with defining a function that requires two arguments but giving it one. add x [...]]]></description>
		<link>http://nickelcode.com/2009/08/14/unraverl-partial-function-application/</link>
			</item>
</channel>
</rss>
