<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Benjamin Halsted</title>
	<link>http://benjaminhalsted.com</link>
	<description>// [bgh] todo, add something clever here.</description>
	<lastBuildDate>Mon, 28 Jun 2010 15:19:28 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Erlang Programming Exercise: 5-2</title>
		<description><![CDATA[Exercise 5-2 involves changing the frequency server from earlier in the chapter. Here is the task list:

Restrict the deallocation of a frequency so that only the client that allocated it can deallocate it.
Fix a bug: Deallocating a frequency that isn't allocated crashes the server
Only allow shutdown of the frequency server if there are no allocated [...]]]></description>
		<link>http://benjaminhalsted.com/2010/06/erlang-programming-exercise-5-2/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 5-1</title>
		<description><![CDATA[It took a while before reading chapter 5 again. I've been off trying to cobble together an Erlang replacement for some of the proxies at work. It's almost ready, it just needs to log the health stats.
When I was reading through the "Programming Erlang" book by Joe Armstrong I ended up doing an exercise very [...]]]></description>
		<link>http://benjaminhalsted.com/2010/05/erlang-programming-exercise-5-1/</link>
			</item>
	<item>
		<title>Silence</title>
		<description><![CDATA[The blog has been a bit quiet. I've been rewriting some of our server software at work in Erlang and it's taken up most of my free time. I'm about done with it, so we should see the posts pick up again soon.
Cheers,
  Halzy
]]></description>
		<link>http://benjaminhalsted.com/2010/05/silence/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 4-2</title>
		<description><![CDATA[I've finished with the process ring. I've done this exercise once before when reading "Programming Erlang". Last time I had the processes create each other and set up the connections, this time they were created and linked by the start function. The code is much cleaner this time around. 
The basic idea is that you [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-4-2/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 4-1</title>
		<description><![CDATA[I'm glad to be past chapter 3, and that I took the time to go through the exercises. I would highly suggest to anybody learning Erlang to do the same. They helped me learn the syntax of the language and to become much more comfortable in Erlang. I also found the erlang man pages to [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-4-1/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 3-10</title>
		<description><![CDATA[Exercise 3-10 has you take unstructured text and make filled text, then later, justified text. 
Now, it's trivial to justify the text, you could even do it in a single pass, but I wanted to solve both the filled text and the text justification at the same time. To make development faster, I wrote some [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-3-10/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 3-9</title>
		<description><![CDATA[In exercise three-nine you are to read some text into a raw document (list of lines) and then into a document (list of words). With this data you generate an index for the words to which lines they were on:
{ "Erlang", [1,1,2,4,5,6,6,98,100,102,102] }
After you have the word to line index, pretty print the index such [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-3-9/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 3-8-4 &amp; 3-8-5</title>
		<description><![CDATA[I enjoyed coding up 3-8-4 and 3-8-5. It took just a couple hours to finish the pair. In the first one you implement a compiler for a stack machine, in the second you implement the stack machine. There is a lot to think about. How does a stack machine work? What will you be generating? [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-3-8-4-3-8-5/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 3-8-3</title>
		<description><![CDATA[This exercise is similar to the last one. But instead of evaluating the expressions, we pretty-print them.
I had trouble trying to figure out the right way to append data to a string. I probably could have used plain old list manipulation, building the strings in reverse as I went along, and then reversing them before [...]]]></description>
		<link>http://benjaminhalsted.com/2010/04/erlang-programming-exercise-3-8-3/</link>
			</item>
	<item>
		<title>Erlang Programming Exercise: 3-8-2</title>
		<description><![CDATA[For exercise 3-8-2 we are to create an evaluator. It should take the output (expressions) from 3-8-1 and returns its value. And to make the code a little bit easier to read, LHS and RHS are the left hand and right hand side of the expressions.
[erlang]
-module(threeeightytwo).
-export([evaluator/1]).
evaluate({plus, LHS, RHS}) ->
       [...]]]></description>
		<link>http://benjaminhalsted.com/2010/03/erlang-programming-exercise-3-8-2/</link>
			</item>
</channel>
</rss>
