<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>crazycool.co.uk</title><link>http://crazycool.co.uk/articles.rss</link><pubDate>Wed, 30 Jul 2008 21:41:31 GMT</pubDate><description>brain.thoughts.each { |thought| render thought }</description><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/crazycool" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/crazycool" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fcrazycool" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><item><title>Advent 4211 Netbook</title><link>http://feeds.feedburner.com/~r/crazycool/~3/350891859/advent-4211-netbook</link><description>&lt;p&gt;Yesterday I picked up an &lt;a href="http://www.pcworld.co.uk/martprd/product/seo/219404"&gt;Advent 4211 netbook&lt;/a&gt;. It&amp;#8217;s exactly the same hardware as the &lt;a href="http://www.laptopsdirect.co.uk/MSI_Wind_U100_Ulra_Portable_Laptop_in_Black_U100-008UK-10A-Black/version.asp"&gt;&lt;span class="caps"&gt;MSI&lt;/span&gt; Wind&lt;/a&gt;, only it&amp;#8217;s a re-branded, cheaper version. It&amp;#8217;s a really cool piece of kit, and I thought I&amp;#8217;d stick some unboxing pics up for all to see. You can check them out on &lt;a href="http://www.flickr.com"&gt;Flickr&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/eldiablo/sets/72157606454494952/"&gt;here&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.flickr.com/photos/eldiablo/sets/72157606454494952/"&gt;&lt;img src="http://farm4.static.flickr.com/3254/2717185605_eb681c9b78_t.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.flickr.com/photos/eldiablo/sets/72157606454494952/"&gt;&lt;img src="http://farm4.static.flickr.com/3115/2718002552_7417e94aa4_t.jpg" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.flickr.com/photos/eldiablo/sets/72157606454494952/"&gt;&lt;img src="http://farm4.static.flickr.com/3004/2717184753_1234c8f4e0_t.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;So I&amp;#8217;m waiting on a few other bits to arrive (another stick of &lt;span class="caps"&gt;RAM&lt;/span&gt;, a replacement wifi card, and an external &lt;span class="caps"&gt;DVD&lt;/span&gt; reader), and then this weekend I&amp;#8217;m going to attempt to switch out Windows XP on this bad boy and replace it with Mac &lt;span class="caps"&gt;OS X&lt;/span&gt; (using &lt;a href="http://www.modaco.com/content/asus-eee-pc-http-www-eeeasy-com/270099/pauls-complete-guide-to-installing-osx-leopard-on-your-msi-wind-advent-4211/"&gt;this guide&lt;/a&gt;). That&amp;#8217;ll make it a really cheap, ultra portable Macbook, for coding on the go. Awesome!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=xEaRzD"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=xEaRzD" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=F03yvj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=F03yvj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Wn8loj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Wn8loj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=rSY3fJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=rSY3fJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ykT2DJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ykT2DJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Or6aaj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Or6aaj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=8fhMDJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=8fhMDJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/350891859" height="1" width="1"/&gt;</description><pubDate>Wed, 30 Jul 2008 21:41:31 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/07/30/advent-4211-netbook</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/07/30/advent-4211-netbook</feedburner:origLink></item><item><title>Lesser Known Classics #2: Queens of the Stone Age - Songs for the Deaf</title><link>http://feeds.feedburner.com/~r/crazycool/~3/346648046/lesser-known-classics-2-queens-of-the-stone-age-songs-for-the-deaf</link><description>&lt;p&gt;This is the second post in my series on classic albums that perhaps don&amp;#8217;t get the recognition they deserve. The &lt;a href="http://crazycool.co.uk/2008/06/11/lesser-known-classics-1-rufio-mcmlxxxv"&gt;first in the series&lt;/a&gt; was about Rufio&amp;#8217;s masterpiece, &lt;span class="caps"&gt;MCMLXXXV&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;This post is about the Queens of the Stone Age album, Songs for the Deaf. Now it&amp;#8217;d be hard to argue that QotSA are &amp;#8220;lesser known&amp;#8221; &amp;#8211; they are a huge, well recognized band within the rock world, and have been making great music for a little over ten years now. Songs for the Deaf itself got critical and commercial acclaim, and achieved gold status. However, it seems that truly classic albums rarely leave the rock and roll consciousness, and are used as a milestone to compare other albums too &amp;#8211; and Songs for the Deaf, unfortunately, doesn&amp;#8217;t appear to be held in that regard. I think it should be.&lt;/p&gt;


	&lt;p&gt;Unlike the Rufio album in the first post I made, I can&amp;#8217;t honestly say I think each and every song on the album is a winner &amp;#8211; the difference here is that there are a number of mind blowingly brilliant songs that just makes the entire album a classic, and all of the songs seamlessly flow into each other, making the whole thing an audio experience to behold.&lt;/p&gt;


	&lt;p&gt;The superb opening song (&amp;#8220;You Think I Aint Worth A Dollar But I Feel Like A MIllionaire&amp;#8221;) sets up the entire record. Beginning with sound effects of someone entering a car, and continuing with the car radio DJ introducing the album &amp;#8211; &amp;#8220;I need a saga &amp;#8211; what&amp;#8217;s the saga? It&amp;#8217;s Songs for the Deaf. You can&amp;#8217;t even hear it&amp;#8221;. The album is indeed an epic saga, and &amp;#8220;Songs for the Deaf&amp;#8221; alludes to QotSA&amp;#8217;s comical, zany nature that shows throughout all of their work.&lt;/p&gt;


	&lt;p&gt;Of course, this album is special as Dave Grohl did the guest drums, and immediately after the DJ introduction, a heavy drum beat sets up a hard rocking opening song that really buzzes. With a great rhythm, the song just feels right. The guitar work on this track is brilliant too, and it&amp;#8217;s one of those songs that you can imagine must be an absolute riot to play live on stage.&lt;/p&gt;


	&lt;p&gt;Immediately following this breathtaking opening is the first single from the album, &amp;#8220;No One Knows&amp;#8221;. Again with a great drum beat laid down by the mastermind Mr Grohl, it&amp;#8217;s very catchy, and very cool. Not too heavy, but it was a great vehicle for the album, and the kind of song that gets stuck in your head for days at a time. Another single, &amp;#8220;First It Giveth&amp;#8221; follows, a lot heavier than &amp;#8220;No One Knows&amp;#8221;, and while not as catchy, it&amp;#8217;s another winner. More big drums, and this time with a more impressive bass line &amp;#8211; it also incorporates acoustic elements for the bridges in the song, which gives the song a stop-start melody that&amp;#8217;s more than a little interesting.&lt;/p&gt;


	&lt;p&gt;&amp;#8220;A Song For The Dead&amp;#8221; follows that track, and again revolves around an incredible drum beat, and some brilliant guitar work. While a lot of the tracks on this album follow the same pattern (and why not, when you have Josh Homme on the axe, and Dave Grohl on drums?), it never seems to be overly repetitive. This song builds up and builds up as it progresses, and reaches epic proportions towards the end of the fifth minute, as it slides into an epic guitar frenzy with the same guitar and drum melody that opened the track, this time on steroids. By the time the song is done (it&amp;#8217;s almost six minutes long), you feel drained.&lt;/p&gt;


	&lt;p&gt;What follows almost feels like a bit of a rest and relaxation period for the album, after the frenetic opening. It&amp;#8217;s not that the following songs are bad, they just simply couldn&amp;#8217;t keep up with the album&amp;#8217;s first four tracks. Luckily though, the album again switches it up a notch when we get to the best track on the album (and one of my favourite songs of all time) &amp;#8211; &amp;#8220;Go With The Flow&amp;#8221;. Contrary to some of the other, mammoth tracks on the record, this weighs in at just over three minutes. However this is perhaps the only area that the track comes up short, as it delivers in every other department. Once again tying musical mischief together are the guitar and drums, setting the stage for a fairly heavy track, but one that still feels melodic. &amp;#8220;I can go, with the flow&amp;#8221; sings Homme, and it&amp;#8217;s obvious by this point that he&amp;#8217;s right. The entire album is about flow, and about the songs tying together to form something that is bigger than the sum of its parts. It is in fact this song that seems to define the album for me, being a reference point for all of the brilliant aspects that it incorporates. Special mention must also be made for the amazing video that was put out for this video as this song too was a single. The video is a dark, comic-like affair, that seems to take place on a hellish highway. It&amp;#8217;s not particularly subtle in the end, but the video and song work together better than any I&amp;#8217;ve ever seen.&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s true that the rest of the album doesn&amp;#8217;t feel as good from here on out &amp;#8211; but I think that is almost certainly down to the quality of the songs that precede the final ones, the ending songs themselves are easy to listen to and do a great job of supporting the real star tracks on this record. It&amp;#8217;s worth mentioning the closing &amp;#8220;Mosquito Song&amp;#8221; though, which is a fantastic way to end the record, favouring a slower, quieter acoustic sound over the heavy drums and guitar that laid to waste the first 50 minutes. It puts the excesses in perspective, and frames the entire album as a classic.&lt;/p&gt;


	&lt;p&gt;So what makes this a classic? It just seems to have it all &amp;#8211; it sounds great, it feels great, and it has lasted the test of time &amp;#8211; this album is now six years old, and still seems as fresh as the day I first popped it into my CD player. That surely is the true test of a classic &amp;#8211; does it still sound as great as day one? The answer here is yes.&lt;/p&gt;


	&lt;p&gt;So what of QotSA now? They&amp;#8217;ve had some interesting stuff happen over the last few years, with band members coming and going &amp;#8211; but Josh Homme is still at the helm, and while the follow-up to &amp;#8220;Songs for the Deaf&amp;#8221;, &amp;#8220;Lullabies to Paralyze&amp;#8221; wasn&amp;#8217;t up to the same standard, the more recent effort, &amp;#8220;Era Vulgaris&amp;#8221; comes a lot closer. It is unlikely to be a classic, but includes some really brilliant tracks, such as the first single &amp;#8220;Sick Sick Sick&amp;#8221;, and &amp;#8220;3&amp;#8217;s and 7&amp;#8217;s&amp;#8221;. I guess it&amp;#8217;s a shame sometimes for a band to have such an amazing album as &amp;#8220;Songs for the Deaf&amp;#8221; in the middle of their career &amp;#8211; it must make going back to the studio afterwards incredibly difficult.&lt;/p&gt;


	&lt;p&gt;If you don&amp;#8217;t have &amp;#8220;Songs for the Deaf&amp;#8221;, pick it up immediately.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=PJpyDY"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=PJpyDY" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Cjw2oj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Cjw2oj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=dDtPlj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=dDtPlj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=V8DlAJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=V8DlAJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=EnFKGJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=EnFKGJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=FmCLsj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=FmCLsj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Fypk4J"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Fypk4J" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/346648046" height="1" width="1"/&gt;</description><pubDate>Sat, 26 Jul 2008 14:39:31 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/07/26/lesser-known-classics-2-queens-of-the-stone-age-songs-for-the-deaf</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/07/26/lesser-known-classics-2-queens-of-the-stone-age-songs-for-the-deaf</feedburner:origLink></item><item><title>What's up Proc?</title><link>http://feeds.feedburner.com/~r/crazycool/~3/328218594/what-s-up-proc</link><description>&lt;p&gt;So it&amp;#8217;s awesome Ruby snippet time, and in particular I&amp;#8217;m going to look at the ability to evaluate statements against a block, specifically to find out where the particular block came from.&lt;/p&gt;


	&lt;p&gt;The &amp;#8220;eval&amp;#8221; command not only takes in the command to be executed, but can also optionally take in a binding to run against. This means that instead of evaluating a command against the current, local binding, a specific binding can be used, and for our example, we are going to use the binding on a Proc object, to allow us to evaluate a statement as if it was running within the block itself.&lt;/p&gt;


	&lt;p&gt;Let&amp;#8217;s setup a module that allows us simply to register a block to an array:
&lt;br /&gt;
&lt;pre class="code"&gt;
module TestApp
  class &amp;lt;&amp;lt; self
    # Adds a block to our global array
    def add_block(&amp;#38;block)
      @@blocks ||= []
      @@blocks &amp;lt;&amp;lt; block
    end

    # This just returns our block array so we can iterate through it
    def blocks
      @@blocks
    end
  end
end
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;Within this same file (let&amp;#8217;s call it test1.rb), we can also register a test block. The execution of the block isn&amp;#8217;t really important, so let&amp;#8217;s just do:
&lt;br /&gt;
&lt;pre class="code"&gt;
TestApp::add_block { puts "test1" }
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;Now let&amp;#8217;s setup a second script (called test2.rb) that&amp;#8217;ll also register a block, and that will iterate through the blocks and use the &amp;#8220;eval&amp;#8221; command to show where each block originated from:
&lt;br /&gt;
&lt;pre class="code"&gt;
# Reference our first script
require File.join(File.dirname(__FILE__), "test1")

# Add a second block
TestApp::add_block { puts "test2" }

# For each block we have, run a statement that will return the "__FILE__" variable for each block, against the blocks own binding
TestApp::blocks.each do |blk|
  puts "Block from: #{eval('__FILE__', blk.binding)}" 
end
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;If we run the test2.rb script now, we should see output similar to the following:
&lt;br /&gt;
&lt;pre class="code"&gt;
Block from: ./test1.rb
Block from: test2.rb
&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;So we can now differentiate between our blocks, by investigating the blocks own binding! Something to bear in mind is that obviously the paths shown are relative &amp;#8211; if you were executing the test2.rb script using an absolute path (for example, &amp;#8220;ruby /path/to/test2.rb&amp;#8221;), you&amp;#8217;d see that the absolute paths were shown instead. Either way, the information should be useful in determining the origin of a block.&lt;/p&gt;


	&lt;p&gt;Now you may be asking, what&amp;#8217;s the use case for something like this? Our block registration code above does nothing useful, and in fact we don&amp;#8217;t even execute the blocks themselves! Well, within &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt; we use &lt;a href="http://github.com/mleung/feather/tree/master/lib/hooks.rb#L18"&gt;this code&lt;/a&gt; to find out which plugin registered a particular block &amp;#8211; in this way, we can check at runtime (before executing the registered block) whether the plugin is active or not. If it isn&amp;#8217;t, it won&amp;#8217;t be executed, if it is, it will.&lt;/p&gt;


	&lt;p&gt;This is just one of those cool things you can do when you have a reference to a specific binding &amp;#8211; there&amp;#8217;d be nothing to stop you from interacting with the blocks bindings in other ways too.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=Z9YsFt"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=Z9YsFt" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=UZsyNj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=UZsyNj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ZdMkjj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ZdMkjj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=zmDDfJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=zmDDfJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=18VcZJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=18VcZJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=wXytjj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=wXytjj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=jeqbOJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=jeqbOJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/328218594" height="1" width="1"/&gt;</description><pubDate>Sun, 06 Jul 2008 17:48:33 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/07/06/what-s-up-proc</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/07/06/what-s-up-proc</feedburner:origLink></item><item><title>Meebo + Fluid</title><link>http://feeds.feedburner.com/~r/crazycool/~3/327731608/meebo-fluid</link><description>&lt;p&gt;Much like my boy &lt;a href="http://bloggingmyassoff.com"&gt;Mike&lt;/a&gt;, &lt;a href="http://bloggingmyassoff.com/2008/06/06/os-x-chat-clients"&gt;I&amp;#8217;ve grown tired of Adium too&lt;/a&gt;. The app itself is great, but unfortunately the connection with &lt;span class="caps"&gt;MSN&lt;/span&gt; seems to be rather flakey. So I tried out &lt;a href="http://www.meebo.com"&gt;Meebo&lt;/a&gt;, and it rocks. I&amp;#8217;m using &lt;a href="http://fluidapp.com"&gt;Fluid&lt;/a&gt; so that I can have it open in it&amp;#8217;s own window. The only thing lacking was IM notifications for when the Meebo window doesn&amp;#8217;t have the focus &amp;#8211; or should I say, the only thing that &lt;span class="caps"&gt;WAS&lt;/span&gt; lacking? I&amp;#8217;ve written a basic user script for Meebo on Fluid that&amp;#8217;ll display the name of any user talking to you on the dock badge for the Meebo Fluid instance, and the message they have sent will be displayed as a &lt;a href="http://growl.info"&gt;Growl&lt;/a&gt; notification. You can check out the script &lt;a href="http://userscripts.org/scripts/show/29646"&gt;here&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;The &lt;a href="http://userscripts.org/scripts/review/29646"&gt;script&lt;/a&gt; itself is rather simple, and just piggybacks on the fact that Meebo changes the document title when the window doesn&amp;#8217;t have the focus, and someone sends you an IM. Meebo will cycle through the name of the user talking, and the message they have sent, in the window title. The script simply regularly checks for changes to the window title, and then splits out the user, and their message, so as to display the user on the dock badge, and the user/message as a Growl notification. Once you focus on the Meebo window, Meebo ensures that the title returns to the default, and the notifications stop.&lt;/p&gt;


	&lt;p&gt;Hopefully this will be of use to others too, and if anyone is able to take it and improve it further, I&amp;#8217;d like to hear about it!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=C4GnMW"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=C4GnMW" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=VoBz2j"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=VoBz2j" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ryqdaj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ryqdaj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=jmYgZJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=jmYgZJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ghHg9J"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ghHg9J" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=CMNdvj"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=CMNdvj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=EytQ6J"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=EytQ6J" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/327731608" height="1" width="1"/&gt;</description><pubDate>Sun, 06 Jul 2008 01:15:55 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/07/06/meebo-fluid</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/07/06/meebo-fluid</feedburner:origLink></item><item><title>Viva Las Vegas</title><link>http://feeds.feedburner.com/~r/crazycool/~3/321671738/viva-las-vegas</link><description>&lt;p&gt;So fellow Brit &lt;a href="http://www.petercooper.co.uk"&gt;Peter Cooper&lt;/a&gt; &lt;a href="http://twitter.com/peterc/statuses/845191521"&gt;mentioned&lt;/a&gt; on Twitter that he is getting married in September this year in Las Vegas. I said that my wife and I got married in Las Vegas last September, and &lt;a href="http://twitter.com/peterc/statuses/845240462"&gt;he asked&lt;/a&gt; if I had any advice or tips to share. Unfortunately, 140 characters isn&amp;#8217;t really enough :-)&lt;/p&gt;


	&lt;p&gt;We had an incredible time last year, and I wouldn&amp;#8217;t have changed a thing. So for those like Peter who are planning or thinking of planning a wedding in Las Vegas, here are a few tips I can think of just from our experiences:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;it&amp;#8217;ll probably depend on where you are getting married (we had our ceremony at &lt;a href="http://www.harrahs.com/casinos/caesars-palace/hotel-casino/property-home.shtml"&gt;Caesars Palace&lt;/a&gt;, in the beautiful Venus Garden), but try to make sure that there is a dedicated wedding planner Stateside at your venue of choice that can deal with any queries over the phone or e-mail at any time. Having that peace of mind knowing that they will walk you through the process and answer any question you have within a day or two makes the whole thing a lot easier&lt;/li&gt;
		&lt;li&gt;if you&amp;#8217;re getting wed at a casino hotel, make sure to remind them just how much you&amp;#8217;re spending on the ceremony, and I&amp;#8217;m sure they&amp;#8217;ll see what they can do with regards to discounts for other services. For example, by getting married at Caesars Palace, owned by Harrahs, we were offered discounted rooms at any Harrahs casino hotels (such as Ballys, Paris, Caesars Palace etc) for us or anyone in our wedding party. Also see what else you can get included within the package, such as a honeymoon suite for the night of the wedding, free champagne in the room etc&lt;/li&gt;
		&lt;li&gt;even if you are planning a small reception do (we had 11 people including us), book ahead. By doing so, you can try to secure a private room in one of the many amazing restaurants Vegas has to offer, and you&amp;#8217;ll find that having a private room isn&amp;#8217;t too expensive in many places, providing you are able to commit to a set menu, or choose a set of meals ahead of time (so the restaurant roughly know how much your business will be worth!). We had our reception meal at a private room in &lt;a href="http://www.venetian.com/canaletto.aspx"&gt;Canaletto&lt;/a&gt; (within the Venetian hotel), and it had a private balcony overlooking the faux Venice Grand Canal within the hotel. It was absolutely beautiful, and while it was by far the most expensive meal I&amp;#8217;ve ever paid for, every cent was worth it&lt;/li&gt;
		&lt;li&gt;you absolutely must ensure you are in Vegas at least two days before the wedding, preferably longer (we landed on the Sunday, and got married on the Thursday). This will ensure that you are able to get over jet lag, and get used to the hot and humid weather over there&lt;/li&gt;
		&lt;li&gt;on top of the above, it&amp;#8217;s really worthwhile heading downtown to the courthouse to get your marriage license as soon as possible. You need to provide identification (such as a passport), and will need to pay a fee for the license (it was around $50 for us back in September last year). However you&amp;#8217;ll need this done and dusted before the ceremony, and if you go as soon as possible, then if the courthouse is busy, you&amp;#8217;ll leave yourself enough time to get the license without having to rush around&lt;/li&gt;
		&lt;li&gt;it sounds obvious, but plan every detail you can before you set foot in Vegas &amp;#8211; don&amp;#8217;t leave anything to sort out when you get there. You want the whole thing to be as stress free as possible, and if you have everything set in stone beforehand, it will be. Take printed paperwork for everything (e-mail confirmation of reception restaurant booking, for example), just in case&lt;/li&gt;
		&lt;li&gt;if you&amp;#8217;ve got a room booked as part of the ceremony package for the wedding night, then when you check in on the day of the wedding (the grooms job, as the bride is busy elsewhere!), don&amp;#8217;t be afraid to ask for an upgrade. At the very least, you&amp;#8217;ll get a reasonable price on a fantastic better room (for a small upgrade price, we got a honeymoon suite on the 42nd floor of one of the amazing Caesars Palace towers, overlooking the Bellagio fountains and down the strip!). If you&amp;#8217;re lucky, you may get a great upgrade on the house&lt;/li&gt;
		&lt;li&gt;budget for everything, and err on the side of caution. Remember tax, and gratuities. If you plan for every penny, and round up, as well as going for the most expensive scenario, then if it comes in cheaper, you&amp;#8217;ll have a few extra bucks for the slots&lt;/li&gt;
		&lt;li&gt;pay extra for the video/DVD of the ceremony. It&amp;#8217;s worth every cent (no matter how expensive) to be able to re-live the best day of your life over and over&lt;/li&gt;
		&lt;li&gt;on the day itself, take in every minute, and enjoy it all. It sounds simple, but I had it mentioned to me before the big day, and I tried to make sure that on the day itself, I stopped and took in every little detail as much as possible. It&amp;#8217;s an amazing day, and it&amp;#8217;ll be over before you know it, so make sure you enjoy it&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;I wholeheartedly recommend Caesars Palace for the ceremony itself, as it was absolutely fantastic, and our wedding coordinator was brilliant. However there are a number of very classy casinos up and down the strip that I&amp;#8217;m sure would provide similar services. It really comes down to personal preference, and finding &amp;#8220;the place&amp;#8221; that is right for both of you.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://crazycool.co.uk/files/wedding/01.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;As for Vegas itself, and the experiences on offer, I can honestly say that the six days we were there for weren&amp;#8217;t enough to even scratch the surface of what it has to offer. But the stuff that we did that we really enjoyed:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;a tour out to the Grand Canyon. The flight out there didn&amp;#8217;t agree with me, but I&amp;#8217;d do the whole thing again to see the views &amp;#8211; absolutely stunning. Worthwhile doing the incredible Skywalk there too&lt;/li&gt;
		&lt;li&gt;set aside at least one day to just walk up and down the strip, and look at the incredible variety in hotels and resorts. You can do some great shopping, and see all of the quirks of some of the major hotels (lions at &lt;span class="caps"&gt;MGM&lt;/span&gt;, NY hot dogs from New York New York, the pyramid at Luxor) by just braving the heat and taking a full days walk around. You won&amp;#8217;t cover it all, but you&amp;#8217;ll have a blast&lt;/li&gt;
		&lt;li&gt;gamble a little! Set aside a budget for slots or blackjack each day, and any money you win, can go toward a round of drinks! I&amp;#8217;ll never forget putting $4 into a slot machine, and on the last quarter, turning out $120 in winnings. So long as you stick to your budget, it doesn&amp;#8217;t matter if you win or lose &amp;#8211; it&amp;#8217;s all fun!&lt;/li&gt;
		&lt;li&gt;stop and watch the Bellagio fountains&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;I&amp;#8217;m probably missing a load of stuff here, but off the top of my head, this was the most useful information I can think of. I can honestly say however that in my (almost) 23 years on this planet, my wedding day was the happiest day of all.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://crazycool.co.uk/files/wedding/02.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=BtDY7R"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=BtDY7R" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=gZTJTi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=gZTJTi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=GIM6si"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=GIM6si" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=UnMEHI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=UnMEHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=YEZyeI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=YEZyeI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=jMIVZi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=jMIVZi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=PeMSGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=PeMSGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/321671738" height="1" width="1"/&gt;</description><pubDate>Fri, 27 Jun 2008 23:34:23 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/27/viva-las-vegas</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/27/viva-las-vegas</feedburner:origLink></item><item><title>Call To Arms</title><link>http://feeds.feedburner.com/~r/crazycool/~3/320031563/call-to-arms</link><description>&lt;p&gt;So a quick Feather update: we&amp;#8217;re now running against the latest stable versions of Merb (0.9.3) and DataMapper (0.9.1), which should make getting Feather up and running even easier. We&amp;#8217;re also currently starting work on running against edge Merb, to try and implement merb-slices, so that Feather can be run as a slice within other apps, and so that Feather plugins themselves are slices in their own right. If you&amp;#8217;d like to contribute to that effort, there is a &amp;#8220;slices&amp;#8221; branch for both &lt;a href="http://github.com/mleung/feather/commits/slices"&gt;core&lt;/a&gt;, and &lt;a href="http://github.com/eldiablo/feather-plugins/commits/slices"&gt;plugins&lt;/a&gt;. Just fork, hack away, and send me a pull request with your changes!&lt;/p&gt;


	&lt;p&gt;In other news, the &lt;a href="http://blog.merbivore.com"&gt;official Merb blog&lt;/a&gt; is now running the best Merb blog in the world &amp;#8211; that&amp;#8217;s right, &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt;! It&amp;#8217;s great to see the blog running Feather, and we hope we can continue to improve it to make it even more useful for the Merb guys to be able to get out important Merb information and articles!&lt;/p&gt;


	&lt;p&gt;Also, I&amp;#8217;ve been through the tickets on the &lt;a href="http://feather.lighthouseapp.com"&gt;Feather Lighthouse&lt;/a&gt;, and setup two milestones &amp;#8211; 0.5, and 1.0. The idea is that 0.5 will aim for stability, and getting the work on slices up and running. Milestone 1.0 will be for trying to improve the distribution, setup and configuration of Feather to make it more user friendly.&lt;/p&gt;


	&lt;p&gt;There are currently a ton of feature requests and small bug fixes outstanding, that I&amp;#8217;ve assigned to me on the LH tracker. I&amp;#8217;m going to start to try to get through them, but if anyone out there fancies taking any of them on (a lot of them are great little ways to get into Feather development!), then just let me know, and I can re-assign the ticket to you. There&amp;#8217;s no deadline on the 0.5 milestone just yet, but the more contributions we can get to knock off some of the outstanding items, the quicker we&amp;#8217;ll hit the milestone! Consider this a call to arms :-)&lt;/p&gt;


	&lt;p&gt;Lastly, big shout out to some of the contributions coming in &amp;#8211; after a mammoth merge session the other night, I rolled in great contributions from &lt;a href="http://github.com/aflatter"&gt;aflatter&lt;/a&gt;, &lt;a href="http://blog.sudothinker.com"&gt;sudothinker&lt;/a&gt;, &lt;a href="http://github.com/jf"&gt;jf&lt;/a&gt;, &lt;a href="http://www.merbing.com"&gt;piclez&lt;/a&gt; and &lt;a href="http://junglist.gen.nz"&gt;fujin&lt;/a&gt;. Apologies if I missed anyone else &amp;#8211; ping me if I did, and I&amp;#8217;ll give you the appropriate kudos.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=bun8Pl"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=bun8Pl" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=2IJTNi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=2IJTNi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=c7k19i"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=c7k19i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=OkDTgI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=OkDTgI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=y9GSKI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=y9GSKI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=NKiwpi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=NKiwpi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=2vdcnI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=2vdcnI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/320031563" height="1" width="1"/&gt;</description><pubDate>Wed, 25 Jun 2008 22:03:32 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/25/call-to-arms</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/25/call-to-arms</feedburner:origLink></item><item><title>Lesser Known Classics #1: Rufio - MCMLXXXV</title><link>http://feeds.feedburner.com/~r/crazycool/~3/309989622/lesser-known-classics-1-rufio-mcmlxxxv</link><description>&lt;p&gt;This article is the first in a series of musical based posts, highlighting lesser known, great albums.&lt;/p&gt;


	&lt;p&gt;The first in the series is an album I&amp;#8217;ve been listening to a lot on the commute into work this last week, &lt;a href="http://en.wikipedia.org/wiki/MCMLXXXV"&gt;&lt;span class="caps"&gt;MCMLXXXV&lt;/span&gt;&lt;/a&gt; (also known simply as 1985), the second album by the pop-punk band &lt;a href="http://en.wikipedia.org/wiki/Rufio"&gt;Rufio&lt;/a&gt;. Released back in 2003, and weighing in at almost 36 minutes, this album is a joy to listen to, start to finish. The vocals and guitar riffs are what really make the sound of the album, however it&amp;#8217;s backed up by some great drum beats in most tracks.&lt;/p&gt;


	&lt;p&gt;The real highlights have to be &amp;#8220;White Lights&amp;#8221;, &amp;#8220;Why Wait?&amp;#8221;, and &amp;#8220;We Exist&amp;#8221;. However for me, the best track on the album by far is &amp;#8220;Follow Me&amp;#8221;. Opening with a vocal/bass intro, and leading into a pop-punk verse, the chorus really steps the track up a notch with a terrific, emotional sound that drives the entire song. The energy in the chorus is amazing, and it&amp;#8217;s a really uplifting song to listen to. It&amp;#8217;s one of those songs that as soon as it&amp;#8217;s over, you wouldn&amp;#8217;t mind hearing it again.&lt;/p&gt;


	&lt;p&gt;The rest of the album doesn&amp;#8217;t disappoint either however; on &amp;#8220;Decency&amp;#8221;, there is an epic guitar solo towards the end that has a great vibe to it; and on &amp;#8220;Pirate&amp;#8221;, there is a unique sounding intro on guitar that sets the tone for what turns out to be a catchy punk song. The really great thing about the album though is that each and every track is eminently listenable, even those songs that aren&amp;#8217;t necessarily standout hits.&lt;/p&gt;


	&lt;p&gt;All in all, it&amp;#8217;s the kind of album that you put on, and 35 minutes later you&amp;#8217;re sorry it&amp;#8217;s over so quick.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=HX3mDG"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=HX3mDG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=lS28Oi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=lS28Oi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=EQ5OLi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=EQ5OLi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=MUy8II"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=MUy8II" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=McQh5I"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=McQh5I" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=G3xQ4i"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=G3xQ4i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=xpan2I"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=xpan2I" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/309989622" height="1" width="1"/&gt;</description><pubDate>Wed, 11 Jun 2008 22:58:51 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/11/lesser-known-classics-1-rufio-mcmlxxxv</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/11/lesser-known-classics-1-rufio-mcmlxxxv</feedburner:origLink></item><item><title>Feather + DataMapper 0.9</title><link>http://feeds.feedburner.com/~r/crazycool/~3/309966126/feather-datamapper-0-9</link><description>&lt;p&gt;Last night I finished merging some of the work Alexander Flatter did on converting Feather core code for use with DataMapper 0.9, along with the work I did that was required on the plugins code to be compatible with &lt;span class="caps"&gt;DM 0&lt;/span&gt;.9, and some other fixes that popped up during initial testing. It&amp;#8217;s a lot of changes, and so there are bound to be certain bits that aren&amp;#8217;t quite right. Also, after some testing today, it appears that the various combinations of Merb and DataMapper that are getting used are causing some strange errors for some people. We&amp;#8217;ve taken the decision to try and get Feather running cleanly on the latest versions of Merb and DM, so that if people are experiencing problems, the nice simple solution should be installing the latest versions of both dependencies.&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ve committed a workaround within Feather for the merb-cache issue that was holding us back from running on the latest Merb (0.9.3), and I&amp;#8217;ve updated the &lt;a href="http://github.com/mleung/feather/wikis/getting-started"&gt;Getting Started&lt;/a&gt; guide over on GitHub to provide more details on how to setup the core dependencies (Merb and DataMapper) to ensure you are using the latest versions (as well as detailing another potential conflict with the latest version of ParseTree).&lt;/p&gt;


	&lt;p&gt;As is to be expected with a project as young as Feather, it&amp;#8217;s in a fair state of flux at the minute, but please bear with us as we try to improve and upgrade the application to use the latest versions of its core dependencies; we hope that by doing this it will make it easier to setup and install Feather in the long run, and it&amp;#8217;ll also eventually make Feather more stable if we are using the latest stable versions of both Merb and DM.&lt;/p&gt;


	&lt;p&gt;Any questions, comments, issues or bugs can be raised with us in &lt;span class="caps"&gt;IRC&lt;/span&gt; (irc.freenode.net, #feather), or on our new Feather mailing list (http://groups.google.com/group/feather-dev). At the minute, we&amp;#8217;d like as many people as possible to try to use Feather against Merb 0.9.3 and &lt;span class="caps"&gt;DM 0&lt;/span&gt;.9, so we can resolve any outstanding issues promptly, so if you encounter any problems, please let us know!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=7KG8l1"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=7KG8l1" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kntCLi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kntCLi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=sxIpui"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=sxIpui" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kf2WkI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kf2WkI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=OGcORI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=OGcORI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=x2yjNi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=x2yjNi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=JbtaJI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=JbtaJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/309966126" height="1" width="1"/&gt;</description><pubDate>Wed, 11 Jun 2008 22:31:25 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/11/feather-datamapper-0-9</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/11/feather-datamapper-0-9</feedburner:origLink></item><item><title>Apple of my eye</title><link>http://feeds.feedburner.com/~r/crazycool/~3/307545956/apple-of-my-eye</link><description>&lt;p&gt;Tomorrow is the Apple keynote at &lt;span class="caps"&gt;WWDC&lt;/span&gt; in San Francisco, delivered as usual by Steve Jobs. As is customary, there has been a flurry of rumours regarding what may (and may not) be announced tomorrow, but it looks fairly certain at this point that there will be an iPhone upgrade announced. Whether it&amp;#8217;s just the upgrade to 3G, or the fully featured, much rumoured iPhone 2 (with 3G plus supposedly other features like a front-facing camera for video-conferencing, slimmer design, better battery life, &lt;span class="caps"&gt;GPS&lt;/span&gt; and more), only time will tell. We&amp;#8217;ll also have to wait to see whether any announced upgrade is available immediately or not, especially to us over here in the UK. Some seem to think it&amp;#8217;ll be available in stores immediately, I think the safe money is on it being available within a week or so after the keynote. Currently iPhone supplies are scarce over here, so you&amp;#8217;d think it wouldn&amp;#8217;t be too long before the new model hits our shores.&lt;/p&gt;


	&lt;p&gt;One interesting rumour surfacing the last few days is that Apple are now open to carrier subsidies on the iPhone. Whereas previously the iPhone was immune to the type of &amp;#8220;free phone with contract&amp;#8221; deals so common over here, it looks like Apple may be willing to talk to mobile networks about subsidies to try and get the phone into more peoples hands. And even more interesting is rumours that say that O2 here in the UK may offer a free upgrade to the new iPhone model so long as existing customers agree to a further 18 month contract from the point of upgrade (in which case, I&amp;#8217;ll be at the Apple store on Regent Street on Tuesday!), and that potentially they may even offer a phone not tied to a contract for a price of £269 (the handset price for the original iPhone). This will mean those on Pay As You Go over here will still be able to have the iPhone, simply by paying a one-off handset charge. How data charges may work on a &lt;span class="caps"&gt;PAYG&lt;/span&gt; model remains to be seen.&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;ll also be interesting to see whether O2, and other carriers around the world, stick with the unlimited data offered on their iPhone plans when the switch to 3G is made. Will unlimited data still be allowed, or will data sent over the 3G network be charged, or metered in some way?&lt;/p&gt;


	&lt;p&gt;Another big possibility tomorrow is some concrete announcements regarding the iPhone 2.0 firmware, and the AppStore, first announced back at the &amp;#8220;iPhone &lt;span class="caps"&gt;SDK&lt;/span&gt; roadmap&amp;#8221; a few months ago. Will it be online by the time Steve Jobs is done speaking tomorrow? Or will he simply give us an update on it&amp;#8217;s progress, and a definitive launch date for later on in June? I&amp;#8217;d love to see a new iPhone model with 3G/GPS, and the AppStore all launch tomorrow.&lt;/p&gt;


	&lt;p&gt;Despite all the rumours, there is only thing for sure &amp;#8211; this time tomorrow, the rumours will be dispensed with, and the actual announcements will have been made.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=xnjpbz"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=xnjpbz" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=8p4j3i"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=8p4j3i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=5kSlAi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=5kSlAi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=wrOMCI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=wrOMCI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=3B7HTI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=3B7HTI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=c0sJhi"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=c0sJhi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=4W2pcI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=4W2pcI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/307545956" height="1" width="1"/&gt;</description><pubDate>Sun, 08 Jun 2008 20:54:13 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/08/apple-of-my-eye</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/08/apple-of-my-eye</feedburner:origLink></item><item><title>Feather by mail</title><link>http://feeds.feedburner.com/~r/crazycool/~3/306965339/feather-by-mail</link><description>&lt;p&gt;As an alternative to &lt;span class="caps"&gt;IRC&lt;/span&gt;, we&amp;#8217;ve now got a mailing list setup for &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt;, where you can discuss ideas, feature requests and issues. Also, we&amp;#8217;ll use it for announcements surrounding Feather releases. The mailing list is on Google Groups &lt;a href="http://groups.google.com/group/feather-dev"&gt;here&lt;/a&gt;, and you can browse the messages and sign up there. The more the merrier, so sign up, and drop the list a mail if you have something to say about Feather!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=cXM7mb"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=cXM7mb" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=7BDg8i"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=7BDg8i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=n71L1i"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=n71L1i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=nALxII"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=nALxII" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=B4Q3qI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=B4Q3qI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=X4w3Ki"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=X4w3Ki" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=sGV9wI"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=sGV9wI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/306965339" height="1" width="1"/&gt;</description><pubDate>Sat, 07 Jun 2008 20:19:05 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/06/07/feather-by-mail</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/06/07/feather-by-mail</feedburner:origLink></item><item><title>Invites</title><link>http://feeds.feedburner.com/~r/crazycool/~3/302046777/invites</link><description>&lt;p&gt;I&amp;#8217;ve got a fair few invites kicking around to some of the cool new web apps floating around, so if anyone would like to try any of them, ping me with your e-mail, first come first served. I&amp;#8217;ve got five invites to &lt;a href="http://brightkite.com"&gt;Brightkite&lt;/a&gt;, the location based social network; eighteen invites for &lt;a href="http://evernote.com"&gt;Evernote&lt;/a&gt;, the notebook tool; ten invites to &lt;a href="http://getdropbox.com"&gt;Dropbox&lt;/a&gt;, the online storage/sync app, and just two invites to &lt;a href="http://socialthing.com"&gt;socialthing!&lt;/a&gt; which is a lifestream tool similar to &lt;a href="http://friendfeed.com"&gt;FriendFeed&lt;/a&gt;. If anyone wants an invite, let me know.&lt;/p&gt;

&lt;p&gt;Speaking of &lt;a href="http://friendfeed.com"&gt;FriendFeed&lt;/a&gt;, I finally signed up (&lt;a href="http://friendfeed.com/edraper"&gt;http://friendfeed.com/edraper&lt;/a&gt;) to see what all the fuss is about - it&amp;#8217;s actually kinda cool. And I guess if it&amp;#8217;s &lt;a href="http://bloggingmyassoff.com/2008/05/28/bitter"&gt;more reliable than Twitter&lt;/a&gt;, then that&amp;#8217;s no bad thing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=uMOW9D"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=uMOW9D" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Q8kABh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Q8kABh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=LwNsXh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=LwNsXh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=aezGjH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=aezGjH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=bdKMNH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=bdKMNH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=o4bGKh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=o4bGKh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=pJmBVH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=pJmBVH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/302046777" height="1" width="1"/&gt;</description><pubDate>Sat, 31 May 2008 21:38:52 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/05/31/invites</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/05/31/invites</feedburner:origLink></item><item><title>Changes</title><link>http://feeds.feedburner.com/~r/crazycool/~3/300118090/changes</link><description>&lt;p&gt;I haven&amp;#8217;t posted much for the last couple of weeks, the main reason being I was busy finishing one job, and starting another. After four and a half years at &lt;a href="http://www.nildram.net"&gt;Nildram&lt;/a&gt;, it was about time for me to move on to a new, more interesting challenge. And I also wanted to take the opportunity to move from .Net to Ruby on Rails. I was able to find a great new opportunity with a fantastic company, and I&amp;#8217;m now a Ruby on Rails developer with &lt;a href="http://www.touchlocal.com"&gt;TouchLocal, a local business directory&lt;/a&gt;. I started yesterday and my first two days have been really great, I feel like I&amp;#8217;m settling in nicely, the people are great, and the opportunity is just as good as I thought it would be. And of course it&amp;#8217;s awesome to be working with &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt; in my day job.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m aiming to get back to posting a bit more regularly on the weekend, including a round-up on the most recent progress with &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=BtUIRT"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=BtUIRT" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ctqQBh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ctqQBh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=BqGFIh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=BqGFIh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=zEKlCH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=zEKlCH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ynmRGH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ynmRGH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=AFIR4h"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=AFIR4h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=4StW2H"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=4StW2H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/300118090" height="1" width="1"/&gt;</description><pubDate>Wed, 28 May 2008 22:02:27 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/05/28/changes</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/05/28/changes</feedburner:origLink></item><item><title>Feathered</title><link>http://feeds.feedburner.com/~r/crazycool/~3/287131164/feathered</link><description>&lt;p&gt;So it&amp;#8217;s been two weeks since we &lt;a href="http://crazycool.co.uk/2008/04/26/announcing-feather"&gt;open-sourced&lt;/a&gt; &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt;. The feedback so far has been great, really pleasing, we&amp;#8217;ve had some great coverage, and some great contributions. I figured I&amp;#8217;d do an update on where we&amp;#8217;re at, and highlight some of the cool things from the last two weeks.&lt;/p&gt;


	&lt;p&gt;So first of all, the coverage the project has gotten is great. We made it on to the brilliant &amp;#8220;This Week In Ruby&amp;#8221; on &lt;a href="http://antoniocangiano.com"&gt;Antonio Cangiano&amp;#8217;s blog&lt;/a&gt;, for &lt;a href="http://antoniocangiano.com/2008/04/28/this-week-in-ruby-april-28-2008"&gt;April 28th&lt;/a&gt;. We also made it on to the &lt;a href="http://www.railsenvy.com"&gt;Rails Envy&lt;/a&gt; podcast, another great source of the latest Ruby and Rails information, on &lt;a href="http://www.railsenvy.com/2008/4/30/rails-envy-podcast-episode-029-04-30-2008"&gt;April 30th&lt;/a&gt;. On top of that, after submitting the announcement post link to &lt;a href="http://www.rubyflow.com"&gt;RubyFlow&lt;/a&gt;, it then made it on to &lt;a href="http://www.rubyinside.com"&gt;Ruby Inside&lt;/a&gt;, in a &lt;a href="http://www.rubyinside.com/the-best-of-rubyflow-april-24-to-may-5-2008-882.html"&gt;round-up post&lt;/a&gt; of the best of RubyFlow for the last couple of weeks. &lt;a href="http://www.rubyflow.com"&gt;RubyFlow&lt;/a&gt; seems to be a great site for the latest and greatest news in the world of Ruby, so it was brilliant to be picked in a round-up post from two weeks worth of links!&lt;/p&gt;


	&lt;p&gt;We also received numerous links from other bloggers, and there seems to be quite a buzz about the project so far, which is great!&lt;/p&gt;


	&lt;p&gt;As for the sourcecode itself, thanks to GitHub we are able to keep a great handle on the interest level, and we&amp;#8217;ve seen that skyrocket! At the minute, we now have 95 watchers on the &lt;a href="http://github.com/mleung/feather"&gt;main codebase&lt;/a&gt;, and 13 people have forked the code! For the &lt;a href="http://github.com/eldiablo/feather-plugins"&gt;plugins codebase&lt;/a&gt;, we have 6 forks, with 40 watchers! And each day we have more and more people watch or fork the code.&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ve also made some great progress with features and bug fixes. In the last couple of weeks since opening up the codebase, we&amp;#8217;ve had:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;span class="caps"&gt;XHTML&lt;/span&gt;/styling fixes from &lt;a href="http://www.mbleigh.com"&gt;Michael Bleigh&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;custom permalink formats from &lt;a href="http://www.thoughtstoblog.com"&gt;Jake Good&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://bloggingmyassoff.com"&gt;Mike&lt;/a&gt; added pagination for the admin article index, and also for the admin comment index&lt;/li&gt;
		&lt;li&gt;Atom feed support for articles/comments from &lt;a href="http://twitter.com/cypher23"&gt;Markus Prinz&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;a Mephisto importer plugin from Jake Good&lt;/li&gt;
		&lt;li&gt;a Typo importer plugin from &lt;a href="http://marc-seeger.de"&gt;Marc Seeger&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;a small markup fix from Bradly Feeley&lt;/li&gt;
		&lt;li&gt;Mike also nailed a few other fixes&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;I think that&amp;#8217;s most of the major contributions, apologies if I&amp;#8217;ve missed anyone (let me know in the comments and I&amp;#8217;ll update the list!). Considering that it&amp;#8217;s only been open source for two weeks though, I think that&amp;#8217;s great! We also have some other contributions in the pipeline, and so things seem to be progressing nicely. A list of contributors is also available on the GitHub wiki (thanks to Mike) &lt;a href="http://github.com/mleung/feather/wikis/contributors"&gt;here&lt;/a&gt;. If you&amp;#8217;d like to see your name there, you know what to do!&lt;/p&gt;


	&lt;p&gt;To try and organize fixes, issues and feature requests, we&amp;#8217;ve setup a Lighthouse instance for Feather. It&amp;#8217;s available at &lt;a href="http://feather.lighthouseapp.com"&gt;http://feather.lighthouseapp.com&lt;/a&gt;. You&amp;#8217;ll be able to add bugs or feature requests, and if you&amp;#8217;d like to contribute by tackling any of the issues or feature requests there, let us know and we&amp;#8217;ll give you access so that you can be assigned them so everyone knows your working on them. We&amp;#8217;ve also setup an &lt;span class="caps"&gt;IRC&lt;/span&gt; channel to hang out and discuss Feather on irc.freenode.net (#feather). Me and Mike are in there quite a lot, so come on in to talk about Feather, whether it&amp;#8217;s talking about how to set it up, how to extend it, or specific issues you might be having. The more the merrier!&lt;/p&gt;


	&lt;p&gt;Something else to mention is those that have switched their blogs to Feather. Obviously me and Mike are running Feather, and Jake finally got &lt;a href="http://www.thoughtstoblog.com"&gt;his blog&lt;/a&gt; over to Feather once he finished his Mephisto importer. And more recently, in the last few days &lt;a href="http://marc-seeger.de"&gt;Marc&lt;/a&gt; got his blog up and running with Feather too. They all look great, and if anyone else is using Feather, it&amp;#8217;d be great to hear about it, so let me know!&lt;/p&gt;


	&lt;p&gt;Besides logging a few bugs, and hanging out in &lt;span class="caps"&gt;IRC&lt;/span&gt; to help people with some setup issues, I was also able to knock together a basic getting started guide this week. It&amp;#8217;s available on the GitHub wiki for the project, &lt;a href="http://github.com/mleung/feather/wikis/getting-started"&gt;here&lt;/a&gt;. One of our aims is to make setup easier over the next few weeks, but in the meantime at least there is a set of instructions to hopefully make it easier for people to get up and running.&lt;/p&gt;


	&lt;p&gt;Also over the next few weeks, we&amp;#8217;ll be aiming to get an official Feather site up and running, which will include news, updates, an official plugin repository so that we can have one-click installs for plugins, and some more guides to using Feather, and developing plugins for it.&lt;/p&gt;


	&lt;p&gt;With more plugins on the way, a few bugs to fix, and some new features to put together, I&amp;#8217;m sure the next two weeks and beyond will be just as productive for Feather. If you&amp;#8217;re interested in getting involved, drop by #feather and introduce yourself, you&amp;#8217;ll be more than welcome!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=k69XYp"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=k69XYp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=PVIICh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=PVIICh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=AW0hAh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=AW0hAh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=iGbfAH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=iGbfAH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=QaVRDH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=QaVRDH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=oZoDRh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=oZoDRh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=DL4EQH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=DL4EQH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/287131164" height="1" width="1"/&gt;</description><pubDate>Fri, 09 May 2008 22:24:01 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/05/09/feathered</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/05/09/feathered</feedburner:origLink></item><item><title>Defer To</title><link>http://feeds.feedburner.com/~r/crazycool/~3/282819469/defer-to</link><description>&lt;p&gt;So one of the really great features within the &lt;a href="http://www.merbivore.com"&gt;Merb&lt;/a&gt; router is &amp;#8220;defer_to&amp;#8221;. This enables you to defer certain routing decisions to runtime, allowing you to evaluate and decide what needs to be handled where based on runtime factors. This is used in a couple of places within &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt; and its plugins, specifically the main use is the handling of the article permalinks. Each article has a permalink stored against it, and while there is a default pattern for new articles, we allow any url as a permalink for an article to ensure that importing/backwards compatibility is straightforward. As this may not follow any particular pattern, we need to be able to evaluate this at runtime.&lt;/p&gt;


	&lt;p&gt;Originally, Feather handled this with a custom Rack handler, that ran before the main Merb application handler. It checked the request uri, and if it matched an article permalink, it dispatched the call to the articles controller to show the appropriate article. If it didn&amp;#8217;t match, it simply went on and processed using the Merb app handler as normal. This worked fine, but looked like in the long run it might be difficult to maintain &amp;#8211; it would certainly be nice to have a way to handle it all from within Merb routing.&lt;/p&gt;


	&lt;p&gt;Lo and behold, there is! Enter, &lt;a href="http://www.merbivore.com/documentation/merb-core/0.9.2/index.html?a=M000791&amp;#38;name=defer_to"&gt;defer_to&lt;/a&gt;. Let&amp;#8217;s take a look at the article matching code from Feather first of all to see how it works:&lt;/p&gt;


&lt;pre&gt;
&lt;code&gt;
  r.match("").defer_to do |request, path_match|
    unless (article = Article.find_by_permalink(request.uri.to_s.chomp("/"))).nil?
      {:controller =&amp;gt; "articles", :action =&amp;gt; "show", :id =&amp;gt; article.id}
    end
  end
&lt;/code&gt;
&lt;/pre&gt;

	&lt;p&gt;So what is this doing? Well it&amp;#8217;s basically starting by matching all routes. It then calls &amp;#8220;defer_to&amp;#8221;, specifying a block to be used to evaluate a request at runtime. This block is passed the incoming request, which is all we need for our purpose here (the second argument is a set of parameters containing information about the route matched so far &amp;#8211; in our case we are matching everything to try and then match the permalink at runtime, so we don&amp;#8217;t use this argument).&lt;/p&gt;


	&lt;p&gt;We then basically use the incoming request uri to evaluate whether it matches an article permalink, and if it does we return the routing information for that particular article. Otherwise, the block will just return nothing, and so the Merb router will then continue on its way attempting to find a route that matches for the request. This means that the moment a new article is posted, or perhaps old articles are imported with specific permalinks, they are available and will be handled, all using Merb routing, thanks to &amp;#8220;defer_to&amp;#8221;. It&amp;#8217;s a tidy, lightweight, great way of handling a complex routing problem.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=WfIyr9"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=WfIyr9" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=2sdEth"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=2sdEth" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=OYz4Wh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=OYz4Wh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=jgQlqH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=jgQlqH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=craSeH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=craSeH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kI72Jh"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kI72Jh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=k1DEDH"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=k1DEDH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/282819469" height="1" width="1"/&gt;</description><pubDate>Sat, 03 May 2008 16:06:30 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/05/03/defer-to</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/05/03/defer-to</feedburner:origLink></item><item><title>Lights Out</title><link>http://feeds.feedburner.com/~r/crazycool/~3/279672510/lights-out</link><description>&lt;p&gt;The response to us &lt;a href="http://crazycool.co.uk/2008/04/26/announcing-feather"&gt;open-sourcing Feather&lt;/a&gt; has been great so far, with some contributions, some questions, some comments, all good stuff. And now, thanks to the guys over at &lt;a href="http://activereload.net"&gt;ActiveReload&lt;/a&gt;, we&amp;#8217;ve got a public facing instance of &lt;a href="http://lighthouseapp.com"&gt;Lighthouse&lt;/a&gt; to be able to track bugs, issues and feature requests, in both the &lt;a href="http://feather.lighthouseapp.com/projects/10532-core"&gt;core code&lt;/a&gt;, and the &lt;a href="http://feather.lighthouseapp.com/projects/10533-plugins"&gt;plugins&lt;/a&gt;! So if you discover an issue, or want to request a feature, then log it on there at &lt;a href="http://feather.lighthouseapp.com"&gt;http://feather.lighthouseapp.com&lt;/a&gt; and we&amp;#8217;ll get to it! If you&amp;#8217;d like to tackle the fixing of a bug, or the implementation of a feature, get in contact and we&amp;#8217;ll set it up so that we can assign that particular request to you so everyone knows you&amp;#8217;re on it!&lt;/p&gt;

&lt;p&gt;This should make managing and co-ordinating development a lot easier! Thanks again to the guys at &lt;a href="http://activereload.net"&gt;ActiveReload&lt;/a&gt; for a great product, and for hooking us up with a free account for our open source project! And thanks to everyone so far who has contributed with code, comments and queries, keep &amp;#8216;em coming!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=3mXgu0"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=3mXgu0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Z7ajyg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Z7ajyg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=vQw18g"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=vQw18g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=q2oGcG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=q2oGcG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=LU4oHG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=LU4oHG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=JeEZVg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=JeEZVg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=uuPxmG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=uuPxmG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/279672510" height="1" width="1"/&gt;</description><pubDate>Mon, 28 Apr 2008 22:24:22 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/04/28/lights-out</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/04/28/lights-out</feedburner:origLink></item><item><title>Announcing: Feather</title><link>http://feeds.feedburner.com/~r/crazycool/~3/277991760/announcing-feather</link><description>&lt;p&gt;So after a few weeks of &lt;a href="http://crazycool.co.uk/blog/2008/4/7/Light+as+a+Feather"&gt;teaser&lt;/a&gt; &lt;a href="http://crazycool.co.uk/2008/04/13/drop-it-like-it-s-hot"&gt;posts&lt;/a&gt;, we&amp;#8217;ve finally opened up the code on the software that powers this very blog, &lt;a href="http://featherblog.org"&gt;Feather&lt;/a&gt;. It&amp;#8217;s been a collaborative effort so far between me and my boy &lt;a href="http://www.bloggingmyassoff.com/2008/04/25/feather-goes-gold"&gt;Mike&lt;/a&gt;, but now it&amp;#8217;s time to &lt;a href="http://github.com/mleung/feather"&gt;open&lt;/a&gt; &lt;a href="http://github.com/eldiablo/feather-plugins"&gt;source&lt;/a&gt; it, and hopefully people besides us will not only find a use for it, but will also find new ways to extend and improve it.&lt;/p&gt;

&lt;p&gt;So what&amp;#8217;s in the current codebase? As alluded to before, the core itself is lightweight. Basic article posting, and user management is all you&amp;#8217;re really getting. The beauty is in the wide variety of plugins that are (and will be) available to extend the software further. Within a separate plugins repository, there are currently twelve plugins, that extend Feather to provide &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-comments"&gt;comments for articles&lt;/a&gt;, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-feeds"&gt;feeds&lt;/a&gt;, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-formatters"&gt;formatters for article content&lt;/a&gt; (Textile and Markdown), &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-import"&gt;basic RSS importing&lt;/a&gt; for articles and comments, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-pings"&gt;integration with ping services&lt;/a&gt;, the ability to setup hard-coded &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-redirects"&gt;redirects&lt;/a&gt; on your site, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-sidebar"&gt;sidebar&lt;/a&gt; and &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-snippets"&gt;snippet&lt;/a&gt; content, overridden css &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-styles"&gt;styles&lt;/a&gt;, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-tagging"&gt;tagging&lt;/a&gt;, &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-twitter"&gt;Twitter integration&lt;/a&gt; (to display your tweets in line with blog posts), and &lt;a href="http://github.com/eldiablo/feather-plugins/tree/master/feather-uploads"&gt;file uploads&lt;/a&gt;. The code in core and for these plugins probably isn&amp;#8217;t perfect, but it&amp;#8217;s good enough to power a few blogs already - and improvement is where you come in.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;ve got an idea for a new plugin, improvements to existing functionality, or you&amp;#8217;ve found a bug, then by all means fork the project on &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt;, implement your code, and send us a pull request so we can merge the changes into the main trunk. Alternatively, send us your patch &lt;a href="mailto:el@eldiablo.co.uk"&gt;via e-mail&lt;/a&gt;, and we&amp;#8217;ll look to include it within the application. If you submit two patches to either &lt;a href="http://github.com/mleung/feather"&gt;feather&lt;/a&gt;, or &lt;a href="http://github.com/eldiablo/feather-plugins"&gt;feather-plugins&lt;/a&gt;, then you&amp;#8217;ll be given commit access to the repository in question, and will effectively become part of the core team. So what needs doing right away?&lt;/p&gt;

&lt;p&gt;The biggest deficiency at the minute are specs - there are some specs in the core code, but it doesn&amp;#8217;t cover a lot of the application, and ideally we&amp;#8217;d be aiming for 100% coverage of the core controllers and models. We then need to devise a decent way of similarly shipping specs with plugins. When we start updating and improving plugins, we&amp;#8217;ll need a way of handling data migrations smoothly and efficiently. On top of this, there are still outstanding useful plugins that need to be written, such as content search, and trackbacks, as well as integration with services other than Twitter. Lastly, there are bound to be bugs, so roll up your sleeves and fix them, it&amp;#8217;ll be much appreciated!&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ll be rolling out a Feather website soon, along with an official plugin directory to make installing plugins easier - for now, there&amp;#8217;s a basic getting started page on the &lt;a href="http://github.com/mleung/feather/wikis"&gt;wiki&lt;/a&gt; over at GitHub, and there will be more information over the coming days on both mine and &lt;a href="http://www.bloggingmyassoff.com"&gt;Mike&amp;#8217;s blog&lt;/a&gt;. Any questions in the meantime, then &lt;a href="mailto:el@eldiablo.co.uk"&gt;let me know&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Other than that, what are you waiting for? Get your Feather on!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=uumEKr"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=uumEKr" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=0greLNg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=0greLNg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Gx0Nuyg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Gx0Nuyg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=zUo85iG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=zUo85iG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=z2swKbG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=z2swKbG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=9FcwIfg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=9FcwIfg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=H5xs3bG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=H5xs3bG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/277991760" height="1" width="1"/&gt;</description><pubDate>Sat, 26 Apr 2008 01:52:39 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/04/26/announcing-feather</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/04/26/announcing-feather</feedburner:origLink></item><item><title>gem install merb-manage</title><link>http://feeds.feedburner.com/~r/crazycool/~3/274291516/gem-install-merb-manage</link><description>&lt;p&gt;So I&amp;#8217;ve put merb-manage up on &lt;a href="http://rubyforge.org/projects/merb-manage/"&gt;RubyForge&lt;/a&gt;, and uploaded the latest gem release, 0.4. This now means that you can do &amp;#8220;gem install merb-manage&amp;#8221; and have it installed to your machine, ready for use! For more information on how to use it and setup your apps, see the &lt;a href="http://github.com/eldiablo/merb-manage"&gt;README&lt;/a&gt; over in the source at GitHub.&lt;/p&gt;

&lt;p&gt;Any questions or comments, let me know!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=VAqZgm"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=VAqZgm" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=yc9PFLg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=yc9PFLg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=9MssC8g"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=9MssC8g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=stSUomG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=stSUomG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=TcBMOdG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=TcBMOdG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=allzTLg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=allzTLg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Ad88l7G"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Ad88l7G" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/274291516" height="1" width="1"/&gt;</description><pubDate>Sun, 20 Apr 2008 21:51:36 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/04/20/gem-install-merb-manage</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/04/20/gem-install-merb-manage</feedburner:origLink></item><item><title>Manage Your Merb</title><link>http://feeds.feedburner.com/~r/crazycool/~3/271288934/manage-your-merb</link><description>&lt;p&gt;So in getting this blog up and running on a server of mine, I needed a simple way to control and configure the Merb application, preferably with the ability to quickly alter the amount of servers, the logging, or indeed the adapter being used, amongst other things. I also wanted it so that much like Nginx, the Merb application itself would automatically restart if the server got bounced for whatever reason.&lt;/p&gt;

&lt;p&gt;Introducing&amp;#8230; &lt;a href="http://github.com/eldiablo/merb-manage"&gt;merb-manage&lt;/a&gt;! Hosted over at &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt;, and open source, this is a simple tool that allows you to quickly and easily manage your Merb configurations on a server, and start/stop/restart your Merb applications as per your configuration. It also includes a bash script that can be installed to act as a startup script (such as in /etc/init.d) so that when your server restarts, your Merb applications spring back to life too! You can store the configuration within your application, and simply symlink it to a central configuration directory for merb-manage to go to work on (defaults to /etc/merb-manage), and you can change the adapter, amount of servers, port, user, group, and logging level straight from the configuration! It&amp;#8217;ll handle multiple applications and their configurations so you have a one-stop shop for configuring and managing your Merb instances!&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s fairly simple at the minute and I&amp;#8217;m sure there&amp;#8217;s some more useful features to be added, so if you have any ideas then simply fork it, add them in, and send me a pull request! Likewise any bugs, issues, either let me know, or even better, fix them and I&amp;#8217;ll add them back in to the main tree!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=Z9NwWj"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=Z9NwWj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=sRPWeIg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=sRPWeIg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kKB3mug"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kKB3mug" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kdSAl1G"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kdSAl1G" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=rZbTMvG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=rZbTMvG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=6UPdCFg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=6UPdCFg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=s8GeiQG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=s8GeiQG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/271288934" height="1" width="1"/&gt;</description><pubDate>Wed, 16 Apr 2008 08:36:49 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/04/16/manage-your-merb</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/04/16/manage-your-merb</feedburner:origLink></item><item><title>Drop It Like It's Hot</title><link>http://feeds.feedburner.com/~r/crazycool/~3/271288935/drop-it-like-it-s-hot</link><description>&lt;p&gt;So anyone that isn&amp;#8217;t reading this in a feed reader will see that my blog has had a serious overhaul - and I&amp;#8217;m now running on &lt;a href="http://crazycool.co.uk/blog/2008/4/7/Light+as+a+Feather/"&gt;Feather&lt;/a&gt;. Me and &lt;a href="http://www.bloggingmyassoff.com"&gt;Mike&lt;/a&gt; spent quite a bit of time last week or so expanding the Feather feature set, and it now more than copes with my existing blog. I was able to import all my old posts, customize the default theme to something a little bit different, and add in a few custom snippets (Analytics, FeedFlare etc). I was also able to add redirects for old links to ensure that (hopefully) there isn&amp;#8217;t too much broken by the move. All old posts will have the same permalink too, handled as part of the import process.  &lt;/p&gt;

&lt;p&gt;Currently I&amp;#8217;m running without caching, but I see my partner in crime &lt;a href="http://www.bloggingmyassoff.com"&gt;Mike&lt;/a&gt; has gotten &lt;a href="http://www.bloggingmyassoff.com/2008/04/13/caching-"&gt;caching&lt;/a&gt; up and running on Feather, so I&amp;#8217;ll get that setup and running shortly too, to improve the performance of the blog still further.  &lt;/p&gt;

&lt;p&gt;As far as I can see the blog should be running ok, but any issues - let me know with a comment, or an &lt;a href="mailto:el@eldiablo.co.uk"&gt;e-mail&lt;/a&gt;, and I&amp;#8217;ll get right on it!  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=hlbSJy"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=hlbSJy" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=xjvdM2g"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=xjvdM2g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=FDp4fKg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=FDp4fKg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=yaaWeSG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=yaaWeSG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=N5sOyOG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=N5sOyOG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=u7p5s3g"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=u7p5s3g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Htrr7fG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Htrr7fG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/271288935" height="1" width="1"/&gt;</description><pubDate>Sun, 13 Apr 2008 21:21:52 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/2008/04/13/drop-it-like-it-s-hot</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/2008/04/13/drop-it-like-it-s-hot</feedburner:origLink></item><item><title>Light as a Feather</title><link>http://feeds.feedburner.com/~r/crazycool/~3/265937301/Light+as+a+Feather</link><description>My boy Mike is back &lt;a href="http://www.bloggingmyassoff.com/"&gt;blogging his ass off&lt;/a&gt; again, and this time, he's doing it on some decent software! Last few weeks me and Mike have been working on an ultra-cool blogging platform written using the &lt;a href="http://www.merbivore.com/"&gt;Merb&lt;/a&gt; framework, and it's now in production use for Mike's blog. This very blog will follow suit shortly as I migrate over, and within a few weeks we are hoping to have the codebase in a good enough state to be able to open up the source, and start to invite contributions from anyone that feels the need to help out. The idea behind Feather is the same as Merb - lightweight core framework, extended heavily by plugins, allowing you to choose the pieces of functionality you need, and leave out the guff that you don't. Keep it dialed in here for further updates on Feather over the next few weeks, and keep a keen eye on &lt;a href="http://www.bloggingmyassoff.com"&gt;Mike's blog&lt;/a&gt; too for more great posts. In fact, he's already in the thick of it with this &lt;a href="http://www.bloggingmyassoff.com/2008/04/07/diamond-in-the-rough"&gt;great post&lt;/a&gt; on why Ruby does it for him (and why .Net doesn't).&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=EOSVto"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=EOSVto" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=7AKSwmg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=7AKSwmg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=hyiZoCg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=hyiZoCg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=4kM3PyG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=4kM3PyG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=HdXUEcG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=HdXUEcG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ihQtkgg"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ihQtkgg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=kMKChGG"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=kMKChGG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/265937301" height="1" width="1"/&gt;</description><pubDate>Mon, 07 Apr 2008 22:51:23 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/4/7/Light+as+a+Feather</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/4/7/Light+as+a+Feather</feedburner:origLink></item><item><title>Adventures in Merb</title><link>http://feeds.feedburner.com/~r/crazycool/~3/253281177/Adventures+in+Merb</link><description>I decided to give Merb a go, and after doing a fair bit of reading up on it, I took the plunge. It's a little rough around the edges, but that's probably to be expected given it's youth - however there are a number of cool features and benefits to using it, and it's getting better and better as it's being refactored. I did however come across a few interesting issues getting up and running, so I thought I'd share these to try and make the process easier for others.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I installed the gems from http://merbivore.com, by doing the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;sudo gem install merb --source=http://merbivore.com --include-dependencies&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This gave me the merb-core gem, along with merb-more. However, to get up and running with a database, we really need a database plugin - let's try DataMapper.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;sudo gem install datamapper --source=http://merbivore.com --include-dependencies&lt;br /&gt;sudo gem install merb_datamapper --source=http://merbivore.com --include-dependencies&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now you'd think that a dependency for merb_datamapper would be datamapper itself, however it doesn't get included, and so you need to download that as a gem, and then download merb_datamapper. We then need a few other gems, including one specific to the database you'll be connecting to:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;sudo gem install data_objects --source=http://merbivore.com&lt;br /&gt;sudo gem install do_sqlite3 --source=http://merbivore.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you can see, I chose to install do_sqlite3 for accessing a sqlite3 database. However you could install "do_mysql", or "do_postgres" to access MySql or PostgreSql databases respectively, and I'm sure there are others. Sqlite users using Mac OS X 10.4 (Tiger) should bear in mind an issue I came across, whereby a strange error is received when attempting to do any database related activity with the do_sqlite3 gem and the default native sqlite3 version that comes with the operating system. This manifested itself as a couple of different strange errors (including a "DataMapper constant not found" error when starting Merb), however the solution was simply to grab the latest sqlite source from &lt;a href="http://www.sqlite.org"&gt;www.sqlite.org&lt;/a&gt;, build it, and install it. Then try re-installing the do_sqlite3 gem as above, and you should find that they play together much better!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can now proceed with creating a Merb app to play with:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;merb-gen testapp&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Looking in the "testapp" folder now shows us the initial structure Merb uses, which is fairly similar to how Rails applications are structured. The main differences that you'll need to know straight away are that routes are defined in the "router.rb" file within the "config" directory, and that the main settings and application initialization stuff is within "init.rb" in the "config" folder. Let's setup our app to use DataMapper by changing the "init.rb" file. Find the following lines:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;### Uncomment for DataMapper ORM&lt;br /&gt;# use_orm :datamapper&lt;br /&gt;&lt;br /&gt;### Uncomment for ActiveRecord ORM&lt;br /&gt;# use_orm :activerecord&lt;br /&gt;&lt;br /&gt;### Uncomment for Sequel ORM&lt;br /&gt;# use_orm :sequel&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and uncomment the datamapper line, like this&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;### Uncomment for DataMapper ORM&lt;br /&gt;use_orm :datamapper&lt;br /&gt;&lt;br /&gt;### Uncomment for ActiveRecord ORM&lt;br /&gt;# use_orm :activerecord&lt;br /&gt;&lt;br /&gt;### Uncomment for Sequel ORM&lt;br /&gt;# use_orm :sequel&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This then tells our application to use and load the DataMapper database plugin. Further down in that file you'll see something similar for testing, and you can choose whether to use rspec, or test_unit. Using rspec is the default. After we change the database settings, we run:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;merb-gen&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;to get it to generate database config. This will create the file "database.sample.yml" in the "config" folder, which we can rename to "database.yml", and configure correctly. Here is a sample development configuration set to use sqlite3:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;:development: &amp;defaults&lt;br /&gt;  :adapter: sqlite3&lt;br /&gt;  :database: db/testapp_development.sqlite3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Remember to create the "db" directory. Now to finish off our test application, we can create a dummy controller and views, to see our application in action.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;merb-gen resource person first_name:string last_name:string date_of_birth:date&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we need to migrate the data to take into account the new model. Note there are no migration files like in Rails, however there is a Rake task to migrate the data based on the DataMapper definitions with the model classes:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;rake dm:db:automigrate&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That should now create the database file ("db/testapp_development.sqlite3"), and we should now be able to play around with the model within our application. First, let's run the application via the console, and inspect the new model:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;merb -i&lt;br /&gt;&gt;&gt; Person.count&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will display a count of 0, as there are no people in the database yet. Let's create one:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&gt;&gt; Person.create({:first_name =&gt; "test", :last_name =&gt; "dude", :date_of_birth =&gt; Time.now})&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Only this returns an error!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;DataObject::QueryError: Your query failed.&lt;br /&gt;table people has no column named date_of_birth&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For some reason, the migrations within DataMapper tend to be a bit erratic - there is a console command you can run however that will often fix issues and sync the model definitions to the database more accurately:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&gt;&gt; DataMapper::Persistence::auto_migrate!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Running our create command from before should now work as expected, with a Person object returned and saved with an ID of 1. You can check to ensure that there is a Person object:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&gt;&gt; Person.count&lt;br /&gt;=&gt; 1&lt;br /&gt;&gt;&gt; Person.all&lt;br /&gt;=&gt; [#Person]&lt;br /&gt;&gt;&gt; Person.first&lt;br /&gt;=&gt; #Person&lt;br /&gt;&gt;&gt; Person[1]&lt;br /&gt;=&gt; #Person&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above queries show how to retrieve all Person instances within the database, just the first, or a specific Person by ID. In this case, the same (and only) Person instance is returned (it's returned as an array with a single element in the "Person.all" query). But now let's check out the real deal, and see the web interface - fire it up by just running:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;merb&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will start the server, and you can now browse to http://localhost:4000 to see the application. This will show a Merb error page, saying that no route matches the request "/". This is because while we have a single resource within the application, it's setup to be exposed by default at http://localhost:4000/people. Browse to that url, and you'll see the default Merb generated view. Let's hook this up to the root of the application so it's accessible at the easier to remember url http://localhost:4000. Within the "router.rb" file in the "config" folder, look for the following lines:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;# Change this for your home page to be available at /&lt;br /&gt;# r.match('/').to(:controller =&gt; 'whatever', :action =&gt;'index')&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and change the second line to read the following (uncommenting it, and changing the controller to our "people" controller):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;r.match('/').to(:controller =&gt; 'people', :action =&gt;'index')&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now browsing to http://localhost:4000 will show you the same default view for the "people" index as it would if you were browsing http://localhost:4000/people. You can now customize these views to display and interact the models, in a similar fashion as you would do in Rails!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One other thing to bear in mind is that Merb apps default to port 4000 - however running different apps on that default port at differing times will cause issues because of the way the secret session key is managed. This will most likely be fixed in due course, but at the minute running a second app on the same port at a later date will often result in a secret key error - you can run each app on a different port, or simply find the cookie that represents the "lock" on that port by a specific application, and remove it; then a different application won't have issues using that port. You may well find that re-using a Merb app port with a Rails app also causes an issue, again removing the cookie should fix this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So that's pretty much it - a very basic Merb app, some potential pitfalls found and sidestepped, and a powerful, lightweight web application framework at your fingertips. While it's obvious Merb is a work in progress, it's also obvious just how useful this framework might become, especially for those looking to create more streamlined, better performing applications.
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=RvXYjF"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=RvXYjF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=3TNo9Nf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=3TNo9Nf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=QL2Qrcf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=QL2Qrcf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=cvaJHbF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=cvaJHbF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=P0g0AsF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=P0g0AsF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=0OpfGMf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=0OpfGMf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=c7ZV1mF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=c7ZV1mF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/253281177" height="1" width="1"/&gt;</description><pubDate>Mon, 17 Mar 2008 22:26:16 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/3/17/Adventures+in+Merb</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/3/17/Adventures+in+Merb</feedburner:origLink></item><item><title>Tyred</title><link>http://feeds.feedburner.com/~r/crazycool/~3/252035552/Tyred</link><description>While driving home after picking my wife up yesterday, about two minutes away from our house, we suddenly had a loud banging noise start up, and immediately we both thought "flat tyre". I pulled over as soon as was possible, and took a look around the car. It had already got dark, and I couldn't see anything obviously wrong with any of the tyres. None of them were flat, that was for sure. I took a look under the car, still nothing. It was obvious there was something wrong, and I thought it had to be tyre related, as the noise quickened slightly if I got a few miles per hour faster, and slowed as I slowed down. I drove home at around 10 mph, letting people pass where I could, and then we took another look at the car.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My wife noticed a hissing noise from the right rear tyre, and it became obvious that it was that tyre that had a puncture - however it must have only just happened, as it wasn't yet flat at all. After a bit of investigation with the help of a flashlight, we found the culprit - what appeared to be a screw or bolt in the tyre. As it was already late, I left it until today to sort it out - I ran the tyre into a local place to see if it could be repaired, as the screw/bolt had gone in straight in the center of the tyre, and not on either side, so I was hoping the tyre itself and outer walls were largely intact.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It turned out it was irreparable, and this is the reason why:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="/blog/images/2008/3/15/tyre.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What you see in that picture is a bolt, around four or five inches long, the kind that are used in door handles. It wasn't obvious from the outside how big it was, but with the tyre off of the wheel, you can see just how big an item it was. Somehow it went in dead straight, and considering the speed I was traveling at when I picked it up (around 35 mph), it was fairly lucky that no further damage was done. It was also lucky that we weren't too far from home. However what that bolt was doing in the middle of the road, and how exactly it got wedged the way it did, I don't know - the guys at the local tyre place seemed fairly amazed by it too!
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=mir2UQ"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=mir2UQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=Odvxwrf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=Odvxwrf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=rI15Wmf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=rI15Wmf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=pySnRAF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=pySnRAF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=rJcaMPF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=rJcaMPF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=daG7dPf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=daG7dPf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=PrmBP6F"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=PrmBP6F" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/252035552" height="1" width="1"/&gt;</description><pubDate>Sat, 15 Mar 2008 16:45:41 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/3/15/Tyred</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/3/15/Tyred</feedburner:origLink></item><item><title>The Budget, Democracy, And Britain Today</title><link>http://feeds.feedburner.com/~r/crazycool/~3/250670275/The+Budget,+Democracy,+And+Britain+Today</link><description>So yesterday was the budget in the UK, the day where the government outlined the nations finances, and proposed economic reforms. The Chancellor managed to put a positive spin on many of the economic forecast figures (especially given the global economic backdrop), however it was obvious that the majority of these figures seem to be fairly optimistic, and it doesn't help that a number of the figures were massaged to suit their needs - conveniently leaving out the nationalisation of Northern Rock for example, which has adversely affected the economic outlook for the country. Had it been included in the figures on the nations debt, then the government would have been outside of their targets - of course, even with it excluded, they are barely making their targets, and barely meeting their 'golden fiscal rules'. &lt;br /&gt; &lt;br /&gt; I'm not going to go through all of the budget, as there are a lot of different aspects to it - however here is a brief run down of the bits that seem to be the main talking points today, and which are probably the most salient points for most Britons: &lt;br /&gt; &lt;ul&gt; 	&lt;li&gt;Delayed rise in fuel duty - a 2p increase was due to come in in April, but that has now been delayed until October&lt;/li&gt;&lt;/li&gt; 	&lt;li&gt;Incentives for those buying new greener cars, but potentially increased taxes when buying new cars that are deemed bad for the climate&lt;/li&gt; 	&lt;li&gt;Funding set aside for 'researching' road pricing (i.e. congestion charges, and toll roads)&lt;/li&gt; 	&lt;li&gt;Alcohol duty raised - beer up 4p a pint, wine up 14p a bottle, and spirits up a massive 55p a bottle&lt;/li&gt; &lt;/ul&gt; Lets take a look at the above points in greater detail: &lt;br /&gt; &lt;br /&gt; The delay in the fuel duty sounds like good news - until you realise that fuel prices as a whole have increased by around a fifth in the last two years anyway, and while the biggest reason for that increase is the rise in crude oil prices, the tax that the government currently apply is a percentage - so when the price of fuel goes up, the actual amount of tax they take increases. Crude oil prices have gone up as a result over supply issues, and fears over conflicts in the Middle East - and so the increases are far above inflation. This means that you are paying more for your fuel now than you were a year ago, even in relative terms. A delay until October will still not allow the fuel prices to settle in line with inflation, and will still leave all of us out of pocket every time we fill up our cars. &lt;br /&gt; &lt;br /&gt; Talking about cars - those buying new cars will be affected by a new 'showroom tax'. The idea? Taxing those who decide to purchase cars that are bad for the climate. However in reality, it appears that the definitions may include many cars that are commonly used by Britons today (such as the Ford Mondeo, and the Citroen Picasso). This means it isn't singling out just the worst polluters. From April 2010, the highest polluting cars will result in £950 in vehicle excise duty in the first year. It'll then be £455 per year thereafter. The next emissions band down will draw £750 in the first year, with £430 a year from then on. For current cars, from April 2009, the emissions bands will also change, and it'll result in increased charges for many drivers. Of course, those driving green cars supposedly should end up paying less - but seeing as how these changes are forecast to generate £465m in 2009-10, and £735m in 2010-11, it's obvious that this is another money spinner. It would make sense to me to concentrate on providing incentives to allow many drivers of much much older cars (of which there are still lots on Britain's roads) to upgrade to new cars, which are surely better on emissions in many cases. &lt;br /&gt; &lt;br /&gt; The fund set aside for research into 'road pricing' seems like an awful lot of money to spend, given the state of the economy, and the tightening of the purse strings in other areas. No word yet on whether this 'road pricing' would replace the road tax that all drivers are paying today anyway - however my guess would be that in the end, drivers will end up paying both the road tax, and 'pay as you go' road pricing charges, as it'd just be another source of revenue for the government. &lt;br /&gt; &lt;br /&gt; On alcohol, Labour chose not to adopt the ludicrous proposals put forward by the Tories a week or two ago (massive increases on high alcohol level drinks and alco-pops), however they did decide to apply some fairly hefty, above inflation tax increases to alcohol across the board. The Tory proposals were designed at curbing binge drinking amongst Britain's youth, and there's probably a similar sentiment behind the Labour proposals - however they are all missing the point in a fairly fundamental way. It seems as though everyone is being hit with the increased taxes, to cover the supposed increased costs that the National Health Service and the Police are facing when dealing with binge drinking on the streets. It actually makes more sense to simply bill those responsible for those increased costs. It surely doesn't get any simpler than while handing a yob his court summons for drunk and disorderly conduct after releasing him from an overnight spell in the klink, the Police also hand him a bill for the jail cell for the night, and for their time. Likewise, when a drunken youth is discharged from hospital after having their stomach pumped because of the excess alcohol they irresponsibly consumed, they should have to pay their own medical bill. It seems to have gotten to a level within this country now where personal responsibility is a thing of the past, and so we all pay the price, in most cases, literally. While the above measures of course are simplified somewhat, the basic idea that people could be responsible for their own actions is something that is ignored in todays taxation system. And the main reason we are unlikely to see such a change, is that the increases in alcohol taxation that effect everyone will drag in more revenue for the government than they actually need to cover the increased costs posed by binge drinking, whereas if they only charged those responsible for the costs, they wouldn't end up making any extra money on it. Potentially then, this is yet another stealth tax in many respects, designed to generate revenue to cover shortfalls in other areas (or to pay for expensive research into 'road pricing'). &lt;br /&gt; &lt;br /&gt; Anyone that's followed this thus far has probably gathered that my general feelings on the budget today aren't positive. There seems to be a certain amount of sticking heads in sand, and ignoring the economic slowdown that's affecting the country - instead putting a positive spin on massaged figures. There also seems to be a growing trend towards taxation ahead of personal responsibility. I think that the main problem facing this country at the minute though, is one of democracy. &lt;br /&gt; &lt;br /&gt; Aside from the budget, and the economy; one thing that is forgotten is that the current Prime Minister, and the Cabinet he has put in place, have no public mandate to rule the country. While there are undoubtedly Labour supporters who are behind the current government, no-one in this country has been given the opportunity at the ballot box to decide whether the current Prime Minister, Gordon Brown, is right for the country. This is supposedly a democratic nation, and yet the leader of the country wasn't put in place by any general election. His party was voted in (narrowly) almost three years ago, but he wasn't the leader then, and if he had any stones at all, he would call a general election, and see if him and his party still have a mandate from the people of this country to make decisions, or whether it's time that the country wants someone else in place. Of course, almost all of the newspaper and TV polls suggest that the country DOES want someone else in place, and as long as the public opinion suggests change, the current government will wait as long as possible before asking the nation to vote. They are making decisions here with no say from the 60m inhabitants of the country - that doesn't sound like democracy to me. Here's hoping that Britain becomes a democracy again sometime soon.
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=B1pBj9"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=B1pBj9" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=irHaZdf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=irHaZdf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=H7ins9f"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=H7ins9f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=roCIioF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=roCIioF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=sYnjJ7F"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=sYnjJ7F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=wqpCERf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=wqpCERf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=5mve1NF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=5mve1NF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/250670275" height="1" width="1"/&gt;</description><pubDate>Thu, 13 Mar 2008 09:11:50 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/3/13/The+Budget,+Democracy,+And+Britain+Today</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/3/13/The+Budget,+Democracy,+And+Britain+Today</feedburner:origLink></item><item><title>Git A Load Of This</title><link>http://feeds.feedburner.com/~r/crazycool/~3/250401284/Git+A+Load+Of+This</link><description>So it's already &lt;a href='http://tomayko.com/writings/github-is-myspace-for-hackers'&gt;made&lt;/a&gt; &lt;a href='http://weblog.techno-weenie.net/2008/3/4/my-gushing-github-love-letter'&gt;the&lt;/a&gt; &lt;a href='http://blog.hasmanythrough.com/2008/3/2/migration-concordance'&gt;rounds&lt;/a&gt; on a number of blogs, but having switched to Git about five weeks ago for all my code, I've now been using GitHub for the last three or so weeks, and it's a really great service. The user interface is brilliant, and the integration with Git is incredibly simple. The fact that it's still in beta means there's lots more to come, and they've been very active at &lt;a href='http://github.com/blog/12-tarball-downloads'&gt;adding&lt;/a&gt; &lt;a href='http://github.com/blog/16-token-private-feeds'&gt;in&lt;/a&gt; &lt;a href='http://github.com/blog/18-popular-repos'&gt;new&lt;/a&gt; &lt;a href='http://github.com/blog/19-markdown-d-textile-d-readmes'&gt;features&lt;/a&gt; over the last few weeks too, including most recently the beginnings of &lt;a href='http://github.com/blog/21-the-api'&gt;an API&lt;/a&gt;! I'm running a number of private repos at GitHub and it's been nothing but a joy to use. They just announced their &lt;a href='http://github.com/blog/22-the-pricing-plans'&gt;pricing plans&lt;/a&gt; for when they come out of beta, and it's more than reasonable for the service they provide. Great job guys!
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=7C2RHK"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=7C2RHK" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=mcz9lqf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=mcz9lqf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ak3ESlf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ak3ESlf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=017QsHF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=017QsHF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=gpNpK5F"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=gpNpK5F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=PXFMggf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=PXFMggf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=ku5SdqF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=ku5SdqF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/250401284" height="1" width="1"/&gt;</description><pubDate>Wed, 12 Mar 2008 22:14:30 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/3/12/Git+A+Load+Of+This</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/3/12/Git+A+Load+Of+This</feedburner:origLink></item><item><title>iPhone SDK</title><link>http://feeds.feedburner.com/~r/crazycool/~3/246987072/iPhone+SDK</link><description>So today was another Apple event, the 'iPhone roadmap', and as expected, the SDK was outlined in some depth. To break it down, it basically looks like:&lt;br /&gt; &lt;ul&gt; 	&lt;li&gt;The SDK &lt;a href='http://developer.apple.com/iphone/sdk1/'&gt;is available&lt;/a&gt;, for free, from today (free Apple Developer Connection account required before download)&lt;/li&gt; 	&lt;li&gt;The SDK will require Mac OS X 10.5 Leopard&lt;/li&gt; 	&lt;li&gt;The SDK will provide extensions/additions to XCode/Interface Builder to create iPhone apps, as well as an iPhone simulator, and a remote iPhone debugger&lt;/li&gt; 	&lt;li&gt;The 'App Store', used to distribute iPhone applications direct to the iPhone and iPod Touch, will debut in June as part of the iPhone 2.0 firmware update - it'll be available from today for select beta users&lt;/li&gt; 	&lt;li&gt;There is an iPhone developer program, currently US only (expanding soon), that costs $99 to register, that presumably will put you first in line to be one of the select beta users to get hold of and test the iPhone 2.0 update before June&lt;/li&gt; 	&lt;li&gt;Free apps will be just that, free to distribute through the 'App Store'&lt;/li&gt; 	&lt;li&gt;Commercial apps will have price points set by the developer, with 70% kept by the developer, and 30% of the revenue going to Apple&lt;/li&gt; 	&lt;li&gt;Apple already have a number of partners who have been working on iPhone apps, including EA, Sega, Salesforce.com and AOL&lt;/li&gt; &lt;/ul&gt; It's hard to get too many more details about the SDK direct from Apple's iPhone developer site (&lt;a href='http://developer.apple.com/iphone'&gt;http://developer.apple.com/iphone&lt;/a&gt;) right now, as it's getting hammered. Hopefully more details will trickle out shortly.&lt;br /&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/crazycool?a=5WvFHW"&gt;&lt;img src="http://feeds.feedburner.com/~a/crazycool?i=5WvFHW" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/crazycool?a=yeAMBcf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=yeAMBcf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=nQlxm4f"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=nQlxm4f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=1RyyzpF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=1RyyzpF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=uoPosRF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=uoPosRF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=pXjMAgf"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=pXjMAgf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/crazycool?a=exCczZF"&gt;&lt;img src="http://feeds.feedburner.com/~f/crazycool?i=exCczZF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/crazycool/~4/246987072" height="1" width="1"/&gt;</description><pubDate>Thu, 06 Mar 2008 21:18:05 GMT</pubDate><guid isPermaLink="false">http://crazycool.co.uk/blog/2008/3/6/iPhone+SDK</guid><dc:creator>El Draper</dc:creator><feedburner:origLink>http://crazycool.co.uk/blog/2008/3/6/iPhone+SDK</feedburner:origLink></item></channel></rss>
