<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="0.92">
<channel>
	<title>Shey's Rebellion</title>
	<link>http://www.sheysrebellion.net/blog</link>
	<description>I sleep with pillows on my head.</description>
	<lastBuildDate>Thu, 27 Jan 2011 18:59:35 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0.4" -->

	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/xml" href="http://feeds.feedburner.com/sheysrebellion" /><feedburner:info uri="sheysrebellion" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Introducing Cushion, a simple python wrapper for CouchDB</title>
		<description>Introducing Cushion, a very thin python wrapper around CouchDB&amp;#8217;s Document API. Its interface closely mimics REST and it was created primarily as an exercise to learn CouchDB&amp;#8217;s API. Cushion is not an object mapper, it doesn’t enforce ‘OOP’, and if you found it difficult to get started with CouchDB using other libraries then you might [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/PNQsA80NvAw" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/PNQsA80NvAw/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2011/01/27/introducing-cushion-a-simple-python-wrapper-for-couchdb/</feedburner:origLink></item>
	<item>
		<title>Dispatch Tables:  The forgotten design pattern</title>
		<description>Long if-else statements and tall case statements are scary. As the number of lines and conditional branches grow, the more difficult it becomes to fit the program&amp;#8217;s logic inside your head and the more likely you are to introduce bugs into the code. We rely on polymorphism and design patterns to help reduce complexity; often [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/2LVnaKEqenY" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/2LVnaKEqenY/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2011/01/23/dispatch-tables-the-forgotten-design-pattern/</feedburner:origLink></item>
	<item>
		<title>Experimenting with partial application in Python</title>
		<description>In a recent project, I&amp;#8217;ve experimented with &amp;#8220;partial()&amp;#8221; to simplify object creation. Partially applying a function, similar to currying, is a technique in which a new function is synthesized by pre-filling the arguments to an existing function. Python&amp;#8217;s implementation of partial is available in two separate modules: functools and functional. It&amp;#8217;s best understood with an [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/hNpxWg09lfY" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/hNpxWg09lfY/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2010/12/06/experimenting-with-partial-application-in-python/</feedburner:origLink></item>
	<item>
		<title>Consuming AMQP messages with Python and Sparkplug</title>
		<description>Consuming AMQP/RabbitMQ messages in Python is simple if you use Sparkplug. I read &amp;#8220;Building RabbitMQ apps using Python&amp;#8220;, and there&amp;#8217;s just too much code in the monitor method and the separation of concerns aren&amp;#8217;t very clear. With Sparkplug, you create a configuration file, then define Consumer class to handle each message. As messages are pushed [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/2TqZd5r0w7g" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/2TqZd5r0w7g/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2010/08/22/consuming-amqp-messages-with-python-and-sparkplug/</feedburner:origLink></item>
	<item>
		<title>Simple, Expressive Builders in Python</title>
		<description>Jesse has written a great blog post on using test builders to improve the expressiveness of unit tests. He has convinced me that builders are useful and that they provide an easy way to construct objects that are in a valid state. Testing can be hard; I find defining a method for each of the [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/7dJOEFXWQD0" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/7dJOEFXWQD0/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2010/08/09/simple-expressive-builders-in-python/</feedburner:origLink></item>
	<item>
		<title>Dependency Injection</title>
		<description>My previous discussion on Inversion of Control raised some questions so I want to take a step back and discuss Dependency Injection. Dependency Injection is a pattern where software components (classes, methods or functions) are given their dependencies as parameters and these software components do not instantiate their dependencies directly. Dependency Injection is an important [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/NuzKbL0jqg4" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/NuzKbL0jqg4/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2010/01/18/dependency-injection/</feedburner:origLink></item>
	<item>
		<title>Moneytracking API, Ruby, Mash and HTTParty</title>
		<description>Moneytrackin is a cool online accounting application that lets you track expenses and income, unlike other accounting applications it lets you add tags to each transactions. I love it!&amp;#160; Tagging transactions makes it easier to track exactly where my money is going; not only can I see how much money I’ve spent on junk food [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/gjH8AebGpNE" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/gjH8AebGpNE/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2009/10/11/moneytracking-api-ruby-mash-and-httparty/</feedburner:origLink></item>
	<item>
		<title>Install sqlite3 for RoR on Windows Vista</title>
		<description>SQLite is a great little embeddable database engine but the installation of the Ruby library is not obvious or straightforward on Windows XP or Vista.  To install SQLite for Ruby 1.8, perform the following steps: download sqlitedll-3_6_18.zip, copy the two files that are part of the archive to your Ruby bin directory; run &amp;#8220;gem install [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/KiP3o6wirdw" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/KiP3o6wirdw/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2009/09/19/install-sqlite3-for-ror-on-windows-vista/</feedburner:origLink></item>
	<item>
		<title>Inversion of Control in Python</title>
		<description>Coming from a .NET background and having applied SOLID principles to software development, I was surprised by the lack of inversion of control containers for Python. The few discussions I read online implied that Python doesn’t need an IoC framework because it is a dynamically typed language.  Dynamically typed languages eliminate the need to use [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/vw7FwBpUa5A" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/vw7FwBpUa5A/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2009/08/24/inversion-of-control-in-python/</feedburner:origLink></item>
	<item>
		<title>Change point analysis in Python</title>
		<description>With most of the paperwork done I&amp;#8217;ve started to make use of my free time in Toronto.  In an effort to improve my Python programming I implemented a cummulative sum estimation based change point detection algorithm in Pyton based on an article by Dr. Wayne A. Taylor.  The changepoint project is available on Google code&amp;#8211; [...]&lt;img src="http://feeds.feedburner.com/~r/sheysrebellion/~4/1D7GckVKQwc" height="1" width="1"/&gt;</description>
		<link>http://feedproxy.google.com/~r/sheysrebellion/~3/1D7GckVKQwc/</link>
			<feedburner:origLink>http://www.sheysrebellion.net/blog/2009/08/19/change-point-analysis-in-python/</feedburner:origLink></item>
</channel>
</rss>

