<?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>node-0 &#187; Ruby</title>
	<atom:link href="http://node-0.mneisen.org/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://node-0.mneisen.org</link>
	<description>more random ramblings ...</description>
	<lastBuildDate>Tue, 20 Oct 2009 08:32:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ubuntu: Ruby und MySQL</title>
		<link>http://node-0.mneisen.org/2008/01/10/ubuntu-ruby-und-mysql/</link>
		<comments>http://node-0.mneisen.org/2008/01/10/ubuntu-ruby-und-mysql/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 23:22:32 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Techtip]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/2008/01/10/ubuntu-ruby-und-mysql/</guid>
		<description><![CDATA[	Möchte man das RubyGem mysql unter Ubuntu oder Kubuntu installieren, ist es zunächst notwendig, die Dev-Sourcen des MySQL-Clients zu installieren, sonst kommt es zu folgender Fehlermeldung:
	$ sudo gem install mysql
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
        ERROR: Failed to build gem native [...]]]></description>
			<content:encoded><![CDATA[	<p>Möchte man das RubyGem <a href="http://www.tmtm.org/en/mysql/ruby/">mysql</a> unter <a href="http://www.ubuntu.com/">Ubuntu</a> oder <a href="http://www.kubuntu.com/">Kubuntu</a> installieren, ist es zunächst notwendig, die Dev-Sourcen des MySQL-Clients zu installieren, sonst kommt es zu folgender Fehlermeldung:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo gem install mysql
Building native extensions.  This could take a <span class="kw1">while</span>...
ERROR:  Error installing mysql:
        ERROR: Failed to build gem native extension.
&nbsp;
/usr/bin/ruby1<span class="nu0">.8</span> extconf.rb install mysql
checking <span class="kw1">for</span> mysql_query<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lmysqlclient... no
checking <span class="kw1">for</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lm... yes
checking <span class="kw1">for</span> mysql_query<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lmysqlclient... no
checking <span class="kw1">for</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lz... no
checking <span class="kw1">for</span> mysql_query<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lmysqlclient... no
checking <span class="kw1">for</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lsocket... no
checking <span class="kw1">for</span> mysql_query<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lmysqlclient... no
checking <span class="kw1">for</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lnsl... yes
checking <span class="kw1">for</span> mysql_query<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">in</span> -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file
<span class="kw1">for</span> more details. You may need configuration options.
<span class="br0">&#91;</span>...<span class="br0">&#93;</span></pre>
	<p>Die Fehlermeldung weist darauf hin, dass die Client-Sourcen von MySQL finden; bei der Erstellung der nativen Anteile der Ruby-MySQL-Bindings wird versucht, gegen die Bibliothek mit den entsprechenden Routinen zu binden (<code>-lmysqlclient</code>).</p>
	<p>Die notwendige Entwickler-Bibliothek des MySQL-Clients kann folgendermaßen installiert werden:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo apt-get install libmysqlclient15-dev</pre>
	<p>Danach kann dann das mysql-Gem installiert werden:<br />
<pre class="codebash" style="font-size:9pt;">$ sudo gem install mysql</pre>
	<p>Fertig.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2008/01/10/ubuntu-ruby-und-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Howto: ruby-sqlite3 unter Ubuntu installieren</title>
		<link>http://node-0.mneisen.org/2008/01/09/howto-ruby-sqlite3-unter-ubuntu-installieren/</link>
		<comments>http://node-0.mneisen.org/2008/01/09/howto-ruby-sqlite3-unter-ubuntu-installieren/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 18:43:46 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[RubyGems]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/2008/01/09/howto-ruby-sqlite3-unter-ubuntu-installieren/</guid>
		<description><![CDATA[	Wer die Ruby-Bindings für sqlite3 namens sqlite3-ruby unter Ubuntu oder Kubuntu mittels rubygems installieren möchte, stößt auf Probleme:
	$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.
&#160;
/usr/bin/ruby1.8 extconf.rb install sqlite3-ruby
checking for sqlite3.h... no
&#160;
make
make: *** [...]]]></description>
			<content:encoded><![CDATA[	<p>Wer die <a href="http://www.ruby-lang.org/">Ruby-Bindings</a> für <a href="http://www.sqlite.org/">sqlite3</a> namens <a href="http://sqlite-ruby.rubyforge.org/">sqlite3-ruby</a> unter <a href="http://www.ubuntu.com/">Ubuntu</a> oder <a href="http://www.kubuntu.com/">Kubuntu</a> mittels rubygems installieren möchte, stößt auf Probleme:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a <span class="kw1">while</span>...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.
&nbsp;
/usr/bin/ruby1<span class="nu0">.8</span> extconf.rb install sqlite3-ruby
checking <span class="kw1">for</span> sqlite3.h... no
&nbsp;
make
make: *** No rule to make target <span class="st0">'ruby.h'</span>, 
      needed by `sqlite3_api_wrap.o<span class="st0">'.  Stop.</span></pre>
	<p>Die Lösung für dieses Problem: Man muss zunächst das Ubuntu-Package <code>libsqlite3-dev</code> installieren:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo apt-get install libsqlite3-dev
$ sudo gem install sqlite3-ruby</pre>
	<p>Ein kurzer Test in <code>irb</code>:</p>
	<pre class="coderuby" style="font-size:9pt;">$ irb
irb<span class="br0">&#40;</span>main<span class="br0">&#41;</span>:<span class="nu0">001</span>:<span class="nu0">0</span>&gt; <span class="kw3">require</span> 'rubygems'
=&gt; <span class="kw2">true</span>
irb<span class="br0">&#40;</span>main<span class="br0">&#41;</span>:<span class="nu0">002</span>:<span class="nu0">0</span>&gt; <span class="kw3">require</span> 'sqlite3'
=&gt; <span class="kw2">true</span>
irb<span class="br0">&#40;</span>main<span class="br0">&#41;</span>:<span class="nu0">004</span>:<span class="nu0">0</span>&gt; db.<span class="me1">execute</span><span class="br0">&#40;</span>
         <span class="st0">&quot;CREATE TABLE test(id INTEGER, content TEXT)&quot;</span> <span class="br0">&#41;</span>
=&gt; <span class="br0">&#91;</span><span class="br0">&#93;</span>
irb<span class="br0">&#40;</span>main<span class="br0">&#41;</span>:<span class="nu0">005</span>:<span class="nu0">0</span>&gt; rows = db.<span class="me1">execute</span><span class="br0">&#40;</span> <span class="st0">&quot;SELECT * FROM test&quot;</span> <span class="br0">&#41;</span>
=&gt; <span class="br0">&#91;</span><span class="br0">&#93;</span>
irb<span class="br0">&#40;</span>main<span class="br0">&#41;</span>:<span class="nu0">006</span>:<span class="nu0">0</span>&gt; rows.<span class="me1">length</span>
=&gt; <span class="nu0">0</span></pre>
	<p>Case closed.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2008/01/09/howto-ruby-sqlite3-unter-ubuntu-installieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Installation von Merb</title>
		<link>http://node-0.mneisen.org/2008/01/09/ubuntu-installation-von-merb/</link>
		<comments>http://node-0.mneisen.org/2008/01/09/ubuntu-installation-von-merb/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 15:10:34 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[RubyGems]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/2008/01/09/ubuntu-installation-von-merb/</guid>
		<description><![CDATA[	Merb ist ein leichtgewichtiges Framework für die Erstellung von Model-View-Controller-basierten Webanwedungen mit Ruby. Von der Zielsetzung her ist es mit Ruby on Rails, Nitro und Ramaze vergleichbar.
	Insbesondere von Rails unterscheiden sich Merb und Ramaze durch die Rückkehr zum »micro framework«, einer bewussten Beschränkung auf das Wesentliche und bleiben dadurch klein, performant und flexibel; Ruby on [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://merbivore.com/">Merb</a> ist ein leichtgewichtiges Framework für die Erstellung von <a href="http://de.wikipedia.org/wiki/MVC">Model-View-Controller-basierten</a> Webanwedungen mit <a href="http://www.ruby-lang.org/">Ruby</a>. Von der Zielsetzung her ist es mit <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, <a href="http://www.nitroproject.org/">Nitro</a> und <a href="http://www.ramaze.net/">Ramaze</a> vergleichbar.</p>
	<p>Insbesondere von Rails unterscheiden sich Merb und Ramaze durch die Rückkehr zum »micro framework«, einer bewussten Beschränkung auf das Wesentliche und bleiben dadurch klein, performant und flexibel; Ruby on Rails hingegen versucht durch »convention over configuration« dem Anwender ein recht festes Grundgerüst vorzugeben, dass bis hin zu Konventionen (böswillig: »Vorschriften«) bei der Benennung von Entwicklungsobjekten (Klassen, Methoden, Templates, Layouts, ...) reicht. Der Entwickler/Anwender muss sich also zwischen zwei grundsätzlich unterschiedlichen Philosophien unterscheiden: zwischen maximaler Selbständigkeit (Merb, Ramaze, ...) und einem recht strikten Vorgehensmodell (Ruby on Rails).</p>
	<p>Falls man sich nun für Merb entscheidet, besteht die erste Hürde unter Umständen schon in der Installation. Diese ist z.B. unter Ubuntu gar nicht so ohne, da Ubuntu und andere Debian-basierte Linux-Distributionen momentan einen kleinen, aber folgenreichen <a href="https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/145267">Fehler bei der Installation der rubygems</a> machen. Nach einem</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo apt-get install rubygems</pre>
	<p>sind die Rubygems (ein Paketmanager für Ruby-Erweiterungen) zwar installiert, neu hinzugefügte Gems mit eigenen Binaries wie etwa Rails, Merb, Ramaze, Mongrel und andere können allerdings nicht von der Kommandozeile aus aufgerufen werden. Die <a href="/2008/01/09/ubuntu-howto-rubygems/">Lösung dazu habe ich in einem separaten Post beschrieben</a>.</p>
	<p>Merb selbst kann zwar auch als RubyGem bezogen werden, es bietet sich allerdings dringend an, die neueste Version aus dem <code>trunk</code> des <a href="http://subversion.tigris.org/">Subversion-Repositories</a> zu installieren. Damit das glatt über die Bühne geht, sollte man zunächst die Abhängigkeiten von Merb installieren:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo gem install mongrel json_pure erubis mime-types \
  rspec rubigen ruby2ruby rake</pre>
	<p>Nun können wir uns an die Installation von Merb selbst machen:</p>
	<pre class="codebash" style="font-size:9pt;"><span class="co1"># eventuell muss Subversion noch installiert werden</span>
$ sudo apt-get install subversion
$ <span class="kw3">cd</span> /tmp
$ svn checkout http://svn.devjavu.com/merb/trunk merb
$ <span class="kw3">cd</span> merb
$ rake gem
$ sudo gem install pkg/merb<span class="nu0">-0.5</span><span class="nu0">.0</span>.gem</pre>
	<p>Fertig. Kurz ausprobieren, ob alles klappt:</p>
	<pre class="codebash" style="font-size:9pt;">$ <span class="kw3">cd</span> /tmp
$ merb myapp
$ <span class="kw3">cd</span> myapp
$ merb</pre>
	<p>Im Browser kann man nun auf <a href="http://localhost:4000">http://localhost:4000</a> die generierte (und noch völlig nutzlose &#8230;) Webanwendung aufrufen. Man darf sich nur nicht wundern, dass man eine hübsch aufgemachte Fehlermeldung zu sehen bekommt &#8211; da noch nichts implemeniert ist, kann Merb auch noch keinen Content serven; insbesondere fehlt ein <a href="http://en.wikipedia.org/wiki/Model-view-controller#Pattern_description">Controller</a>.</p>
	<p>Zeit, sich ans implementieren der nächsten Web 2.0 Killer Application zu machen &#8230; <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2008/01/09/ubuntu-installation-von-merb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Howto rubygems</title>
		<link>http://node-0.mneisen.org/2008/01/09/ubuntu-howto-rubygems/</link>
		<comments>http://node-0.mneisen.org/2008/01/09/ubuntu-howto-rubygems/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 12:52:13 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[RubyGems]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/2008/01/09/ubuntu-howto-rubygems/</guid>
		<description><![CDATA[	Ruby ist eine vollständig objekt-orientierte Skriptsprache, die sich wachsender Beliebtheit für die Realisierung von Webanwendungen (siehe Ruby on Rails, Merb, Ramaze, Nitro, ...), für System-Administration (als »glue language«), für Prototyping und Datenauswertung erfreut.
	Die Sprache selbst kann auf Ubuntu, Kubuntu und anderen auf Debian basierenden Linux-Distributionen komfortable über den Paketmanager installiert werden:
	$ sudo apt-get install ruby
	Erweiterungen [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.ruby-lang.org/">Ruby</a> ist eine vollständig objekt-orientierte Skriptsprache, die sich wachsender Beliebtheit für die Realisierung von Webanwendungen (siehe <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, <a href="http://www.merbivore.com/">Merb</a>, <a href="http://www.ramaze.net/">Ramaze</a>, <a href="http://www.nitroproject.org/">Nitro</a>, ...), für System-Administration (als <a href="http://en.wikipedia.org/wiki/Glue_language">»glue language«</a>), für <a href="http://en.wikipedia.org/wiki/Software_prototyping">Prototyping</a> und Datenauswertung erfreut.</p>
	<p>Die Sprache selbst kann auf <a href="http://www.ubuntu.com">Ubuntu</a>, <a href="http://www.kubuntu.com/">Kubuntu</a> und anderen auf <a href="http://www.debian.org/">Debian</a> basierenden Linux-Distributionen komfortable über den Paketmanager installiert werden:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo apt-get install ruby</pre>
	<p>Erweiterungen für Ruby werden typischerweise als so genannte »gems« verbreitet und installiert. Dazu wird zunächst der Paketmanager für diese Gems installiert:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo apt-get install rubygems</pre>
	<p>Danach können dann &#8211; ähnlich wie bei apt &#8211; Ruby-Erweiterungen als Ruby-Gems installiert werden:</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo gem install mechanize</pre>
	<p>installiert z.B. das Ruby-Gem <a href="http://mechanize.rubyforge.org/">Mechanize</a>, mit dem man automatisiert per HTTP mit Web-Servern kommunizieren kann.</p>
	<p>So weit, so gut. Problematisch wird das Ganze, wenn ein solches Gem auch ein direkt ausführbares Kommando mitbringt. <a href="https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/145267">Debian, Ubuntu und Kubuntu haben nämlich einen kleinen Fehler in den bereitgestellten deb-Archiven für <code>rubygems</code>, der leider immer noch nicht gefixt ist.</a></p>
	<p>Ein gutes Beispiel ist <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, ein sehr populäres Model-View-Controller-Framework zur Entwicklung von datenbankbasierten Webanwendungen. Die Installation mit</p>
	<pre class="codebash" style="font-size:9pt;">$ sudo gem install rails --include-dependencies
Bulk updating Gem <span class="kw3">source</span> index <span class="kw1">for</span>: http://gems.rubyforge.org
Successfully installed rails<span class="nu0">-2.0</span><span class="nu0">.2</span>
Successfully installed activesupport<span class="nu0">-2.0</span><span class="nu0">.2</span>
Successfully installed activerecord<span class="nu0">-2.0</span><span class="nu0">.2</span>
Successfully installed actionpack<span class="nu0">-2.0</span><span class="nu0">.2</span>
Successfully installed actionmailer<span class="nu0">-2.0</span><span class="nu0">.2</span>
Successfully installed activeresource<span class="nu0">-2.0</span><span class="nu0">.2</span>
Installing ri documentation <span class="kw1">for</span> activesupport<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing ri documentation <span class="kw1">for</span> activerecord<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing ri documentation <span class="kw1">for</span> actionpack<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing ri documentation <span class="kw1">for</span> actionmailer<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing ri documentation <span class="kw1">for</span> activeresource<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing RDoc documentation <span class="kw1">for</span> activesupport<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing RDoc documentation <span class="kw1">for</span> activerecord<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing RDoc documentation <span class="kw1">for</span> actionpack<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing RDoc documentation <span class="kw1">for</span> actionmailer<span class="nu0">-2.0</span><span class="nu0">.2</span>...
Installing RDoc documentation <span class="kw1">for</span> activeresource<span class="nu0">-2.0</span><span class="nu0">.2</span>...</pre>
	<p>sollte problemlos funktionieren. Das Rails-Gem bringt nun aber auch ein neues Kommando mit: <code>rails</code>, mit dem das Grundgerüst für eine neue Web-Anwendung automatisch erzeugt wird.</p>
	<p>Ein Aufruf</p>
	<pre class="codebash" style="font-size:9pt;">$ rails myapp
The program <span class="st0">'rails'</span> is currently not installed.  
        You can install it by typing:
sudo apt-get install rails
bash: rails: <span class="kw3">command</span> not found</pre>
	<p>schlägt aber fehl, da das Binary in <code>/var/lib/gems/1.8/bin/</code> liegt; dieses Verzeichnis ist allerdings nicht im <code>$PATH</code> des Anwenders. Die ersten beiden Zeilen der Fehlermeldung weisen übrigens darauf hin, dass man Rails <em>auch</em> über apt installieren kann; das ist allerdings nur mäßig ratsam, da man über apt eine schon etwas angestaubte Version bekommt und gerade die Ruby-Packages unter Debian/Ubuntu/Kubuntu nicht immer über jeden Zweifel erhaben sind &#8230;</p>
	<p>Was hilft? Ein kleiner, ein bisschen unschöner Hack der <code>bashrc</code>. Man fügt an die ~/.bashrc folgende Zeile an:</p>
	<pre class="codebash" style="font-size:9pt;"><span class="kw3">export</span> <span class="re2">PATH=</span><span class="re1">$PATH</span>:/var/lib/gems/<span class="nu0">1.8</span>/bin/</pre>
	<p>Wer das gleich für alle Nutzer des Systems und nicht nur für sich selbst fixen möchte, kann diese Zeile auch an <code>/etc/bash.bashrc</code> anfügen.</p>
	<p>Ein kurzer Test zeigt, dass das Problem nun behoben ist:</p>
	<pre class="codebash" style="font-size:9pt;">$ rails myapp
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
<span class="br0">&#91;</span>...<span class="br0">&#93;</span>
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/<span class="kw3">test</span>.log</pre>
	<p>Case closed. <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2008/01/09/ubuntu-howto-rubygems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RMagick unter Ubuntu/Kubuntu installieren</title>
		<link>http://node-0.mneisen.org/2007/12/03/rmagick-unter-ubuntukubuntu-installieren/</link>
		<comments>http://node-0.mneisen.org/2007/12/03/rmagick-unter-ubuntukubuntu-installieren/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 12:25:11 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Techtip]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/?p=289</guid>
		<description><![CDATA[	Wer gerne automatisiert Bilder bearbeitet und Ruby mag, für den ist RMagick genau das Richtige. Allerdings ist die Installation unter Ubuntu nicht ganz ohne.
	Denn wie immer, wenn der Paket-Manager (in diesem Falle also apt) die Pakete nicht im Repository finden kann, steht man ein bisschen im Regen. Natürlich lässt sich RMagick (wie bei Ruby-Paketen üblich) [...]]]></description>
			<content:encoded><![CDATA[	<p>Wer gerne automatisiert Bilder bearbeitet und Ruby mag, für den ist <a href="http://rmagick.rubyforge.org/">RMagick</a> genau das Richtige. Allerdings ist die Installation unter Ubuntu nicht ganz ohne.</p>
	<p>Denn wie immer, wenn der Paket-Manager (in diesem Falle also apt) die Pakete nicht im Repository finden kann, steht man ein bisschen im Regen. Natürlich lässt sich RMagick (wie bei Ruby-Paketen üblich) auch über die gem-Repositories installieren. Probiert man das dann, passiert aber folgendes:</p>
	<pre class="codetext" style="font-size:9pt;">$ sudo gem install rmagick
Building native extensions.  This could take a while...
ERROR:  While executing gem ...
  (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.
&nbsp;
ruby gem_extconf.rb install rmagick
&nbsp;
sh configure
&nbsp;
Configuring RMagick 1.15.11
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gcc option to accept ISO C99... -std=gnu99
checking for gcc -std=gnu99 option to accept ISO Standard C...
  (cached) -std=gnu99
checking for ruby... /usr/bin/ruby
checking for Magick-config... no
checking for GraphicsMagick-config... no
configure: error: Can't install RMagick.
  Can't find Magick-config or GraphicsMagick-config program.
RMagick configuration failed with status 1.
&nbsp;
&nbsp;
Gem files will remain installed in
  /var/lib/gems/1.8/gems/rmagick-1.15.11 for inspection.
Results logged to
  /var/lib/gems/1.8/gems/rmagick-1.15.11/gem_make.out</pre>
	<p>Wie so oft besteht die Lösung darin, zunächst ein paar andere Pakete zu installieren. In unserem Fall sind das zunächst einmal die <code>build-essentials</code>:</p>
	<pre class="codetext" style="font-size:9pt;">$ sudo apt-get install build-essential</pre>
	<p>Damit sind wir aber noch nicht fertig. Was fehlt noch? Ein Blick in Google und Co. bringt folgende Lösung:<br />
<pre class="codetext" style="font-size:9pt;">$ sudo apt-get install libmagick9-dev ruby1.8-dev</pre>
	<p>Danach sollte ein neuerlicher Aufruf<br />
<pre class="codetext" style="font-size:9pt;">$ sudo gem install rmagick</pre>
	<p>zum gewünschten Ergebnis führen.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2007/12/03/rmagick-unter-ubuntukubuntu-installieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bow before me, for I am LISP</title>
		<link>http://node-0.mneisen.org/2007/05/09/bow-before-me-for-i-am-lisp/</link>
		<comments>http://node-0.mneisen.org/2007/05/09/bow-before-me-for-i-am-lisp/#comments</comments>
		<pubDate>Wed, 09 May 2007 11:01:08 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Seltsames]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/?p=250</guid>
		<description><![CDATA[	Da haben wir nun den Salat:
	
	Angeblich wäre ich &#8211; zumindest laut des Tests bei BBSpot &#8211; LISP, wenn ich eine Programmiersprache wäre. Dabei kann ich LISP nur &#8230; sagen wir mal: rudimentär. Und gemocht werde ich auch kaum.  
	Was soll man da machen? Einfach den Test noch einmal durchgehen und ein paar Fragen anders [...]]]></description>
			<content:encoded><![CDATA[	<p>Da haben wir nun den Salat:</p>
	<p><a href="http://www.bbspot.com/News/2006/08/language_quiz.php"><img src="http://www.bbspot.com/Images/News_Features/2006/08/language/lisp.jpg" class="centered" title="" alt="" width="300" height="90" /></a></p>
	<p>Angeblich wäre ich &#8211; zumindest laut des <a href="http://www.bbspot.com/News/2006/08/language_quiz.php">Tests bei BBSpot</a> &#8211; LISP, wenn ich eine Programmiersprache wäre. Dabei kann ich LISP nur &#8230; sagen wir mal: rudimentär. Und gemocht werde ich auch kaum. <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
	<p>Was soll man da machen? Einfach den Test noch einmal durchgehen und ein paar Fragen anders beantworten &#8230; <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
	<p>Ergebnis dieses Mal:</p>
	<p><a href="http://www.bbspot.com/News/2006/08/language_quiz.php"><img src="http://www.bbspot.com/Images/News_Features/2006/08/language/smalltalk.jpg" class="centered" title="" alt="" width="300" height="90" /></a></p>
	<p>Schon wieder eine Sprache, die ich nur ansatzweise beherrsche &#8211; und die auch noch mit LISP verwandt ist.</p>
	<p>OK, ein letzter Versuch:</p>
	<p><a href="http://www.bbspot.com/News/2006/08/language_quiz.php"><img src="http://www.bbspot.com/Images/News_Features/2006/08/language/ruby.jpg" class="centered" title="" alt="" width="300" height="90" /></a></p>
	<p>Na also. Geht doch. <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
	<p>[via <a href="http://www.fixmbr.de/which-programming-lanuguage-are-you/">F!XMBR</a>]</p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2007/05/09/bow-before-me-for-i-am-lisp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eMail-Subjects in UTF-8 mit Ruby kodieren</title>
		<link>http://node-0.mneisen.org/2007/03/13/email-subjects-in-utf-8-mit-ruby-kodieren/</link>
		<comments>http://node-0.mneisen.org/2007/03/13/email-subjects-in-utf-8-mit-ruby-kodieren/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 11:32:06 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Techtip]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/?p=222</guid>
		<description><![CDATA[	Falls mal jemand außer mir in die Verlegenheit kommt, aus einem Ruby-Skript heraus eMails zu generieren, die im Header auch Umlaute/Sonderzeichen enthalten, dann wird dieser jemand wohl auch recht bald feststellen, dass das gar nicht so einfach ist.
	Das erste Problem: Die entsprechenden RFC 822, 1652, 2821, etc. sind nämlich ein bisschen haarig zu lesen, außerdem [...]]]></description>
			<content:encoded><![CDATA[	<p>Falls mal jemand außer mir in die Verlegenheit kommt, aus einem Ruby-Skript heraus eMails zu generieren, die im Header auch Umlaute/Sonderzeichen enthalten, dann wird dieser jemand wohl auch recht bald feststellen, dass das gar nicht so einfach ist.</p>
	<p>Das erste Problem: Die entsprechenden <acronym title="Request for Comment">RFC</acronym> <a href="http://tools.ietf.org/html/rfc822">822</a>, <a href="http://tools.ietf.org/html/rfc1652">1652</a>, <a href="http://tools.ietf.org/html/rfc2821">2821</a>, etc. sind nämlich ein bisschen haarig zu lesen, außerdem gibt es so viele davon; nach meiner Zählung muss man sich bei der standard-konformen Implementierung von eMail-Funktionalität (sprich: <acronym title="Simple Mail Transfer Protocol">SMTP</acronym>) um mindestens 24 RFCs kümmern; wir sind ja nicht Microsoft und definieren unsere eigenen Standards &#8230; <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
	<p>Gut, worin liegt nun das eigentliche Problem? Kurz gefasst: eMail-Subjects sollen ausschließlich Zeichen des 7bit-<acronym title="American Standard Code for Information Interchange">ASCII</acronym> enthalten. Für den englisch-sprachigen Raum mag das angehen, für Europa, Südamerika und Asien hingegen reicht das bei weitem nicht.</p>
	<p>Also muss das Subjekt z.B. in einen UTF-8-Wrapper kodiert werden. Die Zeile<br />
<pre class="codebash" style="font-size:9pt;">Subject: Vielen Dank für die Blumen!</pre>
	<p>sieht korrekt kodiert dann so aus:<br />
<pre class="codebash" style="font-size:9pt;">Subject: =?utf<span class="nu0">-8</span>?b?<span class="re2">VmllbGVuIERhbmsgZsO8ciBkaWUgQmx1bWVuIQ=</span>=?=</pre>
	<p>Kann man gut lesen, oder?! <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
	<p>Wer das ganze als bequeme Ruby-Methode haben möchte, darf sich an folgendem Code bedienen:<br />
<pre class="coderuby" style="font-size:9pt;"><span class="kw1">def</span> encodeSubject<span class="br0">&#40;</span>subject<span class="br0">&#41;</span>
    <span class="st0">&quot;=?utf-8?b?#{[subject].pack(&quot;</span>m<span class="st0">&quot;).delete(&quot;</span>\n<span class="st0">&quot;)}?=&quot;</span>
<span class="kw1">end</span></pre>
	<p>Solchen Code sollte man typischerweise großflächig mit Warnhinweisen kommentieren, dass nur derjenige, der ihn auch wirklich versteht, zu Änderungen befugt ist &#8230; <img src='http://node-0.mneisen.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>


 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2007/03/13/email-subjects-in-utf-8-mit-ruby-kodieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Freies Ruby-Buch erschienen</title>
		<link>http://node-0.mneisen.org/2007/01/07/freies-ruby-buch-erschienen/</link>
		<comments>http://node-0.mneisen.org/2007/01/07/freies-ruby-buch-erschienen/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 19:47:47 +0000</pubDate>
		<dc:creator>Martin Eisenhardt</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://node-0.mneisen.org/?p=196</guid>
		<description><![CDATA[	Jeremy McAnally (hihi!) hat sein Ruby-Buch »Mr. Neighborly&#8217;s Humble Little Ruby Book« zum kostenlosen Download bereitgestellt. Bei Bedarf kann auch eine gedruckte Fassung bei einem BOD-Service bestellt werden.
	Das Buch fällt durch seinen lockeren Stil auf und bietet eine fundierte Einführung in die Sprache Ruby mitsamt einiger häufig gebrauchter Idiome in dieser mehr und mehr an [...]]]></description>
			<content:encoded><![CDATA[	<p>Jeremy McAnally (hihi!) hat sein Ruby-Buch <a href="http://www.humblelittlerubybook.com/book/">»Mr. Neighborly&#8217;s Humble Little Ruby Book«</a> zum kostenlosen Download bereitgestellt. Bei Bedarf kann auch eine gedruckte Fassung bei einem <acronym title="Book On Demand">BOD</acronym>-Service bestellt werden.</p>
	<p>Das Buch fällt durch seinen lockeren Stil auf und bietet eine fundierte Einführung in die Sprache <a href="http://www.ruby-lang.org/">Ruby</a> mitsamt einiger häufig gebrauchter Idiome in dieser mehr und mehr an Bedeutung gewinnenden Skriptsprache.</p>
	<p>Empfehlung: Lesen!</p>

 ]]></content:encoded>
			<wfw:commentRss>http://node-0.mneisen.org/2007/01/07/freies-ruby-buch-erschienen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
