<?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>Jan Limpens &#187; haml</title>
	<atom:link href="http://blog.limpens.com/tag/haml/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.limpens.com</link>
	<description>ill/dev/com</description>
	<lastBuildDate>Tue, 01 Sep 2009 13:46:08 +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>About switching and running and being free @ limpens.com</title>
		<link>http://blog.limpens.com/2008/05/12/about-switching-and-running-and-being-free-limpenscom/</link>
		<comments>http://blog.limpens.com/2008/05/12/about-switching-and-running-and-being-free-limpenscom/#comments</comments>
		<pubDate>Mon, 12 May 2008 14:44:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[cherrypy]]></category>
		<category><![CDATA[genshi]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://limpens.com/blog/?p=4</guid>
		<description><![CDATA[So over the past weekend, I changed the dns and limpens.com is running at the new host, webfaction.com, which, so far I can recommend. I&#8217;ll talk about them another time, maybe. I switched webhost, because I was unhappy with webhost4liefe&#8217;s connection&#8217;s speed. I live in Brazil and waiting for a page to appear seemed like [...]]]></description>
			<content:encoded><![CDATA[<p>So over the past weekend, I changed the dns and <a href="http://limpens.com">limpens.com</a> is running at the new host, <a href="http://webfaction.com">webfaction.com</a>, which, so far I can recommend. I&#8217;ll talk about them another time, maybe. I switched webhost, because I was unhappy with webhost4liefe&#8217;s connection&#8217;s speed. I live in Brazil and waiting for a page to appear seemed like I had a 14.400 baud modem, and not a 4mbit connection.</p>
<p>So, just for you to know I am a .NET developer and apart from having seen some rails screen casts in the past I am completely new to this area. At first I thought, rails would be the way to go for me, but coming from a dissident background, I soon figured, if everybody is using it, there must be something wrong with it &#8211; and in fact I sincerely dislike the active record pattern that rails kind of forces on to you spamming all your generated (and I am a newbie so I use generate) with base classes. I disliked all the &#8216;magic&#8217; going on, where your classes seem to have invisible attributes and scaffolding is filling all the gaps. It may be only me and I might be completely wrong in my view, but I like it if there is something missing and I have to put it there. I also think this kind of approach does not help TDD.</p>
<p>In the end I build the site in rails and did not like it because I did not understand it&#8217;s inner workings.</p>
<p>So I looked into another direction and with webfaction being a python specialized host, I checked out what python could do for me. And with <a href="http://www.cherrypy.org">cherrypy</a>, another mvc like framework, I found something quite beautiful &#8211; it&#8217;s lean and fast and what&#8217;s quite interesting is, that you actually build a object graph of your site`s controllers (they are not called controllers, but the behave in the same way)</p>
<p>so you have</p>
<p>root = Root()<br />
root.about = About()</p>
<p>and so on, this also takes care of controller parameters and routing quite beautifully:</p>
<p>the method</p>
<p>root.somecontroller.action(param1, param2, param3) is mapped to</p>
<p>http://site.com/some/action/param1/param2/param3</p>
<p>Now _that_ is easy. And I had the site running (ruby and python are quite similar, so once you got your architecture in your mind, translation is not an issue).</p>
<p>But I did not like python too much. I disliked the lack of multiline lambda scopes out of language restrictions (no {}), and being the old OO guy, I did not dig all those global methods, like len(string) instead of string.len. I found it awkward why you have to order your methods within the class, so that the called method comes before the caller. I did not like the fact that I was writing methods outside of classes.  For me this was a step backward (and I am heading in the lisp direction and am not saying that this is not possible, there), so I ditched it. Most probably a bad decision, many pythonistas might argue, and as they are far more experienced than me, they probably are right, but one has to make decisions, and after reading this <a href="http://lambda-the-ultimate.org/node/1480">article</a>, I found that probably I&#8217;ll go for ruby. (And am already missing MI, for that matter)</p>
<p>So I looked around what other frameworks are lingering around in ruby space and encountered <a href="http://merbivore.com/">Merb</a>. Merb seems to be a framework, that lets you plug in your choice of technologies, which I liked. It offers different physical structure options and still some good defaults.</p>
<p>It took me a part of the weekend to slap together <a href="http://limpens.com">limpens.com</a> and I am quite happy with the results. Merb seems to be quite configureable, I found no magic going on (apart from than that my model was accessible to my controllers without &#8216;require&#8217;- and me adding these requires made the app fail and I had no clue why). So far I am not using any database and merb is 100% ok with it, and once I want to I have a gamut of options. I use haml as a view language (I wish there was something like pythons <a href="http://genshi.edgewall.org/">genshi</a> for ruby, which is a template language which I liked a _lot_) and I&#8217;m free<br />
To do what I want<br />
Any old time<br />
I said I&#8217;m free<br />
To do what I want<br />
Any old time</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.limpens.com/2008/05/12/about-switching-and-running-and-being-free-limpenscom/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
