<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>London based developer specialising in all things Ruby.

Felix on Github</description><title>felix clack</title><generator>Tumblr (3.0; @felixclack)</generator><link>http://felixclack.com/</link><item><title>MVC for Titanium</title><description>&lt;a href="https://github.com/dawsontoth/TiAir"&gt;MVC for Titanium&lt;/a&gt;: &lt;p&gt;I’ve dabbled with Titanium before, and it seems a handy platform for building mobile apps with. This may be a useful tool to use with it.&lt;/p&gt;</description><link>http://felixclack.com/post/16109763215</link><guid>http://felixclack.com/post/16109763215</guid><pubDate>Thu, 19 Jan 2012 09:37:21 +0000</pubDate><category>titanium</category><category>ios</category><category>android</category><category>mobile</category><category>develop</category></item><item><title>Youth Lagoon are making magic in my speakers</title><description>&lt;a href="http://open.spotify.com/album/4oGbmR7dENuqtRyvX8MShq"&gt;Youth Lagoon are making magic in my speakers&lt;/a&gt;</description><link>http://felixclack.com/post/15615057574</link><guid>http://felixclack.com/post/15615057574</guid><pubDate>Tue, 10 Jan 2012 11:06:00 +0000</pubDate><category>music</category><category>recommendation</category><category>spotify</category></item><item><title>Giant jenga</title><description>&lt;img src="http://30.media.tumblr.com/tumblr_lpzpim1aK11qz4mimo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Giant jenga&lt;/p&gt;</description><link>http://felixclack.com/post/8968082242</link><guid>http://felixclack.com/post/8968082242</guid><pubDate>Mon, 15 Aug 2011 23:08:46 +0100</pubDate></item><item><title>VibeDeck: Direct to fan music sales. 0% commission</title><description>&lt;a href="http://vibedeck.com"&gt;VibeDeck: Direct to fan music sales. 0% commission&lt;/a&gt;</description><link>http://felixclack.com/post/5417545529</link><guid>http://felixclack.com/post/5417545529</guid><pubDate>Thu, 12 May 2011 10:54:00 +0100</pubDate></item><item><title>Appcelerator Titanium + Coffeescript + MVC</title><description>&lt;p&gt;So I’ve been using Appcelerator’s mobile development framework, &lt;a href="http://www.appcelerator.com/products/titanium-mobile-application-development/"&gt;Titanium&lt;/a&gt;, lately, and overall the experience has been good.&lt;/p&gt;

&lt;p&gt;The benefits of being able to make use of my Javascript knowledge to build a multi platform mobile app that runs natively are huge.&lt;/p&gt;

&lt;p&gt;There are a few problems with it though when you’re coming from Ruby.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;getting a testing framework to work with it is a pain.&lt;/li&gt;
&lt;li&gt;a small community of developers using it, so often when you hit a problem, there’s nowhere else to turn, you’re either the only one with this problem or no-one else has found a solution. Either way, you’ve just got to figure it out yourself.&lt;/li&gt;
&lt;li&gt;Ugly code. Let’s face it, Javascript doesn’t look good.&lt;/li&gt;
&lt;li&gt;Where’s the MVC? The example app provided by Appcelerator is a masterclass in how to avoid separating concerns and jam everything into 1 file. Unfortunately, it’s a pattern that I often come across in Javascript.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;This is where &lt;a href="http://jashkenas.github.com/coffee-script/"&gt;coffeescript&lt;/a&gt; comes in. Suddenly javascript starts looking good and you feel better about using it. Combine this with a sensible folder structure and separate your code into a more MVC-y way of doing things and Titanium looks like a contender for doing some serious app building.&lt;/p&gt;</description><link>http://felixclack.com/post/3918508364</link><guid>http://felixclack.com/post/3918508364</guid><pubDate>Thu, 17 Mar 2011 10:50:00 +0000</pubDate><category>appcelerator</category><category>ios</category><category>development</category><category>coffeescript</category><category>mvc</category></item><item><title>Coming soon</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_lfa3p8Ik7k1qz4mimo1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://cowritehq.com"&gt;Coming soon&lt;/a&gt;&lt;/p&gt;</description><link>http://felixclack.com/post/2827795227</link><guid>http://felixclack.com/post/2827795227</guid><pubDate>Wed, 19 Jan 2011 16:41:00 +0000</pubDate></item><item><title>Apache and Snow Leopard 10.6.5 upgrade glitch</title><description>&lt;p&gt;I upgraded to 10.6.5 today and promptly discovered that I couldn’t restart Apache. I kept getting this error:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A quick search and I found &lt;a href="http://notfornoone.com/2010/11/snow-leopard-10-6-5-and-apachectl/"&gt;this post&lt;/a&gt; and it worked for me.&lt;/p&gt;</description><link>http://felixclack.com/post/1543183441</link><guid>http://felixclack.com/post/1543183441</guid><pubDate>Thu, 11 Nov 2010 14:57:34 +0000</pubDate><category>apache</category><category>snow leopard</category><category>os x</category><category>10.6.5</category></item><item><title>Passenger Error: The application spawner server exited unexpectedly: Unexpected end-of-file detected</title><description>&lt;p&gt;I got this error this morning after I thought it’d be a good idea to migrate my new Rails 3 app to Ruby 1.9.2.&lt;/p&gt;

