<?xml version="1.0" encoding="UTF-8"?>
<post>
  <author>Simon Schoeters</author>
  <content>&lt;p&gt;Back from a few days in &lt;abbr class="geo" title="52.407284,16.921833"&gt;Pozna&amp;#x144;&lt;/abbr&gt;, Poland with the Belighted team for the &lt;a href="http://rupy.eu/" class="ext" title="Official RuPy website"&gt;RuPy&lt;/a&gt; 2009 conference. RuPy is a two day conference about Ruby and Python. It's the Ruby stuff we wanted to see.&lt;/p&gt;

&lt;h3&gt;Cells and Apotomo&lt;/h3&gt;

&lt;p&gt;One note wothy talks was the one by &lt;span class="vcard"&gt;&lt;span class="fn"&gt;Micha&amp;#x142; &amp;#x141;omnicki&lt;/span&gt;&lt;/span&gt; and &lt;span class="vcard"&gt;&lt;span class="fn"&gt;Nick Sutterer&lt;/span&gt;&lt;/span&gt; about &lt;a href="http://cells.rubyforge.org/" class="ext" title="Cells is the building block for building blocks in Rails"&gt;Cells&lt;/a&gt; and &lt;a href="http://apotomo.de/" class="ext" title="A stateful widget component framework for Rails"&gt;Apotomo&lt;/a&gt;, Rails plugins for creating reusable web components. It's one of those things you don't immediately use but may be useful in a certain project. Still not sure if I'll ever use it but it looks a fairly simple solution to build interactive components.&lt;/p&gt;

&lt;h3&gt;RabbitMQ&lt;/h3&gt;

&lt;p&gt;The second day started with &lt;span class="vcard"&gt;&lt;span class="fn"&gt;Paolo Negri&lt;/span&gt;&lt;/span&gt; with &lt;a href="http://www.rabbitmq.com/" class="ext" title="Enterprise messaging system"&gt;RabbitMQ&lt;/a&gt;, a messaging system based on the &lt;abbr title="Advanced Message Queuing Protocol"&gt;AMQP&lt;/abbr&gt; standard. It's platform neutral with lots of different packages and bundles to bind it with your favorite language (like Ruby). It's a way to exchange massages with a queuing system and looks really interesting. Sounds like a nice solution to replace own made batch queuing systems and is definitely more scalable. Worth to keep an eye on.&lt;/p&gt;

&lt;h3&gt;Mastering Git&lt;/h3&gt;

&lt;p&gt;The next one was &lt;span class="vcard"&gt;&lt;span class="fn"&gt;Scott Chacon&lt;/span&gt; from &lt;span class="org"&gt;GitHub&lt;/span&gt;&lt;/span&gt;. It's one of the more &amp;lsquo;traditional&amp;rsquo; subjects compared with the previous two but the one we were all looking forward to and Scott did not disappoint: I finally understand why Git is better as &lt;abbr title="Subversion"&gt;SVN&lt;/abbr&gt; (insert lousy comments here). He started of with some &lt;abbr title="Subversion"&gt;SVN&lt;/abbr&gt; bashing to make his point and went on with a Git ninja training and what makes GitHub a great repository for sharing open source projects. Scott is a good speaker and knows how to get and keep the attention, this was definitely the best talk of the conference. Some things I'll try to remember:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Subversion keeps diffs, Git stores snapshots.&lt;/li&gt;
	&lt;li&gt;Git is faster and more efficient in disk space usages as &lt;abbr title="Subversion"&gt;SVN&lt;/abbr&gt;.&lt;/li&gt;
	&lt;li&gt;Branch often and use it as &amp;lsquo;environments&amp;rsquo;, switch contexts when needed.&lt;/li&gt;
	&lt;li&gt;Git (almost) never removes data.&lt;/li&gt;
	&lt;li&gt;You can start a clone and work on it without access rights from the owner, this helps collaboration.&lt;/li&gt;
	&lt;li&gt;It's frictionless (non linear): branch fast, merge it when done and remove the branch.&lt;/li&gt;
	&lt;li&gt;Read his free book: &lt;a href="http://progit.org/" title="Professional version control explained" class="ext"&gt;Pro Git&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a quick example on how to create branch easily in Git:&lt;/p&gt;

&lt;samp&gt;
	git init # create a local repository&lt;br /&gt;
	git branch # shows the current branch&lt;br /&gt;
	git branch blue # creates a new branch called blue&lt;br /&gt;
	git checkout blue # switches to the blue branch&lt;br /&gt;
	# write some code&lt;br /&gt;
	git merge blue # merge this branch with the master&lt;br /&gt;
	git branch -d blue # removes the blue branch&lt;br /&gt;
&lt;/samp&gt;

&lt;p&gt;Make sure to take a look at the &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/git-commit.html" class="ext" title="git-commit Manual Page"&gt;git commit --amend&lt;/a&gt;, &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/git-blame.html" class="ext" title="git-blame Manual Page"&gt;git blame &amp;lt;filename&amp;gt;&lt;/a&gt;, &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/git-blame.html" class="ext" title="git-blame Manual Page"&gt;git blame -C &amp;lt;filename&amp;gt;&lt;/a&gt; and &lt;a href="http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html" class="ext" title="git-bisect Manual Page"&gt;git bisect&lt;/a&gt; commands.&lt;/p&gt;
	
&lt;p&gt;Also a big thanks to the &lt;a href="http://www.cssninjas.com/" title="Trained XHTML/CSS mercenaries" class="ext"&gt;CSS Ninja&lt;/a&gt;'s for hanging out with us, it was nice meeting you guys.&lt;/p&gt;

&lt;p lang="pl"&gt;Do zobaczenia!&lt;/p&gt;</content>
  <created-at type="datetime">2009-11-12T23:57:14+01:00</created-at>
  <id type="integer">62</id>
  <location-id type="integer">16</location-id>
  <permalink>rupy2009</permalink>
  <title>RuPy 2009 roundup</title>
  <updated-at type="datetime">2009-11-13T10:21:07+01:00</updated-at>
</post>
