<?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></description><title>uberfork</title><generator>Tumblr (3.0; @uberfork)</generator><link>http://uberfork.com/</link><item><title>Automated Jenkins Setup on Vagrant + Berkshelf for Ruby / Rails projects</title><description>&lt;p&gt;Having a hosted CI service like &lt;a href="https://travis-ci.org/"&gt;Travis-CI&lt;/a&gt; for open source projects at &lt;a href="http://github.com"&gt;Github&lt;/a&gt; ist great. However, what do you do with your private projects that aren&amp;#8217;t even hosted somewhere in the cloud?&lt;/p&gt;
&lt;p&gt;Beside the opportunity to run &lt;a href="https://github.com/travis-ci"&gt;your own travis using some of their open sourced components&lt;/a&gt; or using some fancy CI server like &lt;a href="https://github.com/gitlabhq/gitlab-ci"&gt;gitlab-ci&lt;/a&gt; the most practical solution to this problem is still the good old &lt;strong&gt;&lt;a href="http://jenkins-ci.org/"&gt;Jenkins&lt;/a&gt;&lt;/strong&gt; (formerly known as &lt;a href="http://hudson-ci.org/"&gt;Hudson&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;When you decide to setup your own Jenkins instance and you&amp;#8217;re like me, then you might find yourself asking some of these questions:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;Where should I install / run it?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Can I reuse my setup across projects / teams?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;How do I build and test ruby / rails projects?&lt;/li&gt;
&lt;li&gt;Can I keep my setup clean and under version control?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Well, my simple solution to this the &lt;strong&gt;&lt;a href="https://github.com/dpree/jenkins-box"&gt;jenkins-box&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/e4489e99347f2051c47165c8f6897c95/tumblr_inline_mmywq2DhL41qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;In short it is just a well-thought collection of scripts, tools and configurations to automatically spawn up a fully-working Jenkins instance in about 30 minutes (download + compile time).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In detail:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;A virtual machine running &lt;a href="https://wiki.ubuntu.com/LTS"&gt;Ubuntu 12.04 LTS x64&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Low-level setup using &lt;a href="http://www.vagrantup.com/"&gt;Vagrant&lt;/a&gt; and &lt;a href="https://www.virtualbox.org/"&gt;Virtual Box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Installation and Configuration using &lt;a href="http://www.opscode.com/chef/"&gt;Chef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Management of &lt;a href="http://docs.opscode.com/essentials_cookbooks.html"&gt;Chef Cookbooks&lt;/a&gt; using &lt;a href="http://berkshelf.com/"&gt;Berkshelf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jenkins setup with port forwarding to &lt;a href="http://localhost:8080"&gt;http://localhost:8080&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruby Environment with MRI 2.0.0 using &lt;a href="https://rvm.io/"&gt;RVM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Management of Jenkins Plugins and Job Configuration using &lt;a href="http://gruntjs.com/"&gt;Grunt&lt;/a&gt; and &lt;a href="https://github.com/sghill/grunt-jenkins"&gt;grunt-jenkins&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;So far I am quite happy having this in my toolbox. For now, it totally fits my needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;#8217;s next? Maybe&amp;#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;More optimization for Ruby development&lt;/li&gt;
&lt;li&gt;Easier installation&lt;/li&gt;
&lt;li&gt;Integration with cloud services&lt;/li&gt;
&lt;/ul&gt;</description><link>http://uberfork.com/post/50688393394</link><guid>http://uberfork.com/post/50688393394</guid><pubDate>Sat, 18 May 2013 02:15:00 +0200</pubDate><category>jenkins</category><category>ruby</category><category>rvm</category><category>ci</category><category>continous integration</category><category>vagrant</category><category>virtualbox</category><category>automation</category><category>configuration</category><category>chef</category><category>berkshelf</category><category>github</category><category>open source</category><category>travis</category><category>hudson</category><category>ubuntu</category><category>linux</category><category>osx</category></item><item><title>Embedding ruby within Markdown documents</title><description>&lt;p&gt;Today I had to estimate some new features for a client. I wrote down a lot of notes about my assumptions and thoughts and as usual I did this using &lt;a href="http://en.wikipedia.org/wiki/Markdown"&gt;Markdown&lt;/a&gt; format and the great &lt;a href="http://mouapp.com/"&gt;Mou.app&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I also listed estimations and looked for a way to sum them up. At first I thought about using a Spreadsheet, but then I remembered one of these famous emacs screencasts where they use some plugins to do calculations inline.&lt;/p&gt;
&lt;p&gt;My markdown list looked like the following:&lt;/p&gt;
&lt;script src="http://gist.github.com/4218764.js?file=best-avg-worst-list.txt" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;I just wrapped it in a little ruby-script to parse the list and calculate the sums using matrix-addition:&lt;/p&gt;
&lt;script src="http://gist.github.com/4218764.js?file=best-avg-worst-estimation.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;In the end my markdown document looked like this:&lt;/p&gt;
&lt;script src="http://gist.github.com/4218764.js?file=best-avg-worst-markdown.md" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;Ok, not really inline and not really beautiful. But I quite like it. What do you think?&lt;/p&gt;</description><link>http://uberfork.com/post/37275332307</link><guid>http://uberfork.com/post/37275332307</guid><pubDate>Wed, 05 Dec 2012 20:55:00 +0100</pubDate><category>markdown</category><category>ruby</category><category>mou</category><category>mou.app</category><category>estimate</category></item><item><title>Spawning Actors in Celluloid</title><description>&lt;p&gt;Recently I started playing with the Celluloid framework (&lt;a href="http://celluloid.io"&gt;http://celluloid.io&lt;/a&gt;). Right now it is the most popular implementation of the Actor model in Ruby and it is heavily inspired by Erlang. There are already some projects (like &lt;a href="http://mperham.github.com/sidekiq" title="sidekiq"&gt;sidekiq&lt;/a&gt; for instance) built upon this technology, although it is still under development.&lt;/p&gt;
&lt;p&gt;After doing some experiments with Celluloid, I realized that I could not wrap my head around the different options how to use Actors once they are defined. There are four built-in classes that help managing Actor instances:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Actor&lt;/li&gt;
&lt;li&gt;Supervisor&lt;/li&gt;
&lt;li&gt;PoolManager&lt;/li&gt;
&lt;li&gt;SupervisionGroup&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;I read the documentation and I was quite confused about when I was supposed to choose one over another. So I started writing some code to find out how the classes really behave.&lt;/p&gt;
&lt;p&gt;I created a little Actor class called &amp;#8220;Cat&amp;#8221;. It implements the a method. A nice implementation detail that would also help in real world: Each time a cat sprays it will loose one of its lives. When a cat sprays too often, it will just die&lt;strong&gt;*&lt;/strong&gt;.&lt;/p&gt;
&lt;script src="http://gist.github.com/3481633.js?file=cat.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;The simpliest example to use an Actor is just to call Actor.new, like using a plain Ruby object. This works totally fine, until the Actor thread dies, because then it won&amp;#8217;t come back by itself. Instead it is up to you to catch such a case and deal with it.&lt;/p&gt;
&lt;script src="http://gist.github.com/3481633.js?file=actor.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;When you don&amp;#8217;t like to loose your Actor instance and you want to have it respawn automatically you can just use the Actor.supervise method. This will spawn a second thread that respawns the Actor thread every time it dies.&lt;/p&gt;
&lt;script src="http://gist.github.com/3481633.js?file=supervisor.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;Sometimes you may not want just one Actor instance but whole group. This can be useful when you want to gain performance by parallelization. You can do this easily by using the Actor.pool method to spawn a PoolManager instance. The PoolManager will then spawn multiple Actor threads of the same Actor class.  Similar to using the Supervisor the PoolManager will also respawn Actor threads if they fail. For maximum performance the default pool size matches the size of CPU cores your system provides. &lt;/p&gt;
&lt;script src="http://gist.github.com/3481633.js?file=pool.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;Finally there is the SupervisionGroup. In contrast to the previous examples the SupervisionGroup is designed to be used as a base class. It offers a declarative approach to combine a set of actors to a group together and make them depend on each other. So if one member of the group dies, the whole group will die. Of course, you can also add whole pool of Actors to the group. Hereby the group would only become dependent on the PoolManager itself. So when the PoolManager dies, the group dies. But when a member of the pool dies, it is respawned by the PoolManager. The following examples illustrates this.&lt;/p&gt;
&lt;script src="http://gist.github.com/3481633.js?file=supervision_group.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;To wrap things up, just ask yourself these questions:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Who is responsible for starting and stopping Actors?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How to deal with a dead Actor threads (e.g. when unhandled exception occur)?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Will there be more than one instance of an Actor at a time?&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;*&lt;/strong&gt; BTW: I love cats. Those lawless little bastards :)&lt;/p&gt;</description><link>http://uberfork.com/post/30510463110</link><guid>http://uberfork.com/post/30510463110</guid><pubDate>Thu, 30 Aug 2012 05:34:00 +0200</pubDate><category>ruby</category><category>actor</category><category>celluloid</category><category>erlang</category><category>concurrency</category><category>thread</category></item><item><title>Ampersand tricks in Ruby</title><description>&lt;p&gt;This is just a little reminder to myself that there still magical ingredients to the Ruby language. Here some tricks that will improve our Ruby code:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Simple magic (Symbol#to_proc behind the scenes)&lt;/strong&gt;&lt;/p&gt;
&lt;script src="http://gist.github.com/3394368.js?file=1_simple_to_proc.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;&lt;strong&gt;Advanced magic using #inject&lt;/strong&gt;&lt;/p&gt;
&lt;script src="http://gist.github.com/3394368.js?file=2_advanced_to_proc.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;&lt;strong&gt;Custom objects flavoured with #to_proc&lt;/strong&gt;&lt;/p&gt;
&lt;script src="http://gist.github.com/3394368.js?file=3_custom_to_proc.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;&lt;strong&gt;Combination of #method and #to_proc&lt;/strong&gt;&lt;/p&gt;
&lt;script src="http://gist.github.com/3394368.js?file=4_method_and_to_proc.rb" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;This is something I really start liking.&lt;/p&gt;</description><link>http://uberfork.com/post/29753279561</link><guid>http://uberfork.com/post/29753279561</guid><pubDate>Sun, 19 Aug 2012 13:46:00 +0200</pubDate><category>ruby</category><category>functional</category></item><item><title>Can't login because there is no shell :(</title><description>&lt;p&gt;I have a FreeBSD-9.0 home server. I installed bash and changed every users&amp;#8217; shell to &lt;strong&gt;&lt;em&gt;/usr/local/bin/bash&lt;/em&gt;&lt;/strong&gt;. Good so far.&lt;/p&gt;
&lt;p&gt;However, today I uninstalled bash. And I forgot to change back to &lt;strong&gt;&lt;em&gt;/bin/csh&lt;/em&gt;&lt;/strong&gt; or whatever. And I shutdown the server. When I tried to login after reboot it just said:&lt;/p&gt;
&lt;blockquote&gt;/usr/local/bin/bash: No such file or directory&lt;/blockquote&gt;
&lt;p&gt;Luckily I am not the only fool. The following solution brought me back:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Boot into Single-User mode using [s]-Key when the FreeBSD boot menu appears&lt;/li&gt;
&lt;li&gt;Mount the filesystem with &lt;strong&gt;&lt;em&gt;mount -a&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;&lt;em&gt;chsh root&lt;/em&gt;&lt;/strong&gt; and change the shell back to &lt;em&gt;&lt;strong&gt;/bin/csh&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Reboot and fix the rest of the users&amp;#8230;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://uberfork.com/post/28938117938</link><guid>http://uberfork.com/post/28938117938</guid><pubDate>Wed, 08 Aug 2012 00:54:47 +0200</pubDate></item><item><title>Here is how I created my own copy of Mutternland, a game...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o10_500.jpg"/&gt;&lt;br/&gt; mutternland&lt;br/&gt;&lt;br/&gt; &lt;img src="http://25.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o1_500.jpg"/&gt;&lt;br/&gt; gravure templates&lt;br/&gt;&lt;br/&gt; &lt;img src="http://25.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o2_500.jpg"/&gt;&lt;br/&gt; the actual gravure&lt;br/&gt;&lt;br/&gt; &lt;img src="http://25.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o6_500.jpg"/&gt;&lt;br/&gt; dip papers into hot coffee&lt;br/&gt;&lt;br/&gt; &lt;img src="http://24.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o9_500.jpg"/&gt;&lt;br/&gt; dry papers&lt;br/&gt;&lt;br/&gt; &lt;img src="http://24.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o5_500.jpg"/&gt;&lt;br/&gt; opened&lt;br/&gt;&lt;br/&gt; &lt;img src="http://24.media.tumblr.com/tumblr_lyg3oi9KvP1qewzj0o7_500.jpg"/&gt;&lt;br/&gt; closed&lt;br/&gt;&lt;br/&gt; &lt;p&gt;Here is how I created my own copy of &lt;strong&gt;Mutternland&lt;/strong&gt;, a game developed by &lt;em&gt;Uwe Witt (Ulm, Germany)&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I made this as a present last christmas:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;I chose to buy a wooden box on ebay and did a gravure using my Dremel.&lt;/li&gt;
&lt;li&gt;As actual parts of the game I used M10 nuts together with 10mm wooden marbles (also got them from ebay). The marbles I colored using watercolors.&lt;/li&gt;
&lt;li&gt;I redesigned the game instructions and printed to paper. Finally I dipped the sheets into hot coffee, to make them look like old charter.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Thanks to Uwe Witt, the original game instructions can be found on the web (for free):&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://home.arcor.de/alanarion/witt/spiele/mutternland.html" target="_blank"&gt;&lt;a href="http://home.arcor.de/alanarion/witt/spiele/mutternland.html"&gt;http://home.arcor.de/alanarion/witt/spiele/mutternland.html&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Direct PDF Download:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://home.arcor.de/alanarion/witt/files/mutternland.pdf" target="_blank"&gt;&lt;a href="http://home.arcor.de/alanarion/witt/files/mutternland.pdf"&gt;http://home.arcor.de/alanarion/witt/files/mutternland.pdf&lt;/a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://uberfork.com/post/16570033747</link><guid>http://uberfork.com/post/16570033747</guid><pubDate>Fri, 27 Jan 2012 08:31:00 +0100</pubDate></item><item><title>Using a Mac as DLNA Server for LG HW300Y</title><description>&lt;p&gt;This is awesome. Watching Movies from my Mac on my new presenter LG HW300Y - wireless :)&lt;/p&gt;
&lt;p&gt;Put the USB-WLAN Dongle in the presenter and connect it to your local WiFi network.&lt;/p&gt;
&lt;p&gt;Then grab PS3MediaServer from &lt;a href="http://www.ps3mediaserver.org"&gt;http://www.ps3mediaserver.org&lt;/a&gt; for your OS and share your video folder (I tried some other DLNA Servers but without immediate success).&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s next?&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Instant DVD Playback without ripping&lt;/li&gt;
&lt;li&gt;Push Youtube / other Webformats&lt;/li&gt;
&lt;li&gt;Do Screensharing&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I will definitely have a look at the PS3MediaServer Codebase and DLNA Protocol to find out if there&amp;#8217;s quick way to implement this :)&lt;/p&gt;
&lt;p&gt;Interesting stuff&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://realmike.org/blog/2011/02/09/live-desktop-streaming-via-dlna-on-gnulinux/"&gt;http://realmike.org/blog/2011/02/09/live-desktop-streaming-via-dlna-on-gnulinux/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://uberfork.com/post/16458017833</link><guid>http://uberfork.com/post/16458017833</guid><pubDate>Wed, 25 Jan 2012 09:53:42 +0100</pubDate></item><item><title>"$ alias irb=pry"</title><description>“$ alias irb=pry”</description><link>http://uberfork.com/post/12283305269</link><guid>http://uberfork.com/post/12283305269</guid><pubDate>Thu, 03 Nov 2011 14:46:00 +0100</pubDate></item><item><title>Integrate rbenv with Textmate</title><description>&lt;p&gt;I recently switched from rvm to rbenv. Usually I run ruby scripts directly from Textmate, but out-of-the-box it uses the system ruby. So here is how I (after some experimenting) got Textmate to use rbenv.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Just do the following in your Textmate/Preferences/Shell-variables&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;extend your PATH, for me this is &lt;strong&gt;/Users/dpree/.rbenv/bin&lt;/strong&gt;:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:&lt;/li&gt;
&lt;li&gt;added RBENV_VERSION, i use &lt;strong&gt;1.9.2-p290&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;added TM_RUBY = &lt;strong&gt;/Users/dpree/.rbenv/shims/ruby&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img src="http://27.media.tumblr.com/tumblr_lu31bsp9B91qewzj0o1_500.png" width="478" height="428"/&gt;&lt;/p&gt;
&lt;p&gt;Now my CMD+R works again :)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What I&amp;#8217;d like to have is that Textmate just uses the .rbenv-version files in each project. But for now I&amp;#8217;m just happy with a global Textmate-Ruby-Version :)&lt;/em&gt;&lt;/p&gt;</description><link>http://uberfork.com/post/12280974742</link><guid>http://uberfork.com/post/12280974742</guid><pubDate>Thu, 03 Nov 2011 12:33:00 +0100</pubDate></item><item><title>Convert IPv4 Addresses between Integer and Dot-Decimal notation using Ruby</title><description>&lt;p&gt;Should be self-explanatory:&lt;/p&gt;
&lt;script src="https://gist.github.com/1330349.js"&gt; &lt;/script&gt;</description><link>http://uberfork.com/post/12193483303</link><guid>http://uberfork.com/post/12193483303</guid><pubDate>Tue, 01 Nov 2011 12:21:00 +0100</pubDate></item><item><title>rails3.1 and sass/compass image sprites</title><description>&lt;p&gt;In order to get compass sprites working in our new Rails 3.1 project I did the following:&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;First add following to your &lt;strong&gt;Gemfile&lt;/strong&gt;&lt;/p&gt;
&lt;script src="http://gist.github.com/1084719.js?file=Gemfile"&gt;&lt;/script&gt;&lt;p&gt;&lt;br/&gt;Then we need to fix the &lt;strong&gt;config/compass.rb&lt;/strong&gt; configuration file to get the correct path to our sprite image:&lt;/p&gt;
&lt;script src="https://gist.github.com/1084719.js?file=compass.rb"&gt;&lt;/script&gt;&lt;p&gt;&lt;br/&gt;In this example I assume a set of image files (.png) is available in a myicons folder:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;app/assets/images/myicons/create.png&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;app/assets/images/myicons/destroy.png&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;app/assets/images/myicons/&amp;#8230;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;To make Compass generate and provide the sprites add the following to your &lt;strong&gt;app/assets/stylesheets/screen.css.scss&lt;/strong&gt;:&lt;/p&gt;
&lt;script src="http://gist.github.com/1084719.js?file=screen.css.scss.css"&gt;&lt;/script&gt;&lt;p&gt;&lt;br/&gt;Then just use the provided css classes like so:&lt;/p&gt;
&lt;script src="http://gist.github.com/1084719.js?file=mypartial.html.erb"&gt;&lt;/script&gt;&lt;p&gt;&lt;br/&gt;Done! :)&lt;/p&gt;

&lt;p&gt;What helped me:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://github.com/chriseppstein/compass/blob/stable/test/integrations/sprites_test.rb"&gt;https://github.com/chriseppstein/compass/blob/stable/test/integrations/sprites_test.rb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/chriseppstein/compass/issues/337"&gt;https://github.com/chriseppstein/compass/issues/337&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://metaskills.net/2011/05/18/use-compass-sass-framework-files-with-the-rails-3.1-asset-pipeline/"&gt;http://metaskills.net/2011/05/18/use-compass-sass-framework-files-with-the-rails-3.1-asset-pipeline/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://uberfork.com/post/7651220989</link><guid>http://uberfork.com/post/7651220989</guid><pubDate>Fri, 15 Jul 2011 16:04:00 +0200</pubDate></item><item><title>and here we are. right away branching out into the great...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_leiqm4RkPp1qewzj0o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;and here we are. right away branching out into the great unknown…&lt;/p&gt;</description><link>http://uberfork.com/post/2600081672</link><guid>http://uberfork.com/post/2600081672</guid><pubDate>Tue, 04 Jan 2011 23:03:38 +0100</pubDate></item></channel></rss>
