<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>uRaNGaTaNG</title>
	<atom:link href="http://www.rngtng.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rngtng.com</link>
	<description>Featuring Ruby, Rails, Web development, Arduino, Processing, Nabaztag and more...</description>
	<lastBuildDate>Thu, 12 Jan 2012 10:08:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://www.rngtng.com/?pushpress=hub'/>
		<item>
		<title>Hacking the Nabaztag &#8211; Arduino injects via I2C data into RFID Reader</title>
		<link>http://www.rngtng.com/2012/01/10/hacking-the-nabaztag-arduino-injects-via-i2c-data-into-rfid-reader/</link>
		<comments>http://www.rngtng.com/2012/01/10/hacking-the-nabaztag-arduino-injects-via-i2c-data-into-rfid-reader/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 23:28:04 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Arduino & Co.]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inject]]></category>
		<category><![CDATA[nabaztag]]></category>
		<category><![CDATA[rfid]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=624</guid>
		<description><![CDATA[

Wow! After more than two years I finally got my hands dirty hacking the Nabaztag rabbit. The release of the source code last summer were very encouraging here! Expect some awesome results in the next time :-) 

Let's start with NabaztagInjector, an Arduino Library to inject data:

What bothered me for long was the missing ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm7.staticflickr.com/6185/6151922207_019ac10ee4_d.jpg" alt="" width="500" height="500" class="aligncenter size-full wp-image-626" /></p>
<p>Wow! After <a href="http://www.rngtng.com/2009/12/02/hacking-the-nabaztag/" class="broken_link">more than two years</a> I finally got my hands dirty hacking the Nabaztag rabbit. The <a href="http://code.google.com/p/nabaztag-source-code/">release of the source code</a> last summer were very encouraging here! Expect some awesome results in the next time <img src='http://www.rngtng.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>
<p>Let&#8217;s start with <strong>NabaztagInjector</strong>, an Arduino Library to inject data:</p>
<p>What bothered me for long was the missing possibility to connect external devices to the rabbit. How awesome would it be to use the rabbit for sending data into the net? Imagine it as WIFI shield you Arduino.</p>
<p>Guess what &#8211; that&#8217;s possible: replacing the RFID reader with an Arduino (both use the I2C bus) running a simulation of the RFID reader chip, enabled me to inject any custom data to the rabbit. Hacked!</p>
<p>As result, I created this tiny Arduino library to encapsulates the full process behind and easy API:</p>
<div id="gist-1582447" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="cm">/**</span></div><div class='line' id='LC2'><span class="cm"> * Simple Arduino NabaztagInjector example sketch</span></div><div class='line' id='LC3'><span class="cm"> **/</span></div><div class='line' id='LC4'><br/></div><div class='line' id='LC5'><span class="cp">#include &lt;Nabaztag.h&gt;</span></div><div class='line' id='LC6'><br/></div><div class='line' id='LC7'><span class="kt">void</span> <span class="n">setup</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC8'>&nbsp;&nbsp;<span class="n">Nabaztag</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="c1">//0 = standalone</span></div><div class='line' id='LC9'><span class="p">}</span></div><div class='line' id='LC10'><br/></div><div class='line' id='LC11'><span class="kt">void</span> <span class="n">loop</span><span class="p">()</span> <span class="p">{</span></div><div class='line' id='LC12'>&nbsp;&nbsp;<span class="c1">// send 1337 to the rabbit</span></div><div class='line' id='LC13'>&nbsp;&nbsp;<span class="n">Nabaztag</span><span class="p">.</span><span class="n">inject</span><span class="p">(</span><span class="mi">1337</span><span class="p">);</span></div><div class='line' id='LC14'>&nbsp;&nbsp;<span class="c1">//done</span></div><div class='line' id='LC15'><span class="p">}</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1582447/51aa220ff30606e35ab026779eb6e4a797f57ce9/nabaztag.ino" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1582447#file_nabaztag.ino" style="float:right;margin-right:10px;color:#666">nabaztag.ino</a>
            <a href="https://gist.github.com/1582447">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<p>Check out the full Readme, Source code and Examples here:</p>
<p><a href="http://www.rngtng.com/nabaztag-injector-arduino-rfid-hack/" target="_blank">http://www.rngtng.com/nabaztag-injector-arduino-rfid-hack/</a></p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=624&amp;md5=bc43e27d302e1ee2344eb8a73c6ca398" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2012/01/10/hacking-the-nabaztag-arduino-injects-via-i2c-data-into-rfid-reader/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sugru rocks! Or: how I fixed my broken iPhone Display glass from falling off.</title>
		<link>http://www.rngtng.com/2011/11/08/sugru-rocks-how-i-fixed-my-broken-iphone-display-glass-from-falling-off/</link>
		<comments>http://www.rngtng.com/2011/11/08/sugru-rocks-how-i-fixed-my-broken-iphone-display-glass-from-falling-off/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 10:52:36 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[sugru]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=597</guid>
		<description><![CDATA[Unfortunately I kept on dropping my iPhone until its display glass broke. Typical me. But after that, even worse, the little bits of broken glass where loose, slowly felt off one after another destroying the displays protection completely. Whereas the drop (besides the broken glass) didn't effect the phones functionaries at all (even its ...]]></description>
			<content:encoded><![CDATA[<p>Unfortunately I kept on dropping my iPhone until its display glass broke. Typical me. But after that, even worse, the little bits of broken glass where loose, slowly felt off one after another destroying the displays protection completely. Whereas the drop (besides the broken glass) didn&#8217;t effect the phones functionaries at all (even its touch capabilities are 100% working), the vanishing glass revealed the display which could get destroyed by dust and moist easily. Luckily I found a solution: Sugru.</p>
<p>Sugru is this fantastic super modeling clay made by Jane from Ireland. It allows you to hack the world and fix stuff. First its soft, sticks on nearly and material allowing you to put it in any shape, later it hardens and keeps its form. Perfect for me!</p>
<p><img class="aligncenter size-full wp-image-599" src="http://www.rngtng.com/files/2011/11/20111108-f8j49y7mhtxjenh57c3swnciwe.jpg" alt="" width="596" height="337" /></p>
<p>Check my hack, where I used Sugru replacing the missing glass pieces and preventing the loose ones from falling of. My display is protected again, and the phone is working &#8211; yay!</p>
<p>Visit the Sugru Website and get some for yourself: <a href="http://sugru.com" target="_blank">http://sugru.com</a></p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=597&amp;md5=831766ada6a818bfa72d60448ebcde49" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/11/08/sugru-rocks-how-i-fixed-my-broken-iphone-display-glass-from-falling-off/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Long time ago: &#8216;Die besten JavaScripts &#8211; SizeIt!&#8217;</title>
		<link>http://www.rngtng.com/2011/08/12/long-time-ago-die-besten-javascripts-sizeit/</link>
		<comments>http://www.rngtng.com/2011/08/12/long-time-ago-die-besten-javascripts-sizeit/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 16:10:37 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sizeit]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=573</guid>
		<description><![CDATA[Wuhooo, look what I found in my archives:



In my early webdeveloper days I created a small javascript which named 'SizeIt!'. It purpose was to resize all website elements according to the size of users viewpoint. So regardless which screen resolution the user has, the website propotions would always be the same. Honestly, it worked ...]]></description>
			<content:encoded><![CDATA[<p>Wuhooo, look what I found in my archives:</p>
<p><a href='http://www.rngtng.com/files/2011/07/js.pdf'><img src="http://www.rngtng.com/files/2011/07/Screen-shot-2011-07-23-at-18.16.26.png" alt="" width="352" height="498" class="aligncenter size-full wp-image-575" /></a></p>
<p>In my early webdeveloper days I created a small javascript which named &#8216;SizeIt!&#8217;. It purpose was to resize all website elements according to the size of users viewpoint. So regardless which screen resolution the user has, the website propotions would always be the same. Honestly, it worked only in very special cases and was slooooow (these days) <img src='http://www.rngtng.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But the idea was great and it even gave me second place in a competition &#8211; &#8216;Die besten JavaScripts&#8217; of Internet-World in August 2000. <a href='http://www.rngtng.com/files/2011/07/js.pdf'>Read the result here</a> (german only, sorry).</p>
<p>Not sure where I do have source code, will continue searching archive and post it here someday &#8211; stay tuned &#8230;</p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=573&amp;md5=a979104c5d81c193465281ac0726fad3" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/08/12/long-time-ago-die-besten-javascripts-sizeit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meet me at Chaos Communication Camp 2011</title>
		<link>http://www.rngtng.com/2011/08/02/meet-me-at-chaos-communication-camp-2011/</link>
		<comments>http://www.rngtng.com/2011/08/02/meet-me-at-chaos-communication-camp-2011/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 08:01:24 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[camp]]></category>
		<category><![CDATA[ccc]]></category>
		<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=588</guid>
		<description><![CDATA[Yay, I'll be at CCC Camp 2011 - and for sure I'll bring my arduino/rainbowduino stuff with me. So come over, say hello and join in the crazy hackingingz!



http://events.ccc.de/camp/2011/]]></description>
			<content:encoded><![CDATA[<p>Yay, I&#8217;ll be at CCC Camp 2011 &#8211; and for sure I&#8217;ll bring my arduino/rainbowduino stuff with me. So come over, say hello and join in the crazy hackingingz!</p>
<p><a href="http://www.rngtng.com/2011/08/02/meet-me-at-chaos-communication-camp-2011/"><em>Click here to view the embedded video.</em></a></p>
<p><a href="http://events.ccc.de/camp/2011/" target="_blank">http://events.ccc.de/camp/2011/</a></p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=588&amp;md5=d1940a7e812f6225d52cd2b32f86fa1c" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/08/02/meet-me-at-chaos-communication-camp-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: resque-web, resque scheduler and passenger</title>
		<link>http://www.rngtng.com/2011/07/29/howto-resque-web-resque-scheduler-and-passenger/</link>
		<comments>http://www.rngtng.com/2011/07/29/howto-resque-web-resque-scheduler-and-passenger/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 16:04:59 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Ruby, Rails & Co.]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[resque]]></category>
		<category><![CDATA[scheduler]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=562</guid>
		<description><![CDATA[Here's how you get resque-web and resque scheduler playing well with passenger:

Follow these instructions from resque readme (apache, ngnix) and check out current resque repo. Now update following two files:
1. Add gem "resque-scheduler","2.0.0.d" to Gemfile
2. Run bundle
3. Add require 'resque_scheduler' to config.ru

Restart you webserver and are ready to go - Happy scheduling!

Both file after ...]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s how you get <a href="https://github.com/defunkt/resque">resque-web</a> and <a href="https://github.com/bvandenbos/resque-scheduler">resque scheduler</a> playing well with <a href="http://www.modrails.com/">passenger</a>:</p>
<p>Follow these instructions from resque readme (<a href="http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_rack_based_ruby_application">apache</a>, <a href="http://www.modrails.com/documentation/Users%20guide%20Nginx.html#deploying_a_rack_app">ngnix</a>) and check out current resque repo. Now update following two files:<br />
1. Add <code>gem "resque-scheduler","2.0.0.d"</code> to Gemfile<br />
2. Run <code>bundle</code><br />
3. Add <code>require 'resque_scheduler'</code> to config.ru</p>
<p>Restart you webserver and are ready to go &#8211; Happy scheduling!</p>
<p>Both file after editing:<br />
<div id="gist-1101580" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c1">#!/usr/bin/env ruby</span></div><div class='line' id='LC2'><span class="nb">require</span> <span class="s1">&#39;logger&#39;</span></div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'><span class="vg">$LOAD_PATH</span><span class="o">.</span><span class="n">unshift</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;/lib&#39;</span><span class="p">)</span></div><div class='line' id='LC5'><span class="nb">require</span> <span class="s1">&#39;resque/server&#39;</span></div><div class='line' id='LC6'><br/></div><div class='line' id='LC7'><span class="c1"># Set the RESQUECONFIG env variable if you&#39;ve a `resque.rb` or similar</span></div><div class='line' id='LC8'><span class="c1"># config file you want loaded on boot.</span></div><div class='line' id='LC9'><span class="k">if</span> <span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;RESQUECONFIG&#39;</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">exists?</span><span class="p">(</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;RESQUECONFIG&#39;</span><span class="o">]</span><span class="p">))</span></div><div class='line' id='LC10'>&nbsp;&nbsp;<span class="nb">load</span> <span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="no">ENV</span><span class="o">[</span><span class="s1">&#39;RESQUECONFIG&#39;</span><span class="o">]</span><span class="p">)</span></div><div class='line' id='LC11'><span class="k">end</span></div><div class='line' id='LC12'><br/></div><div class='line' id='LC13'><span class="nb">require</span> <span class="s1">&#39;resque_scheduler&#39;</span></div><div class='line' id='LC14'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div><div class='line' id='LC15'><span class="n">use</span> <span class="no">Rack</span><span class="o">::</span><span class="no">ShowExceptions</span></div><div class='line' id='LC16'><span class="n">run</span> <span class="no">Resque</span><span class="o">::</span><span class="no">Server</span><span class="o">.</span><span class="n">new</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1101580/3e8f09f7d99bcd47e33fdf5ce09fb6834b77f338/config.ru" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1101580#file_config.ru" style="float:right;margin-right:10px;color:#666">config.ru</a>
            <a href="https://gist.github.com/1101580">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="n">source</span> <span class="ss">:rubygems</span></div><div class='line' id='LC2'><br/></div><div class='line' id='LC3'><span class="n">gemspec</span></div><div class='line' id='LC4'><br/></div><div class='line' id='LC5'><span class="n">group</span> <span class="ss">:test</span> <span class="k">do</span></div><div class='line' id='LC6'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;rake&quot;</span></div><div class='line' id='LC7'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;resque-scheduler&quot;</span><span class="p">,</span><span class="s2">&quot;2.0.0.d&quot;</span></div><div class='line' id='LC8'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;rack-test&quot;</span><span class="p">,</span> <span class="s2">&quot;~&gt; 0.5&quot;</span></div><div class='line' id='LC9'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;mocha&quot;</span><span class="p">,</span> <span class="s2">&quot;~&gt; 0.9.7&quot;</span></div><div class='line' id='LC10'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;leftright&quot;</span><span class="p">,</span> <span class="ss">:platforms</span> <span class="o">=&gt;</span> <span class="ss">:mri_18</span></div><div class='line' id='LC11'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;yajl-ruby&quot;</span><span class="p">,</span> <span class="s2">&quot;~&gt;0.8.2&quot;</span><span class="p">,</span> <span class="ss">:platforms</span> <span class="o">=&gt;</span> <span class="ss">:mri</span></div><div class='line' id='LC12'>&nbsp;&nbsp;<span class="n">gem</span> <span class="s2">&quot;json&quot;</span><span class="p">,</span> <span class="s2">&quot;~&gt;1.5.3&quot;</span><span class="p">,</span> <span class="ss">:platforms</span> <span class="o">=&gt;</span> <span class="ss">:jruby</span></div><div class='line' id='LC13'><span class="k">end</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1101580/b684be9b2b93228c1accabb59a9dc4425edd367e/Gemfile" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1101580#file_gemfile" style="float:right;margin-right:10px;color:#666">Gemfile</a>
            <a href="https://gist.github.com/1101580">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>
</p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=562&amp;md5=930179f1ba8785c97e3136cf81a0053e" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/07/29/howto-resque-web-resque-scheduler-and-passenger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3.1 Hackfest &#8211; get rid of Javascript Runtime dependency in production</title>
		<link>http://www.rngtng.com/2011/07/25/rails-3-1-hackfest-get-rid-of-javascript-runtime-dependency-in-production/</link>
		<comments>http://www.rngtng.com/2011/07/25/rails-3-1-hackfest-get-rid-of-javascript-runtime-dependency-in-production/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 22:42:54 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Ruby, Rails & Co.]]></category>
		<category><![CDATA[hackfest]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=584</guid>
		<description><![CDATA[

This weekend was Rails 3.1 Hackfest. The rails community was called to test the upcoming version 3.1 to its limits, to find bugs and or flaws and get it polished for the final release. So I did:
I'm working with the rails 3.1 since it first release candidate, but never tried in production. So I ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img class="aligncenter" src="http://pragdave.pragprog.com/photos/uncategorized/2007/05/20/rails_logo_heart.png" alt="" width="480" height="306" /></p>
<p>This weekend was <a href="http://weblog.rubyonrails.org/2011/7/14/rails-3-1-hackfest">Rails 3.1 Hackfest</a>. The rails community was called to test the upcoming version 3.1 to its limits, to find bugs and or flaws and get it polished for the final release. So I did:</p>
<p>I&#8217;m working with the rails 3.1 since it first release candidate, but never tried in production. So I made my task to finally test this, and bring my app in the wild &#8211; on my (not root) server. Rails 3.0 is running there smoothly so I didn&#8217;t expect any problems &#8211; wrong!<br />
Show stopper was the Javascript Runtime dependency on production. Reason was quickly found: <a href="http://jashkenas.github.com/coffee-script/">Coffee-Script</a> &#8211; ahrg! It depends on <a href="https://github.com/sstephenson/execjs">ExecJS</a>, which depends on a Javascript Runtime. Unfortunately, and that&#8217;s because I&#8217;m not on a root server, I got neither node.js, therubyraser, Mustang nor Johnson installed there.</p>
<p>I read <a href="https://moocode.com/posts/1-deploying-a-rails-3-1-application-to-production">this article</a>, which supposed to precompile the assets &#8211; didn&#8217;t help either and runtime is needed again.</p>
<p>In the End, the solution was as simple as obvious: just don&#8217;t use coffee-script in production <img src='http://www.rngtng.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I did, removed the coffee-script gem form my Gemfile &#8211; and tatatata: it works! Uhh! This took me quite a long time to get it right. Javascript Runtime dependecy no good for prodcution, and reading <a href="http://yehudakatz.com/2011/06/14/what-the-hell-is-happening-to-rails/">Mr. Katz</a> it&#8217;s looking good to get this fixed for the final release &#8211; uff! Happy so get tin final one soon! Yeah!</p>
<p>[cheesey image taken from <a href="http://pragdave.pragprog.com/pragdave/2007/05/rails_is_love.html">PragDave</a> - thx]</p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=584&amp;md5=2173b83f9cc579383a04ddebaabfe99a" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/07/25/rails-3-1-hackfest-get-rid-of-javascript-runtime-dependency-in-production/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talk: Short introduction to Rainbowduino and mtXcontol</title>
		<link>http://www.rngtng.com/2011/07/23/talk-short-introduction-to-rainbowduino-and-mtxcontol/</link>
		<comments>http://www.rngtng.com/2011/07/23/talk-short-introduction-to-rainbowduino-and-mtxcontol/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 15:53:30 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[cbase]]></category>
		<category><![CDATA[hack and tell]]></category>
		<category><![CDATA[RainbowDuino]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=559</guid>
		<description><![CDATA[I gave a short talk at Hack and Tell in Berlin. I briefly introduced the Rainbowduino device and my work on mtXcontol. Watch me here:



Here are the slides:
http://www.slideshare.net/rngtng/rainbowduino

Thanks to David for recording!]]></description>
			<content:encoded><![CDATA[<p>I gave a short talk at <a href="http://www.meetup.com/berlin-hack-and-tell">Hack and Tell</a> in Berlin. I briefly introduced the Rainbowduino device and my work on mtXcontol. Watch me here:</p>
<p><a href="http://www.rngtng.com/2011/07/23/talk-short-introduction-to-rainbowduino-and-mtxcontol/"><em>Click here to view the embedded video.</em></a></p>
<p>Here are the slides:</p>
<p><a href="http://www.slideshare.net/rngtng/rainbowduino" target="_blank">http://www.slideshare.net/rngtng/rainbowduino</a></p>
<p>Thanks to David for recording!</p>
<p class="wp-flattr-button"></p> <p><a href="http://www.rngtng.com/?flattrss_redirect&amp;id=559&amp;md5=36fb2267ffea58cdeffe3cceb75a25c0" title="Flattr" target="_blank"><img src="http://www.rngtng.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/07/23/talk-short-introduction-to-rainbowduino-and-mtxcontol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optical Illusion: a non straight line of code?</title>
		<link>http://www.rngtng.com/2011/06/24/optical-illusion-a-non-straight-line-of-code/</link>
		<comments>http://www.rngtng.com/2011/06/24/optical-illusion-a-non-straight-line-of-code/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 11:23:13 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[jedit]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=551</guid>
		<description><![CDATA[A bit of fun: Look at this, a Screenshot I took ages ago and just found to share. It's taken from a piece of code I was writing within jEdit by that time.



 It totally looks like the two long line go up, but if you apply a ruler, you see, it's indeed straight:



 ...]]></description>
			<content:encoded><![CDATA[<p>A bit of fun: Look at this, a Screenshot I took ages ago and just found to share. It&#8217;s taken from a piece of code I was writing within <a href="http://www.jedit.org/">jEdit</a> by that time.</p>
<p><img src="http://www.rngtng.com/files/2011/06/php-code-schief.jpg" alt="" width="550" height="163" class="aligncenter size-full wp-image-552" /></p>
<p> It totally looks like the two long line go up, but if you apply a ruler, you see, it&#8217;s indeed straight:<br />
<img src="http://www.rngtng.com/files/2011/06/20110624-82aa2bmbrwc3d47akjt53heja3.jpg" alt="" width="562" height="173" class="aligncenter size-full wp-image-555" /></p>
<p> A optical Illusion &#8211; weird, right?</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/06/24/optical-illusion-a-non-straight-line-of-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HowTo: ultra mega fast rails routes lookup</title>
		<link>http://www.rngtng.com/2011/03/16/howto-ultra-mega-fast-rails-routes-lookup/</link>
		<comments>http://www.rngtng.com/2011/03/16/howto-ultra-mega-fast-rails-routes-lookup/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 16:34:00 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Ruby, Rails & Co.]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[routes]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=538</guid>
		<description><![CDATA[

I was quite annoyed by the wasted time it took each time I grep the rails routes table. 
Wait, can't this be cached?  - Sure it can!
So I came up this nice little alias to cache the output once:

alias route='CF=tmp/routes_cache; ] &#38;&#38; rake routes &#62; $CF; cat $CF &#124; ...]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2009/8/5/1249508265579/Frances-V150-TGV-fast-tra-001.jpg" alt="" /></p>
<p>I was quite annoyed by the wasted time it took each time I grep the rails routes table.<br />
<em>Wait, can&#8217;t this be cached?  &#8211; Sure it can!</em><br />
So I came up this nice little alias to cache the output once:<br />
<code><br />
alias route='CF=tmp/routes_cache; [[ ! -s $CF ]] &amp;&amp; rake routes &gt; $CF; cat $CF | grep '<br />
</code></p>
<p>now it&#8217;s ultra fast, try e.g.:<br />
<code><br />
$ route root<br />
</code><br />
bang!</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/03/16/howto-ultra-mega-fast-rails-routes-lookup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: parse invalid, irregular HTML having &lt; or unlcosed tags</title>
		<link>http://www.rngtng.com/2011/02/03/pars-invalid-irregular-html-with-unclosed-tag/</link>
		<comments>http://www.rngtng.com/2011/02/03/pars-invalid-irregular-html-with-unclosed-tag/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 11:24:48 +0000</pubDate>
		<dc:creator>tobi</dc:creator>
				<category><![CDATA[Happy Hacking]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[invlaid]]></category>
		<category><![CDATA[irregular]]></category>
		<category><![CDATA[nokogiri]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[Ruby, Rails & Co.]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://www.rngtng.com/?p=529</guid>
		<description><![CDATA[I had the 'problem' that user feedback included lot of love - mostly by writing 'hearts'. Unfortunately expressing hearts is done by '&#60;3&#039; which turns the input into invalid HTML. Bummer. So if you still want allow other basic tags, you have a problem. Here&#039;s how I solved it:

First I checked Stackoverflow - Tian ...]]></description>
			<content:encoded><![CDATA[<p>I had the &#8216;problem&#8217; that user feedback included lot of love &#8211; mostly by writing &#8216;hearts&#8217;. Unfortunately expressing hearts is done by &#8216;&lt;3&#039; which turns the input into invalid HTML. Bummer. So if you still want allow other basic tags, you have a problem. Here&#039;s how I solved it:</p>
<p>First I checked Stackoverflow &#8211; <strong>Tian</strong> had similar problem over there: <a href="http://stackoverflow.com/questions/3268387/nokogiri-parsing-irregular">Nokogiri: Parsing Irregular &lt;</a></p>
<p>As a quick fix I came up with this method using a reqular expression to identify unclosed tags:</p>
<pre class="brush: plain; title: ; notranslate">
def fix_irregular_html(html)
  regexp = /&lt;([^&lt;&gt;]*)(&lt;|$)/

  #we need to do this multiple time as regex are overlapping
  while (fixed_html = html.gsub(regexp, &quot;&amp;lt;\\1\\2&quot;)) &amp;&amp; fixed_html != html
    html = fixed_html
  end

  fixed_html
end
</pre>
<p>See full code including test here: <a href="https://gist.github.com/796571" target="_blank">https://gist.github.com/796571</a></p>
<p>It works out well for me, I appreciate any feedback and improvements</p>
<p>See full code and test here:</p>
<p><a href="https://gist.github.com/796571" target="_blank">https://gist.github.com/796571</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.rngtng.com/2011/02/03/pars-invalid-irregular-html-with-unclosed-tag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