&lt;p&gt;Kind of a weird error because it doesn’t seem that helpful on the surface.&lt;/p&gt;

&lt;p&gt;Digging into the Apache error logs revealed this error mesage:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[BUG] cross-thread violation on rb_gc()
(null) 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ok, now we’re getting somewhere. This is an error due to gems being compiled in a different version of Ruby. Ah, now it makes sense. I was using bundler with the path set to /my/app/gems and they were all compiled against REE 1.8.7.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rm -rf gems
bundle install --path gems
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Fixed that problem. I then ran into another error message:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git://github.com/binarylogic/authlogic.git not checked out
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I’m running the edge version of Authlogic and for some reason Passenger was having a hard time with it. Right, could be to do with me running preview 4 of Passenger 3. A quick&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem install passenger
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and an update to httpd.conf later and my app was back.&lt;/p&gt;</description><link>http://felixclack.com/post/1486413618</link><guid>http://felixclack.com/post/1486413618</guid><pubDate>Fri, 05 Nov 2010 07:50:53 +0000</pubDate><category>rails</category><category>passenger</category><category>ruby</category><category>server</category><category>os x</category></item><item><title>Override a rake task</title><description>&lt;p&gt;Today I ran into a problem where we have a company gem that includes a bunch of helpful rake tasks, one of which imports a production database into your dev db.&lt;/p&gt;

&lt;p&gt;I wanted to do some stuff after this rake import task that was specific to the application I’m working on.&lt;/p&gt;

&lt;p&gt;I first tried to overwrite the task, like you would do with any Ruby method. No dice though, this had the effect of running my lib/import.rake task before the gem task that I was trying to override.&lt;/p&gt;

&lt;p&gt;I saw &lt;a href="http://playtype.net/past/2008/3/27/multiple_databases_in_rails_without/"&gt;a&lt;/a&gt; &lt;a href="http://http://www.taknado.com/2007/7/30/overriding-rake-tasks/"&gt;few&lt;/a&gt; &lt;a href="http://foliosus.com/blog/howto-monkeypatch-rake-overriding-a-rake-task"&gt;posts&lt;/a&gt; about this but they all seem to be overkill for what I wanted. I didn’t want to monkey patch Rake unless I really had to.&lt;/p&gt;

