<?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>le-matt. &#187; Programming the web</title>
	<atom:link href="http://www.any-where.de/blog/category/programming-the-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.any-where.de/blog</link>
	<description>news from the world (the real one and the virtual)</description>
	<lastBuildDate>Sun, 15 Aug 2010 13:24:14 +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>Teamviewer für iPhone und iPad.</title>
		<link>http://www.any-where.de/blog/teamviewer-fur-iphone-und-ipad/</link>
		<comments>http://www.any-where.de/blog/teamviewer-fur-iphone-und-ipad/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 10:22:10 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[teamviewer]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=439</guid>
		<description><![CDATA[So, jetzt muss ich nicht mehr zurück ins Büro, wenn noch was dringendes ansteht und ich schon auf dem Weg nach Hause bin: Jetzt mach ich das übers iPhone, bzw. iPad. Denn für beide Geräte gibt es nun den TeamViewer als App zum Download. Für Privatanwender ist die Lizenz sogar kostenlos, für Unternehmen soll die [...]]]></description>
			<content:encoded><![CDATA[<p>So, jetzt muss ich nicht mehr zurück ins Büro, wenn noch was dringendes ansteht und ich schon auf dem Weg nach Hause bin: Jetzt mach ich das übers iPhone, bzw. iPad. Denn für beide Geräte gibt es nun den <a href="http://www.teamviewer.com/de/" target="_blank">TeamViewer</a> als App zum Download. Für Privatanwender ist die Lizenz sogar kostenlos, für Unternehmen soll die Lizenz laut <a href="http://www.golem.de/1007/76436.html" target="_blank">Golem </a>ab 80 EUR kosten.</p>
<p>Es funktioniert erstaunlich flüssig und erlaubt alle Mausaktionen mit einfach zu lernenden Gesten. Die Verbindung über UMTS ist aber doch recht langsam, zumindest in meinen ersten Tests. Die Maus auf meinem Laptop bewegte sich ziemlich verzögert, während mein iPhone den Zeiger bereits an der richtigen Position wähnte. Im WLAN sieht das sicher anders aus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/teamviewer-fur-iphone-und-ipad/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gedittools &#8211; a plug-in for gedit.</title>
		<link>http://www.any-where.de/blog/gedittools-a-plug-in-for-gedit/</link>
		<comments>http://www.any-where.de/blog/gedittools-a-plug-in-for-gedit/#comments</comments>
		<pubDate>Wed, 12 May 2010 09:21:44 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[count search results]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[meld]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[xml highlighting]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=404</guid>
		<description><![CDATA[During the past few weeks I extended gedit by several little plug-ins that I needed to have for my daily developer work. Now, I merged all those to one single configurable plug-in called gedittools.
It comes along with the following features:

XML highlighting: After a double click on a XML-tag, the complete tree inside the selected tag [...]]]></description>
			<content:encoded><![CDATA[<p>During the past few weeks I extended <a href="http://live.gnome.org/Gedit/">gedit</a> by several little plug-ins that I needed to have for my daily developer work. Now, I merged all those to one single configurable plug-in called gedittools.</p>
<p>It comes along with the following features:</p>
<ul>
<li><strong>XML highlighting:</strong> After a double click on a XML-tag, the complete tree inside the selected tag will be highlighted. Depending on depth different colors will be used.</li>
<li><strong>Selection highlighting: </strong>After a double click on any word, all occurrances of the selected word will be highlighted throughout the whole current document.</li>
<li><strong>Search selection count: </strong>After a double click on any word, all occurrances of the selected word will be counted and the sum will be displayed in the status bar of the document.</li>
<li><strong>Launch meld to compare files: </strong>A button is added to the toolbar of gedit to allow launching meld. Therefore a screen will be displayed: It allows selection of a file which will be compared to the current active file in gedit.</li>
</ul>
<p>The plug-in is configurable: You can choose which plug-in you want to use. To make use of the meld launcher feature, an installation of meld is required. Refer to the README file for details.</p>
<p>If you want to use the plug-in, feel free to download it at github: <a href="http://github.com/mmuell23/mmuell23" target="_blank">http://github.com/mmuell23/mmuell23</a></p>
<p><strong>To install from git:</strong></p>
<pre>git clone http://github.com/mmuell23/mmuell23.git
cp -r mmuell23/gedittools/* ~/.gnome2/gedit/plugins</pre>
<p>Activate plug-in in gedit preferences and configure it as you wish.</p>
<p><strong>Install from zip File:</strong></p>
<p>There is also a ZIP file, which will not (always) include latest bug fixes: <a href="http://www.any-where.de/blog/wp-content/uploads/2010/05/gedittools.zip" target="_blank">Download as ZIP</a></p>
<p>Extract all files and copy to <em>~/.gnome2/gedit/plugins</em></p>
<p>Activate plug-in in gedit preferences and configure it as you wish.</p>
<p><strong>Update May 15:</strong></p>
<ul>
<li>Bug fix in search result counter: All words and characters are now being count correctly</li>
<li>Bug fix in XML highlighter: Closing Tags at line ends are now being treated correctly</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/gedittools-a-plug-in-for-gedit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plug-ins for gedit: count results or compare files.</title>
		<link>http://www.any-where.de/blog/plug-ins-for-gedit-count-results-or-compare-files/</link>
		<comments>http://www.any-where.de/blog/plug-ins-for-gedit-count-results-or-compare-files/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:29:02 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=382</guid>
		<description><![CDATA[Well, after I could count words in a gedit document based on a selection I made, I decided to add another missing feature:
I needed a diff tool to compare two files that are currently opened in gedit. Unfortunately, gedit doesn&#8217;t come along with these kind of features. So, another plug-in was needed.
Meldlauncher
What it does? It [...]]]></description>
			<content:encoded><![CDATA[<p>Well, after I could <a href="/blog/count-search-results-in-gedit/">count words in a gedit document</a> based on a selection I made, I decided to add another missing feature:</p>
<p>I needed a diff tool to compare two files that are currently opened in gedit. Unfortunately, gedit doesn&#8217;t come along with these kind of features. So, another plug-in was needed.</p>
<p><strong>Meldlauncher</strong></p>
<p>What it does? It simply starts the open source diff &amp; merge tool <a href="http://meld.sourceforge.net/" target="_blank">Meld</a> using two documents opened in gedit. That&#8217;s why I called it meldlauncher. Therefore, if you want to use meldlauncher, you will need to have Meld installed. On Ubuntu do something like this:</p>
<pre>sudo apt-get install meld</pre>
<p>If there are only two documents opened in gedit, meldlauncher will launch Meld and pass those two files to it. If there are more than two documents opened, meldlauncher will open a selection dialog from which you can easily choose the document to compare the current document with.</p>
<p>I moved both the counter plug-in and the meldlauncher plug-in to Github. Feel free to grab it from there:</p>
<p><a href="http://github.com/mmuell23/mmuell23" target="_blank">http://github.com/mmuell23/mmuell23</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/plug-ins-for-gedit-count-results-or-compare-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Count search results in gedit.</title>
		<link>http://www.any-where.de/blog/count-search-results-in-gedit/</link>
		<comments>http://www.any-where.de/blog/count-search-results-in-gedit/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 08:20:46 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[plug-in]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=374</guid>
		<description><![CDATA[Update May 5:
Count results are now being displayed in the Status Bar instead of an alert window. Also, there were a couple of bug fixes. Feel free to download the new version at the provided download link below or at github!
Lately I was looking for a small but missing feature in gedit: I needed to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update May 5:</strong><br />
Count results are now being displayed in the Status Bar instead of an alert window. Also, there were a couple of bug fixes. Feel free to download the new version at the provided download link below or at <a href="http://github.com/mmuell23/mmuell23">github</a>!</p>
<p>Lately I was looking for a small but missing feature in <a href="http://live.gnome.org/Gedit/" target="_blank">gedit</a>: I needed to be able to count all occurrances of a selected word. This is a standard feature in many other editors such as Notepad++ in the Windows world, for example. However, I didn&#8217;t come across a solution on the net, so I decided to write a little plug-in myself.</p>
<p><strong>What it does:</strong> After marking a word the plug-in counts all occurrances of the selection in the current document. It adds a new button to the toolbar and an entry to the menu right in the &#8220;Search&#8221; section. On top of that you may trigger counting the selection by hitting &#8220;CTRL+SHIFT+F&#8221;.<span style="text-decoration: line-through;"> A small pop-up window will appear and show the results of the search.</span> The results will be displayed in the status bar of the window.</p>
<p><strong>How to use it:</strong> Simply mark a word, and have a look at the statusbar: The number of search results will be displayed there.</p>
<p><a href="http://www.any-where.de/blog/wp-content/uploads/2010/05/counted_elements.png"><img class="alignnone size-full wp-image-375" title="Plug-in to count occurrances of selection in current document" src="http://www.any-where.de/blog/wp-content/uploads/2010/05/counted_elements.png" alt="" width="322" height="106" /></a></p>
<p>If you find it useful, feel free to download the plug-in here:<br />
<span><a title="Download the Count Search Results plug-in for gedit" href="http://www.any-where.de/blog/wp-content/uploads/2010/05/gedittools.zip">Download gedittools plug-in for gedit.</a></span></p>
<p><strong>Donwload at github:<a href="http://github.com/mmuell23/mmuell23" target="_blank"></p>
<p>http://github.com/mmuell23/mmuell23</a></strong></p>
<pre>git clone http://github.com/mmuell23/mmuell23.git
cp -r mmuell23/gedittools/* ~/.gnome2/gedit/plugins</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/count-search-results-in-gedit/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Usability: 2 Artikel.</title>
		<link>http://www.any-where.de/blog/usability/</link>
		<comments>http://www.any-where.de/blog/usability/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 07:44:39 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[formular]]></category>
		<category><![CDATA[landing page]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=317</guid>
		<description><![CDATA[Hier zwei Artikel, die ich gerade las zum Thema Usability. Zwei ganz unterschiedliche Bereiche: einmal Web, einmal &#8220;echtes&#8221; Formular. Beide dennoch spannend:
What was your “Total Impress”? 
und
Drei Gefahren beim Suchen von Landing-Pages
Update: Hier noch ein Artikel über die Usability von horizontaler Navigation vs. vertikaler Navigaion im Smashing Magazine.
]]></description>
			<content:encoded><![CDATA[<p>Hier zwei Artikel, die ich gerade las zum Thema Usability. Zwei ganz unterschiedliche Bereiche: einmal Web, einmal &#8220;echtes&#8221; Formular. Beide dennoch spannend:</p>
<p><a title="Permanent Link: What was your “Total Impress”?" rel="bookmark" href="http://www.uie.com/brainsparks/2010/01/03/what-was-your-total-impress/">What was your “Total Impress”? </a></p>
<p>und</p>
<p><a title="Permanent Link: Drei Gefahren beim Suchen von Landing-Pages" rel="bookmark" href="http://blog.seibert-media.net/2009/12/28/drei-gefahren-beim-suchen-von-landing-pages/">Drei Gefahren beim Suchen von Landing-Pages</a></p>
<p><strong>Update:</strong> Hier noch ein Artikel über die Usability von horizontaler Navigation vs. vertikaler Navigaion <a href="http://www.smashingmagazine.com/2010/01/11/the-case-against-vertical-navigation/" target="_blank">im Smashing Magazine</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/usability/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby Hash: Convert String keys to Symbols</title>
		<link>http://www.any-where.de/blog/ruby-hash-convert-string-keys-to-symbols/</link>
		<comments>http://www.any-where.de/blog/ruby-hash-convert-string-keys-to-symbols/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:55:06 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=146</guid>
		<description><![CDATA[Ever had a hash which contained strings as keys and needed symbols instead? I do: From a REXML::Document I created a hash. Unfortunately, the keys were all strings and I needed them to be symbols at some other point in the app. Thank god, Ruby is capable of extending any object &#8220;on the fly&#8221;. So, [...]]]></description>
			<content:encoded><![CDATA[<p>Ever had a hash which contained strings as keys and needed symbols instead? I do: From a REXML::Document I created a hash. Unfortunately, the keys were all strings and I needed them to be symbols at some other point in the app. Thank god, Ruby is capable of extending any object &#8220;on the fly&#8221;. So, I wrote a simple extension to Hash, which you might find useful as well:</p>
<pre>class Hash
  #take keys of hash and transform those to a symbols
  def self.transform_keys_to_symbols(value)
    return value if not value.is_a?(Hash)
    hash = value.inject({}){|memo,(k,v)| memo[k.to_sym] = Hash.transform_keys_to_symbols(v); memo}
    return hash
  end
end
</pre>
<p>Usage is:</p>
<pre>a = { "key" =&gt; 123, "inner_hash" =&gt; { "another_key" =&gt; "blabla" }}
Hash.transform_keys_to_symbols(a)
#returns
a = { :key =&gt; 123, :inner_hash =&gt; { :another_key =&gt; "blabla" }}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/ruby-hash-convert-string-keys-to-symbols/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Passenger and OpenID</title>
		<link>http://www.any-where.de/blog/passenger-and-openid/</link>
		<comments>http://www.any-where.de/blog/passenger-and-openid/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 09:10:40 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=121</guid>
		<description><![CDATA[I recently updated Passenger 2.0.6 to 2.2.4 and experienced that openID logins were not working anymore. Seems like it tries to log output to some strange log location.
However: If anyone comes across the same problem: Simply add
OpenID::Util.logger = RAILS_DEFAULT_LOGGER
to your environment.rb file and everything will work like a treat again.
]]></description>
			<content:encoded><![CDATA[<p>I recently updated Passenger 2.0.6 to 2.2.4 and experienced that openID logins were not working anymore. Seems like it tries to log output to some strange log location.</p>
<p>However: If anyone comes across the same problem: Simply add</p>
<pre>OpenID::Util.logger = RAILS_DEFAULT_LOGGER</pre>
<p>to your environment.rb file and everything will work like a treat again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/passenger-and-openid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails&#8217; to_xml w/ multiple associations.</title>
		<link>http://www.any-where.de/blog/rails-to_xml-with-multiple-associations/</link>
		<comments>http://www.any-where.de/blog/rails-to_xml-with-multiple-associations/#comments</comments>
		<pubDate>Thu, 14 May 2009 14:43:55 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[multiple associations]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[to_xml]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=94</guid>
		<description><![CDATA[This is a pain and took me about an hour to figure out today.
Rails ActiveRecord instances offer a nice function to render xml:
my_model.to_xml()
This method can be fed with a parameter
:include => []
 to have all associations being integrated in the XML tree, just like when calling
my_model = MyModel.find( :include =&#62; [association])
But when I tried to [...]]]></description>
			<content:encoded><![CDATA[<p>This is a pain and took me about an hour to figure out today.</p>
<p>Rails ActiveRecord instances offer a nice function to render xml:</p>
<pre>my_model.to_xml()</pre>
<p>This method can be fed with a parameter
<pre>:include => []</pre>
<p> to have all associations being integrated in the XML tree, just like when calling</p>
<pre>my_model = MyModel.find( :include =&gt; [association])</pre>
<p>But when I tried to use it, it always failed when dealing with nested associations. Until I found out the trick.<br />
This is how it works: Basically you need to build a list of nested hashes.</p>
<pre>class Book &lt; ActiveRecord::Base
  has_many :pages
  has_one <img src='http://www.any-where.de/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> wner
end</pre>
<pre>class Owner &lt; ActiveRecord::Base
  has_many :books
end</pre>
<pre>class Page &lt; ActiveRecord::Base
  has_many :spots_of_coffees
  belongs_to :book
end</pre>
<pre>class SpotOfCoffee &lt; ActiveRecord::Base
  belongs_to :page
end</pre>
<p>Now, you want to create a nice XML output containing a book, with its owner, pages and all spots of coffee?<br />
Pretty easy:</p>
<pre>
  @book = Book.first
  includes = {} # let's build a hash; it's easier to read. At least for me...
  includes[:owner] = {} # owner has no association. So, let's take an empty hash as target
  includes[:pages] = { :include => :spots_of_coffee } #load pages and include its spots of coffee

  respond_to do |format|
    format.xml  { render :text => @book.to_xml(:include => includes) }
  end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/rails-to_xml-with-multiple-associations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rails: Custom image sizes using has_attachment</title>
		<link>http://www.any-where.de/blog/rails-custom-image-sizes-using-has_attachment/</link>
		<comments>http://www.any-where.de/blog/rails-custom-image-sizes-using-has_attachment/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 07:27:32 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.any-where.de/blog/?p=70</guid>
		<description><![CDATA[Ever wanted to offer users the possibility to define their very own image sizes for uploaded pictures?
Here&#8217;s how you can quickly do that.
You will have a class acting as a an attachment such as:
class AssetImage &#60; ActiveRecord::Base

has_attachment :content_type =&#62; :image,
:storage =&#62; :file_system,
:max_size =&#62; 1.megabytes,
:path_prefix =&#62; "public/system/images/#{ActiveRecord::Base.configurations[RAILS_ENV]['domain_name']}/assets/images",
:thumbnails =&#62; { :large =&#62; '450&#62;', :normal =&#62; '300', :medium [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to offer users the possibility to define their very own image sizes for uploaded pictures?</p>
<p>Here&#8217;s how you can quickly do that.</p>
<p>You will have a class acting as a an attachment such as:</p>
<pre>class AssetImage &lt; ActiveRecord::Base

has_attachment :content_type =&gt; :image,
:storage =&gt; :file_system,
:max_size =&gt; 1.megabytes,
:path_prefix =&gt; "public/system/images/#{ActiveRecord::Base.configurations[RAILS_ENV]['domain_name']}/assets/images",
:thumbnails =&gt; { :large =&gt; '450&gt;', :normal =&gt; '300', :medium =&gt; '200', :thumbnail =&gt; [100,75] },
:processor =&gt; :rmagick

validates_as_attachment

...</pre>
<p>First add a cattr_accessor to store your custom size in the class:</p>
<pre>cattr_accessor :custom_size</pre>
<p>Now, add a before_save callback which takes the assigned value and adds it to the list of requested image sizes. It is using the value as a minimum size while keeping aspect ratio.</p>
<pre>#store custom size
def before_save
  return if AssetImage.custom_size.nil?
  attachment_options[:thumbnails][:custom] = AssetImage.custom_size.to_s + "&gt;"
end</pre>
<p>In your controller do something like this: Take a value from your parameters and store it in your model to have your image customized.</p>
<pre>def add_image
  AssetImage.custom_size = params[:custom_size].to_i.to_s rescue "100"
  a = AssetImage.new(params[:asset_image])
  a.save
  redirect_to :action =&gt; :index
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/rails-custom-image-sizes-using-has_attachment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nerd stuff.</title>
		<link>http://www.any-where.de/blog/nerd-stuff/</link>
		<comments>http://www.any-where.de/blog/nerd-stuff/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 11:08:01 +0000</pubDate>
		<dc:creator>Matthias Müller</dc:creator>
				<category><![CDATA[Programming the web]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.le-matt.de/blog/nerd-stuff/</guid>
		<description><![CDATA[Die Agentur Seibert Media hat einen kleinen Programmierer-Wettbewerb laufen:
Wer den schlankesten Code schreibt, der einen Weihnachtsbaum auf dem Bildschirm erzeugt, bekommt einen netten iPod-Schuffle.
Hier mein Beitrag, geschrieben in Ruby:
puts (0..30).map{&#124;x&#124;" "*(30-x)+"XX"*x+"\n"}.join+(" "*29+"&#124;&#124;\n")*2
Und die Ausgabe auf der Konsole mit IRB:

                 [...]]]></description>
			<content:encoded><![CDATA[<p>Die Agentur <a href="http://blog.seibert-media.net/2008/12/pr/entwicklergolf-bei-seibertmedia-alle-programmierer-sind-eingeladen/" target="_blank">Seibert Media</a> hat einen kleinen Programmierer-Wettbewerb laufen:</p>
<p>Wer den schlankesten Code schreibt, der einen Weihnachtsbaum auf dem Bildschirm erzeugt, bekommt einen netten iPod-Schuffle.</p>
<p>Hier mein Beitrag, geschrieben in Ruby:</p>
<pre>puts (0..30).map{|x|" "*(30-x)+"XX"*x+"\n"}.join+(" "*29+"||\n")*2</pre>
<p>Und die Ausgabe auf der Konsole mit IRB:</p>
<pre>
                             XX
                            XXXX
                           XXXXXX
                          XXXXXXXX
                         XXXXXXXXXX
                        XXXXXXXXXXXX
                       XXXXXXXXXXXXXX
                      XXXXXXXXXXXXXXXX
                     XXXXXXXXXXXXXXXXXX
                    XXXXXXXXXXXXXXXXXXXX
                   XXXXXXXXXXXXXXXXXXXXXX
                  XXXXXXXXXXXXXXXXXXXXXXXX
                 XXXXXXXXXXXXXXXXXXXXXXXXXX
                XXXXXXXXXXXXXXXXXXXXXXXXXXXX
               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                             ||
                             ||</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.any-where.de/blog/nerd-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
