<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.4" -->
<rss version="0.92">
<channel>
	<title>nickelcode</title>
	<link>http://nickelcode.com</link>
	<description>penny for your thoughts, nickel for your code</description>
	<lastBuildDate>Sun, 10 Jan 2010 21:31:27 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<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 needs [...]]]></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
    [...]]]></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 come up with a [...]]]></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. Previously everything has [...]]]></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
data Listr [...]]]></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 and [...]]]></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 y = x [...]]]></description>
		<link>http://nickelcode.com/2009/08/14/unraverl-partial-function-application/</link>
			</item>
	<item>
		<title>Where to from here&#8230;</title>
		<description><![CDATA[Been mulling over my next project after I finish a small Rails app for my friend. I&#8217;m not sure I&#8217;ll have the time in the near future but here are the ideas that are competing in my head for&#8230; well literally&#8230; mind share.
Both use Erlang. Unraverl is the beginnings of a meta programming/parse transform library [...]]]></description>
		<link>http://nickelcode.com/2009/06/29/where-to-from-here/</link>
			</item>
</channel>
</rss>