&lt;p&gt;Then I struck gold…&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Rake::Task['some:task:name'].clear`
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;One line to stop the original task and then I could crack on and do whatever I wanted.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;namespace :db do
  task :import =&gt; :environment do
    Rake::Task["db:import"].clear
    ...
    Rake::Task["my_post_import_task"].invoke
  end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Simple.&lt;/p&gt;</description><link>http://felixclack.com/post/1470674900</link><guid>http://felixclack.com/post/1470674900</guid><pubDate>Wed, 03 Nov 2010 13:56:30 +0000</pubDate></item><item><title>Sparrow</title><description>&lt;p&gt;&lt;a href="http://paulyoung.tv/post/1379290920" class="tumblr_blog"&gt;paulyoung&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://sparrowmailapp.com" title=""&gt;&lt;img src="http://media.tumblr.com/tumblr_laqnm42PZW1qznqrs.png" alt=""/&gt;&lt;/a&gt;
&lt;br/&gt;&lt;a href="http://sparrowmailapp.com" title=""&gt;Sparrow&lt;/a&gt; is like &lt;a href="http://www.atebits.com/tweetie-mac"&gt;Tweetie&lt;/a&gt; for Gmail.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://felixclack.com/post/1453360342</link><guid>http://felixclack.com/post/1453360342</guid><pubDate>Mon, 01 Nov 2010 13:59:52 +0000</pubDate></item><item><title>Bruce Williams: Rails IE Conditional Tag Plugin</title><description>&lt;a href="http://codefluency.com/post/1100393830/ie-conditional-tag-plugin"&gt;Bruce Williams: Rails IE Conditional Tag Plugin&lt;/a&gt;: &lt;p&gt;&lt;a href="http://codefluency.com/post/1100393830/ie-conditional-tag-plugin" class="tumblr_blog"&gt;codefluency&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a number of ways to support defining different CSS styles for specific versions of Internet Explorer:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Known CSS Hacks (ie, tricking the parser’s tiny brain with strange incantations)&lt;/li&gt;
&lt;li&gt;Using IE-specific &lt;a href="http://www.quirksmode.org/css/condcom.html" title="QuirksMode: Conditional Comments"&gt;conditional comments&lt;/a&gt; around link tags to additional stylesheets&lt;/li&gt;
&lt;li&gt;Applying…&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;</description><link>http://felixclack.com/post/1203627810</link><guid>http://felixclack.com/post/1203627810</guid><pubDate>Tue, 28 Sep 2010 09:11:32 +0100</pubDate></item><item><title>Scraping your own API</title><description>&lt;p&gt;Ever wished that &lt;a href="http://myspace.com"&gt;MySpace&lt;/a&gt; had an API for adding gigs to your band’s profile? If you view source on the add an event page on MySpace you might notice the url is prefixed with /API. Hmm, is this a sign of an impending release? Hopefully.&lt;/p&gt;

&lt;p&gt;In the meantime you’ll need to roll your own.&lt;/p&gt;

&lt;p&gt;You could use any of the current crop of libraries for http wizardry, &lt;a href="http://github.com/archiloque/rest-client"&gt;RestClient&lt;/a&gt; or &lt;a href="http://github.com/jnunemaker/httparty"&gt;HTTParty&lt;/a&gt; maybe, but we’ve opted for &lt;a href="http://github.com/tenderlove/mechanize"&gt;Mechanize&lt;/a&gt;, which gives us the flexibility to interact with page elements as well as do the usual request/response stuff to urls.&lt;/p&gt;

&lt;p&gt;There’s nothing fancy about MySpace’s forms, just post a bunch of params to the url and you’re golden. They’re even using JSON in the response.&lt;/p&gt;

&lt;p&gt;The toughest part is that there’s no documentation as to what is required for the request to work, it’s pretty straightforward to view source and see what’s getting submitted though, so I’m sure you’ll be alright.&lt;/p&gt;</description><link>http://felixclack.com/post/697148381</link><guid>http://felixclack.com/post/697148381</guid><pubDate>Mon, 14 Jun 2010 12:00:40 +0100</pubDate><category>ruby</category><category>rails</category><category>api</category><category>scraping</category><category>myspace</category></item><item><title>wycats git workflow</title><description>&lt;a href="http://yehudakatz.com/2010/05/13/common-git-workflows/"&gt;wycats git workflow&lt;/a&gt;: &lt;p&gt;Get rid of those merge commits&lt;/p&gt;</description><link>http://felixclack.com/post/679931615</link><guid>http://felixclack.com/post/679931615</guid><pubDate>Wed, 09 Jun 2010 12:53:00 +0100</pubDate></item><item><title>RT @defunkt: Wow, http://github.com/cloudhead/http-console is really cool // love it</title><description>&lt;p&gt;RT @defunkt: Wow, &lt;a href="http://github.com/cloudhead/http-console"&gt;http://github.com/cloudhead/http-console&lt;/a&gt; is really cool // love it&lt;/p&gt;</description><link>http://felixclack.com/post/656605575</link><guid>http://felixclack.com/post/656605575</guid><pubDate>Wed, 02 Jun 2010 14:16:47 +0100</pubDate></item><item><title>The last 8 months of my life… http://bit.ly/aMfk4v @bandcentral launches</title><description>&lt;p&gt;The last 8 months of my life… &lt;a href="http://bit.ly/aMfk4v"&gt;http://bit.ly/aMfk4v&lt;/a&gt; @bandcentral launches&lt;/p&gt;</description><link>http://felixclack.com/post/576512394</link><guid>http://felixclack.com/post/576512394</guid><pubDate>Thu, 06 May 2010 17:50:32 +0100</pubDate></item><item><title>dns problems.</title><description>&lt;p&gt;dns problems.&lt;/p&gt;</description><link>http://felixclack.com/post/555891103</link><guid>http://felixclack.com/post/555891103</guid><pubDate>Wed, 28 Apr 2010 14:36:14 +0100</pubDate></item><item><title>anyone got a dribbble invite going spare?</title><description>&lt;p&gt;anyone got a dribbble invite going spare?&lt;/p&gt;</description><link>http://felixclack.com/post/493430636</link><guid>http://felixclack.com/post/493430636</guid><pubDate>Sat, 03 Apr 2010 15:47:49 +0100</pubDate></item><item><title>got my @getcloudapp account. UI is great.</title><description>&lt;p&gt;got my @getcloudapp account. UI is great.&lt;/p&gt;</description><link>http://felixclack.com/post/489826002</link><guid>http://felixclack.com/post/489826002</guid><pubDate>Thu, 01 Apr 2010 23:05:04 +0100</pubDate></item><item><title>RT @tonysteward: This is good: OAuth access to IMAP/SMTP in Gmail http://tr.im/TTv9 #security...</title><description>&lt;p&gt;RT @tonysteward: This is good: OAuth access to IMAP/SMTP in Gmail &lt;a href="http://tr.im/TTv9"&gt;http://tr.im/TTv9&lt;/a&gt; #security #killpasswords /via @chrismessina&lt;/p&gt;</description><link>http://felixclack.com/post/486265307</link><guid>http://felixclack.com/post/486265307</guid><pubDate>Wed, 31 Mar 2010 09:32:13 +0100</pubDate></item><item><title>Disappointed to miss scotrubyconf, sounds like it was a good one. Maybe next year.</title><description>&lt;p&gt;Disappointed to miss scotrubyconf, sounds like it was a good one. Maybe next year.&lt;/p&gt;</description><link>http://felixclack.com/post/481281302</link><guid>http://felixclack.com/post/481281302</guid><pubDate>Mon, 29 Mar 2010 09:29:26 +0100</pubDate></item></channel></rss>

