<?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>Wendbaar.nl &#187; Development</title>
	<atom:link href="http://wendbaar.nl/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://wendbaar.nl/blog</link>
	<description></description>
	<lastBuildDate>Thu, 13 Oct 2011 20:56:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Building a 3D printer</title>
		<link>http://wendbaar.nl/blog/2011/10/building-a-3d-printer/</link>
		<comments>http://wendbaar.nl/blog/2011/10/building-a-3d-printer/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 20:55:51 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Deventer]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=229</guid>
		<description><![CDATA[Yes!!! the RepRap parts are in!]]></description>
			<content:encoded><![CDATA[<p>Now the building has commenced!</p>
<p>I posted a live stream on the the frontpage: <a href="http://mendel.dyndns.tv/videostream.cgi?user=public&#038;pwd="><br />
            <img src="http://mendel.dyndns.tv/snapshot.cgi?user=public&#038;pwd=" width="320" alt="Click me for live stream!"><br />
          </a><br />
(Click on the image)</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2011/10/building-a-3d-printer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking on vacation</title>
		<link>http://wendbaar.nl/blog/2011/02/hacking-on-vacation/</link>
		<comments>http://wendbaar.nl/blog/2011/02/hacking-on-vacation/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 06:42:51 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[interactive]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=214</guid>
		<description><![CDATA[
I&#8217;m on vacation in New Zealand, visiting my sister (Marie-Louise a.k.a. Seven). Se happens to be engaged to a fellow Geek (Let&#8217;s call him Uan). Well, She&#8217;s more geek than us because she created the most complicated machine in the world (which we can&#8217;t even imagine to produce): a baby!


As an IT shop owner (http://queenstownhq.co.nz/) [...]]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;m on vacation in New Zealand, visiting my sister (Marie-Louise a.k.a. Seven). Se happens to be engaged to a fellow Geek (Let&#8217;s call him Uan). Well, She&#8217;s more geek than us because she created the most complicated machine in the world (which we can&#8217;t even imagine to produce): <strong>a baby!</strong>
</p>
<p>
As an IT shop owner (<a href="http://queenstownhq.co.nz/">http://queenstownhq.co.nz/</a>) who&#8217;s always busy to satisfy his customers Uan tends to shift his &#8220;want to do projects&#8221; (because customers pay the bill right?) to the next weekend.
</p>
<p>
Because he already has a lot of the parts and of course there is a shed (all New Zealanders appear to have an shed. great inventions are made here: <a href="http://www.asciimation.co.nz/beer/">The world first JET powered beercooler</a>), I offered some help. (otherwise I would ending up changing the new toddler&#8217;s diapers&#8230;..)</p>
<p>May I present to you:  my </p>
<h3>TODO list</h3>
<ul>
<li>DIY Touchscreen (we&#8217;re half way, more to come soon!)</li>
<li>Arduino hacks with Processing and OSC (I&#8217;ve got an Git Repository on <a href="https://github.com/LeipeLeon/interactive">Github</a>)
<ul>
<li>An philips Moodlight imitiation: <a href="https://github.com/LeipeLeon/interactive/blob/master/DOC/PhilipsLedOSC.md">PhilipsLed</a>
</li>
</ul>
<p>
You might think: &#8220;Dude, you&#8217;re on a bloody vacation! Go see the country!&#8221;. Yup, been there, done that! This vacation is for me to sit back and relax: I have been far too busy the last few months with working for clients. Now it&#8217;s some Leon time: do some personal interesting stuff!
</p>
<p>I&#8217;ll keep you posted!</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2011/02/hacking-on-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automagically tagging releases in github</title>
		<link>http://wendbaar.nl/blog/2010/04/automagically-tagging-releases-in-github/</link>
		<comments>http://wendbaar.nl/blog/2010/04/automagically-tagging-releases-in-github/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 17:24:46 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=198</guid>
		<description><![CDATA[(update: now available as a gem for capistrano)
Today at work we were discussing branching and tagging etc. to keep track of the currently deployed release on various servers. We&#8217;re working with Capistrano to do deploys.
This is a script I came up with:

Edit: refactored some errors out of it
]]></description>
			<content:encoded><![CDATA[<p><strong>(update: now available as a <a href="http://rubygems.org/gems/capistrano-git-tags">gem</a> for capistrano)</strong></p>
<p>Today at work we were discussing branching and tagging etc. to keep track of the currently deployed release on various servers. We&#8217;re working with <a href="http:///capify.org">Capistrano</a> to do deploys.</p>
<p>This is a script I came up with:</p>
<p><script src="http://gist.github.com/381852.js?file=capistrano_git.rb"></script></p>
<p>Edit: refactored some errors out of it</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2010/04/automagically-tagging-releases-in-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ralf: S3 logfile downloader and merger</title>
		<link>http://wendbaar.nl/blog/2010/02/ralf-s3-logfile-downloader-and-merger/</link>
		<comments>http://wendbaar.nl/blog/2010/02/ralf-s3-logfile-downloader-and-merger/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 18:47:56 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=192</guid>
		<description><![CDATA[
	Today we released a new gem called Ralf, it stands for Retreive Amazon LogFiles


	Download the gem at http://gemcutter.org/gems/ralf or browse the source at http://github.com/kjwierenga/ralf

Usage
Prerequirements:

An S3 account (duh)
Enable logging on S3 (use cyberduck for example)

Execution:
r = Ralf.new(:config =&#62; '/my/config.yaml', :date =&#62; '2010-02-01')
r.run

Or run it in one go:
Ralf.run(:config =&#62; '/my/config.yaml', :date =&#62; '2010-02-01')

Parameters:
:config   a YAML [...]]]></description>
			<content:encoded><![CDATA[<p>
	Today we released a new gem called <strong>Ralf</strong>, it stands for <strong>Retreive Amazon LogFiles</strong>
</p>
<p>
	Download the gem at <a href="http://gemcutter.org/gems/ralf">http://gemcutter.org/gems/ralf</a> or browse the source at <a href="http://github.com/kjwierenga/ralf">http://github.com/kjwierenga/ralf</a>
</p>
<h3>Usage</h3>
<p>Prerequirements:</p>
<ul>
<li>An S3 account (duh)</li>
<li>Enable logging on S3 (use <a href="http://cyberduck.ch/">cyberduck</a> for example)</li>
</ul>
<p>Execution:</p>
<pre><code>r = Ralf.new(:config =&gt; '/my/config.yaml', :date =&gt; '2010-02-01')
r.run
</code></pre>
<p>Or run it in one go:</p>
<pre><code>Ralf.run(:config =&gt; '/my/config.yaml', :date =&gt; '2010-02-01')
</code></pre>
<h4>Parameters:</h4>
<pre><code>:config   a YAML config file, if none given it tries to open /etc/ralf.yaml or ~/.ralf.yaml
:date     the date to parse

:aws_access_key_id      (required in config)
:aws_secret_access_key  (required in config)
:out_path               (required in config)
:out_prefix             (optional, defaults to 's3_combined') Prefix the output file
</code></pre>
<p>You can ommit a configuration file when you supply the required parameters <strong>:aws_access_key_id</strong>_, <strong>:aws_secret_access_key</strong> and <strong>:out_path</strong><br />
They take precedence over the config file</p>
<h3>Caveats</h3>
<ul>
<li>There is no logrotation as we know it like on regular unix machines</li>
</ul>
<p>More info: <a href="http://docs.amazonwebservices.com/AmazonS3/latest/ServerLogs.html">S3 Server Access Logging</a></p>
<h3>TODO</3></p>
<ul>
<li>CLI executable</li>
<li>Grouping/combinig on week/month</li>
</ul>
<h3>Credits:</h3>
<p>This plugin is created for <a href="http://kerkdienstgemist.nl" title="Kerkdienst Gemist"><em>kerkdienstgemist.nl</em></a> for processing the logfiles generated by <a href="http://aws.amazon.com/s3/"><em>S3</em></a>.</p>
<p>Authors: <a href="http://github.com/LeipeLeon">Leon Berenschot</a> and <a href="http://github.com/kjwierenga">K.J. Wierenga</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2010/02/ralf-s3-logfile-downloader-and-merger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending prawn documents with ActionMailer</title>
		<link>http://wendbaar.nl/blog/2009/12/sending-prawn-documents-with-actionmailer/</link>
		<comments>http://wendbaar.nl/blog/2009/12/sending-prawn-documents-with-actionmailer/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 08:32:18 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://beriedata.nl/blog/?p=106</guid>
		<description><![CDATA[Problem: How to send a prawn pdf wich normally is generated by a controller.
and keeping it DRY
Required: Prawn &#038; prawnto

first: Make your prawnto settings global with an initializer

?Download prawnto_globals.rbPRAWN_DEFAULT_STYLES = &#123;
  :page_size   =&#62; 'A4',
  :inline      =&#62; true,
  :left_margin =&#62; 50
&#125;

second: create a ActionMailer
./script/generate mailer recipient_mailer [...]]]></description>
			<content:encoded><![CDATA[<h2>Problem: How to send a prawn pdf wich normally is generated by a controller.</h2>
<p>and keeping it DRY</p>
<p>Required: Prawn &#038; prawnto</p>
<p><span id="more-106"></span></p>
<p>first: Make your prawnto settings global with an initializer</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://wendbaar.nl/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=106&amp;download=prawnto_globals.rb">prawnto_globals.rb</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1063"><td class="code" id="p106code3"><pre class="ruby" style="font-family:monospace;">PRAWN_DEFAULT_STYLES = <span style="color:#006600; font-weight:bold;">&#123;</span>
  <span style="color:#ff3333; font-weight:bold;">:page_size</span>   <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">'A4'</span>,
  <span style="color:#ff3333; font-weight:bold;">:inline</span>      <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#0000FF; font-weight:bold;">true</span>,
  <span style="color:#ff3333; font-weight:bold;">:left_margin</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006666;">50</span>
<span style="color:#006600; font-weight:bold;">&#125;</span></pre></td></tr></table></div>

<p>second: create a ActionMailer</p>
<pre>./script/generate mailer recipient_mailer invoice</pre>
<p>third: edit the generated recipient mailer (note: because I&#8217;m using the views from the controller I&#8217;ve removed the autogenerated invoice.erb. Otherwise these will be included as well)</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://wendbaar.nl/blog/wp-content/plugins/wp-codebox/wp-codebox.php?p=106&amp;download=recipient_mailer.rb">recipient_mailer.rb</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1064"><td class="code" id="p106code4"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;"># Include (optional) controller helpers</span>
<span style="color:#9966CC; font-weight:bold;">class</span> <span style="color:#6666ff; font-weight:bold;">Prawn::Document</span>
  <span style="color:#9966CC; font-weight:bold;">include</span> PdfHelper
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">class</span> RecipientMailer <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#6666ff; font-weight:bold;">ActionMailer::Base</span>
  <span style="color:#008000; font-style:italic;"># explicitly require prawn, so we get all the goodieness</span>
  <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'prawn'</span>
  <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;prawn/format&quot;</span>
  <span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;prawn/layout&quot;</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">def</span> invoice<span style="color:#006600; font-weight:bold;">&#40;</span>ledger_item<span style="color:#006600; font-weight:bold;">&#41;</span>
    subject    <span style="color:#996600;">&quot;The subject&quot;</span>
    recipients <span style="color:#996600;">'&quot;Name&quot; &lt;info@example.com&gt;'</span>
    from       <span style="color:#996600;">'&quot;Name&quot; &lt;info@example.com&gt;'</span>
    sent_on    <span style="color:#CC00FF; font-weight:bold;">Time</span>.<span style="color:#9900CC;">now</span>
    content_type    <span style="color:#996600;">&quot;multipart/mixed&quot;</span>
&nbsp;
    <span style="color:#008000; font-style:italic;"># the templates live in RAILSROOT/app/views/documents</span>
    <span style="color:#008000; font-style:italic;"># these are views normally generated by the DocumentsController</span>
    part<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:content_type</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;multipart/alternative&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>alternative<span style="color:#006600; font-weight:bold;">|</span>
      alternative.<span style="color:#9900CC;">part</span> <span style="color:#996600;">&quot;text/plain&quot;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>p<span style="color:#006600; font-weight:bold;">|</span>
        <span style="color:#CC0066; font-weight:bold;">p</span>.<span style="color:#9900CC;">body</span> = render_message<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;documents/show.txt&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:ledger_item</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> ledger_item<span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
      alternative.<span style="color:#9900CC;">part</span> <span style="color:#996600;">&quot;text/html&quot;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>p<span style="color:#006600; font-weight:bold;">|</span>
        <span style="color:#CC0066; font-weight:bold;">p</span>.<span style="color:#9900CC;">body</span> = render_message<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;documents/show.html&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:ledger_item</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> ledger_item<span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
    <span style="color:#008000; font-style:italic;"># And here is the magic:</span>
    <span style="color:#008000; font-style:italic;"># probably could be refactored, but it's working!</span>
    attachment <span style="color:#996600;">&quot;application/pdf&quot;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>a<span style="color:#006600; font-weight:bold;">|</span>
      a.<span style="color:#9900CC;">filename</span> = <span style="color:#996600;">&quot;#{ledger_item.period}.pdf&quot;</span>
&nbsp;
      template = <span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">File</span>.<span style="color:#9900CC;">join</span><span style="color:#006600; font-weight:bold;">&#40;</span>Rails.<span style="color:#9900CC;">root</span>, <span style="color:#996600;">'app'</span>, <span style="color:#996600;">'views'</span>, <span style="color:#996600;">'documents'</span>, <span style="color:#996600;">'show.pdf.prawn'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">read</span>
&nbsp;
      pdf = <span style="color:#6666ff; font-weight:bold;">Prawn::Document</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>PRAWN_DEFAULT_STYLES<span style="color:#006600; font-weight:bold;">&#41;</span>;
      pdf.<span style="color:#9900CC;">instance_eval</span> <span style="color:#9966CC; font-weight:bold;">do</span>
        <span style="color:#0066ff; font-weight:bold;">@ledger_item</span> = ledger_item
        <span style="color:#CC0066; font-weight:bold;">eval</span><span style="color:#006600; font-weight:bold;">&#40;</span>template<span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
      a.<span style="color:#9900CC;">body</span> = pdf.<span style="color:#9900CC;">render</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/12/sending-prawn-documents-with-actionmailer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>RER2009 Rumble</title>
		<link>http://wendbaar.nl/blog/2009/11/rer2009-rumble/</link>
		<comments>http://wendbaar.nl/blog/2009/11/rer2009-rumble/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 11:55:20 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=149</guid>
		<description><![CDATA[We (@kjw and @leipeleon) participated in the RubyEnRails Rumble last weekend. It was a blast!
]]></description>
			<content:encoded><![CDATA[<p>We (<a href="http://twitter.com/kjw">@kjw</a> and <a href="http://twitter.com/leipeleon">@leipeleon</a>) participated in the <a href="http://2009.rubyenrails.nl/">RubyEnRails</a> Rumble last weekend. It was a blast!</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/11/rer2009-rumble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using github on the mac for non-programmers</title>
		<link>http://wendbaar.nl/blog/2009/06/using-github-on-the-mac-for-non-programmers/</link>
		<comments>http://wendbaar.nl/blog/2009/06/using-github-on-the-mac-for-non-programmers/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 13:30:20 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[github]]></category>

		<guid isPermaLink="false">http://beriedata.nl/blog/?p=92</guid>
		<description><![CDATA[A quick and dirty tutorial for some friends of mine.
Needed software:

git-osx-installer: Full native OSX git client.

Nice to have:

Textmate: text editor.
GitHub account (for push rights).
GitX: Grapichal tool for commiting to local repo (OSX 10.5+).

Create account on github
 Go to http://github.com for an account.

Optional: Provide an SSH key for pushing changes.
Clone a Repo

My advice is to generate [...]]]></description>
			<content:encoded><![CDATA[<p>A quick and dirty tutorial for some friends of mine.</p>
<h2>Needed software:</h2>
<ul>
<li><a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3">git-osx-installer</a>: Full native OSX git client.</li>
</ul>
<h2>Nice to have:</h2>
<ul>
<li><a href="http://macromates.com/">Textmate</a>: text editor.</li>
<li><a href="https://github.com/">GitHub</a> account (for push rights).</li>
<li><a href="http://gitx.frim.nl/">GitX</a>: Grapichal tool for commiting to local repo (OSX 10.5+).</li>
</ul>
<h2>Create account on github</h2>
<p> Go to <a href="http://github.com">http://github.com</a> for an account.</p>
<p>
Optional: <a href="http://github.com/guides/providing-your-ssh-key">Provide an SSH</a> key for pushing changes.</p>
<h2>Clone a Repo</h2>
<p><img src="http://beriedata.nl/blog/wp-content/uploads/2009/06/GitHub.jpg"/><br />
My advice is to generate a special dir for the projects (mine is <code>Rails</code>).<br/><br />
Fire up the terminal and type:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p92code8'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p928"><td class="code" id="p92code8"><pre class="shell" style="font-family:monospace;">    # Goto the dir
cd ~/Rails
    # if the repo is read only:
git clone git://github.com/LeipeLeon/facebooker.git
    # if you have push rights:
git clone git@github.com:LeipeLeon/facebooker.git
    # if you installed GitX (as mentioned above)
gitx</pre></td></tr></table></div>

<h2>Adding changes</h2>
<p>With the gitx program it&#8217;s easy to commit thanges to your local repo. When these are ready to commit to the master you sync it first with the <code>HEAD</code> and then push your changes.

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p92code9'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p929"><td class="code" id="p92code9"><pre class="shell" style="font-family:monospace;">    # get changes from the master repo to your local repo
git pull
    # push your changes
git push</pre></td></tr></table></div>

<h3>Additional info:</h3>
<p>If it&#8217;s a rails application you&#8217;re cloning, startup the server with</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p92code10'); return false;">View Code</a> SHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p9210"><td class="code" id="p92code10"><pre class="shell" style="font-family:monospace;">    # Copy database credentials, uses sqlite3 as default
cp config/database.yml.example config/database.yml
    # install required gems
rake gems:install
    # make tables
rake db:migrate
    # startup server at http://localhost:3000
script/server</pre></td></tr></table></div>

<p> and you will be able to use the application at http://localhost:3000</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/06/using-github-on-the-mac-for-non-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://beriedata.nl/blog/wp-content/uploads/2009/06/GitHub.jpg" length="24216" type="image/jpeg" />
<enclosure url="http://beriedata.nl/blog/wp-content/uploads/2009/06/GitHub.jpg" length="24216" type="image/jpeg" />
<enclosure url="http://beriedata.nl/blog/wp-content/uploads/2009/06/GitHub.jpg" length="24216" type="image/jpeg" />
<enclosure url="http://beriedata.nl/blog/wp-content/uploads/2009/06/GitHub.jpg" length="24216" type="image/jpeg" />
		</item>
		<item>
		<title>Burgerweeshuis Evenementen Kalender</title>
		<link>http://wendbaar.nl/blog/2009/05/burgerweeshuis-evenementen-kalender/</link>
		<comments>http://wendbaar.nl/blog/2009/05/burgerweeshuis-evenementen-kalender/#comments</comments>
		<pubDate>Wed, 13 May 2009 22:20:52 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://beriedata.nl/blog/?p=84</guid>
		<description><![CDATA[Bij het gebrek aan een RSS feed van de burgerweeshuis agenda heb ik zelf een (ruby) tooltje gebouwd om alle nieuwe evenementen in google calender te plaatsen.
Tevens wordt elk nieuw evenement automatisch geplaats in het twitter account @burgerweeshuis. Via @nuinhetbw alle evenementen een uur van te voren aangekondigd.
Get yours here:
  
Dit tooltje heeft de [...]]]></description>
			<content:encoded><![CDATA[<p>Bij het gebrek aan een RSS feed van de burgerweeshuis agenda heb ik zelf een (ruby) tooltje gebouwd om alle nieuwe evenementen in google calender te plaatsen.</p>
<p>Tevens wordt elk nieuw evenement automatisch geplaats in het twitter account <a href="http://twitter.com/burgerweeshuis">@burgerweeshuis</a>. Via <a href="http://twitter.com/nuinhetbw">@nuinhetbw</a> alle evenementen een uur van te voren aangekondigd.</p>
<p>Get yours here:<br />
<a href="http://www.google.com/calendar/feeds/e333349c9cothvqgmsfdqbuego%40group.calendar.google.com/public/basic"><img src="http://www.google.com/calendar/images/xml.gif" /></a> <a href="http://www.google.com/calendar/ical/e333349c9cothvqgmsfdqbuego%40group.calendar.google.com/public/basic.ics"><img src="http://www.google.com/calendar/images/ical.gif" /></a> <a href="http://www.google.com/calendar/embed?src=e333349c9cothvqgmsfdqbuego%40group.calendar.google.com&amp;ctz=Europe/Rome"><img src="http://www.google.com/calendar/images/html.gif" /></a></p>
<p>Dit tooltje heeft de aandacht getrokken van diverse andere organisaties en ben dan ook van plan om hier iets meer mee te gaan doen. I&#8217;ll keep you posted!</p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/05/burgerweeshuis-evenementen-kalender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.google.com/calendar/images/html.gif" length="423" type="image/gif" />
<enclosure url="http://www.google.com/calendar/images/html.gif" length="423" type="image/gif" />
<enclosure url="http://www.google.com/calendar/images/html.gif" length="423" type="image/gif" />
<enclosure url="http://www.google.com/calendar/images/html.gif" length="423" type="image/gif" />
		</item>
		<item>
		<title>Textmate Comments doesn&#8217;t work anymore!</title>
		<link>http://wendbaar.nl/blog/2009/02/textmate-comments-doesnt-work-anymore/</link>
		<comments>http://wendbaar.nl/blog/2009/02/textmate-comments-doesnt-work-anymore/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 10:48:32 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://beriedata.nl/blog/?p=78</guid>
		<description><![CDATA[I like to stay on the edge of development so I&#8217;ve installed all the bundles available for TextMate in http://svn.textmate.org/trunk  to my ~/Library/Application Support/TextMate.
But then you get a lot of bundles you don&#8217;t need like Active4D and ASP, so I disabled all the bundles who&#8217;s name didn&#8217;t ring a bell to me. The menu [...]]]></description>
			<content:encoded><![CDATA[<p>I like to stay on the edge of development so I&#8217;ve installed all the bundles available for TextMate in <a href="http://svn.textmate.org/trunk" class="external">http://svn.textmate.org/trunk</a>  to my <code>~/Library/Application Support/TextMate</code>.</p>
<p>But then you get a lot of bundles you don&#8217;t need like Active4D and ASP, so I disabled all the bundles who&#8217;s name didn&#8217;t ring a bell to me. The menu is readable again! Little did I know it was going to bite me in the foot the next day.</p>
<p>I performed this action late at night, just before getting some shut-eye. The next morning I was happily coding away until I discovered the Comment (command + /) feature didn&#8217;t work anymore!</p>
<p>Damn!</p>
<p>At first I thought it was a corrupted bundle, so I disabled all bundles to no avail. Then I reinstalled TextMate, nothing&#8230;.</p>
<p>I have this plugin called <a href="http://ciaranwal.sh/2008/08/05/textmate-plug-in-projectplus" class="external">Project+</a>, updated it: nope, reinstall it: nope, disable it: nope.</p>
<p>With <a href="http://www.appzapper.com/" class="external">AppZapper</a> I deleted the caches: no joy.</p>
<p>So I was already an hour away and I got frustrated&#8230;.. So I enabled all plugins and Tada! IT WORKED AGAIN! By trail and error I found out: <br/></p>
<blockquote><p><span style="color: red;"><b>It&#8217;s all in the bundle called &#8220;Source&#8221;</b></span>.</p></blockquote>
<p>Re-enabling this plugin restores all functionality! Whoohoo!!</p>
<p>So, here we go again, coding happily away&#8230;. <span style="font:'arial unicode MS', arial, geneva, sans-serif bold;">&#9775;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/02/textmate-comments-doesnt-work-anymore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Facebook app with Rails</title>
		<link>http://wendbaar.nl/blog/2009/02/create-a-facebook-app-with-rails/</link>
		<comments>http://wendbaar.nl/blog/2009/02/create-a-facebook-app-with-rails/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 10:57:53 +0000</pubDate>
		<dc:creator>berl</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://wendbaar.nl/blog/?p=179</guid>
		<description><![CDATA[In the beginning of this year I scored a programming gig for Wakoopa to spice up their Facebook app.
The original app was created in .NET by a third party and was buggy as hell. The goal was to recreate the app in Rails and have at least the same functionality.
Some befriended (PHP) developers warned me [...]]]></description>
			<content:encoded><![CDATA[<p>In the beginning of this year I scored a programming gig for <a href="http://wakoopa.com/" class="external">Wakoopa</a> to spice up their <a href="http://apps.facebook.com/wakoopatracker/" class="external">Facebook app</a>.</p>
<p>The original app was created in .NET by a third party and was buggy as hell. The goal was to recreate the app in Rails and have at least the same functionality.</p>
<p>Some befriended (PHP) developers warned me that facebook has some serious pitfalls so before I made an estimate for the project I bought a PDF called <a href="http://www.pragprog.com/titles/mmfacer/developing-facebook-platform-applications-with-rails" class="external">Developing Facebook Platform Applications with Rails</a> from <a href="http://www.pragprog.com/" class="external">The Pragmatic Programmers</a> and a PDF book from <a href="http://peepcode.com/products/rails-on-facebook">Peepcode</a>.</p>
<p>Thanks to this PDF and the <a href="http://github.com/mmangino/facebooker/tree/master" class="external">Facebooker plugin</a> it was doable. I made the sample application as described in the PDF and so I had enough knowledge to create the WakoopaFacebook app. My advice: buy it!</p>
<p><span id="more-179"></span><br />
<h3>Facebooker plugin</h3>
<p>The data that has to be shown on the Facebook page comes from the <a href="http://wakoopa.com/api/">Wakoopa API</a>. This has to be converted to FBML markup to be compatible with Facebook. You also have the choice to work with iframes but FBML has some advanced features like automatic substitution of id&#8217;s to user names and userdetails.</p>
<p>A big plus also is that you don&#8217;t need to store all that data (it&#8217;s not permitted by facebook to store data longer than 24 hours), Facebook takes care of it. Also it takes the user&#8217;s privacy setting in consideration.</p>
<p>The Facebooker plugin provides a lot of things for you to make development a breeze. Session handling is automaticly provided by adding <code>ensure_application_is_installed_by_facebook_user</code> to the controller. </p>
<h2>Facebook Caveats</h2>
<p>The <a href="http://wiki.developers.facebook.com/">Facebook Wiki</a> is a mess, so here are some tips that could save you some time. Also all requests from facebook are POST&#8217;s.</p>
<h3>Session Keys</h3>
<p>If the user hasn&#8217;t been to your application for a while (session timed out, 1 hour) or logged out (whichever comes first), the session_key becomes invalid. Costed me a few hours to find out, but you can get infinite session keys. </p>
<p>By asking the user for permission you can use offline_access, this will generate a infinite session key automaticly. (use
<pre>&lt;%= fb_prompt_permission :offline_access, "May we publish on your feeds?" %&gt;</pre>
<p> to ask for access).</p>
<p>There is a difference between timelimited and infinite keys:
<pre>Infinite key:
   83d89fd715ac900df4783a68-741234111111
Temporary key with expiration:
   2.8dDnBR2FKc6yOeN2hHISRw__.86400.1232319600-741234111111</pre>
<p> but I don&#8217;t know the exact scheme of this.
</p>
<p>See <a href="http://wiki.developers.facebook.com/index.php/Extended_permissions">Extended_permissions</a> and <a href="http://wiki.developers.facebook.com/index.php/New_Design_Platform_Changes#Changes_to_Session_Keys">Changes_to_Session_Keys</a> for more details.</p>
<h3>Updating the profile box/newsfeed</h3>
<p>This can take a while (sometimes several seconds!) so make sure you don&#8217;t do that every request cycle. Put it in a separate process. Also publising to the newsfeed requires a session key, use the infinite session key to update the newsfeed if the user is not logged in.</p>
<h3>Make your actions responsive</h3>
<p>Facebook is very tight on timeouts, so if you&#8217;re not responsive enough the user will get a error message. Keep those controllers fast!</p>
<p><span style="font:'arial unicode MS', arial, geneva, sans-serif bold;">☯</span></p>
]]></content:encoded>
			<wfw:commentRss>http://wendbaar.nl/blog/2009/02/create-a-facebook-app-with-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

