<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>rainboxx - Matthias Dietrich</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/" />
    <link rel="self" type="application/atom+xml" href="http://www.rainboxx.de/atom.xml" />
    <id>tag:www.rainboxx.de,2007-08-30://1</id>
    <updated>2011-10-10T15:48:39Z</updated>
    <subtitle>The blog of freelance engineer Matthias Dietrich.  You&apos;ll find unregular findings of the web and things he&apos;s interested and affiliated with.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.04</generator>

<entry>
    <title>Clamp.js: &quot;text-overflow&quot; for paragraphs</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/10/clampjs-text-overflow-for-para.html" />
    <id>tag:www.rainboxx.de,2011://1.247</id>

    <published>2011-10-10T15:35:43Z</published>
    <updated>2011-10-10T15:48:39Z</updated>

    <summary>text-overflow: ellipsis; is great for text lines that may be longer then the parent element, eg. for shop article names or user names. But there is currently no solution for paragraphs that are longer than the parent. Of course you can set overflow: hidden;, but that will just clip the content/text. Today I stumbled upon a blog entry by David DeSandro in which he show the use of -webkit-line-clamp which &quot;limits the number of lines of text displayed in a...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="clamp" label="clamp" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css3" label="css3" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ellipsis" label="ellipsis" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="polyfill" label="polyfill" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="textoverflow" label="text-overflow" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="webkit" label="webkit" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        `text-overflow: ellipsis;` is great for text lines that may be longer then the parent element, eg. for shop article names or user names. But there is currently no solution for paragraphs that are longer than the parent. Of course you can set `overflow: hidden;`, but that will just clip the content/text.

Today I stumbled upon a [blog entry by David DeSandro](http://dropshado.ws/post/1015351370/webkit-line-clamp) in which he show the use of `-webkit-line-clamp` which &quot;*limits the number of lines of text displayed in a block element*&quot;. Sadly this is only possible within WebKit browsers (Safari and Google Chrome).

Entering [Clamp.js](https://github.com/josephschmitt/Clamp.js).  Clamp.js is a small Javascript that mimics this behavior in other browsers and sets the appropriate CSS for supported browsers.  All you need is:

    $clamp(document.getElementById(&apos;clamp-this&apos;), { clamp: &apos;auto&apos; });

Works. Nice. Thank you, [Joe](http://reusablebits.com/post/2642059628/introducing-clamp-js).
        
    </content>
</entry>

<entry>
    <title>Who is dreaming of such browser statistics?</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/06/who-is-dreaming-of-such-browse.html" />
    <id>tag:www.rainboxx.de,2011://1.243</id>

    <published>2011-06-09T09:57:24Z</published>
    <updated>2011-06-09T09:58:56Z</updated>

    <summary>Let&apos;s see how long this will last ;-)...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="browserstats" label="browser stats" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="unusuals" label="unusuals" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<div><img src="http://f.cl.ly/items/2m2B1n3g401z1y042517/Image%202011.06.09%2011:14:09.png" alt="Nice browser stats" /><br /></div>Let's see how long this will last ;-)]]>
        
    </content>
</entry>

<entry>
    <title>For what we are about to receive, may the Lord make us truely grateful.</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/03/for-what-we-are-about-to-recei.html" />
    <id>tag:www.rainboxx.de,2011://1.238</id>

    <published>2011-03-29T11:53:21Z</published>
    <updated>2011-03-29T11:56:53Z</updated>

    <summary>Nice grace: via jitro.org...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[Nice grace:<br /><br />
<object width="510" height="390"><param name="movie" value="http://www.youtube.com/v/HjKRxa7ZyMs&amp;rel=0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://www.youtube.com/v/HjKRxa7ZyMs&amp;rel=0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="510"></object><br /><br />via <a href="http://jitro.org/wp/?p=258">jitro.org</a>]]>
        
    </content>
</entry>

<entry>
    <title>Auf Jobsuche? Software Engineer gesucht!</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/03/auf-jobsuche-software-engineer.html" />
    <id>tag:www.rainboxx.de,2011://1.237</id>

    <published>2011-03-29T08:24:38Z</published>
    <updated>2011-03-29T15:42:53Z</updated>

    <summary><![CDATA[(Click here for English version)Wie man an diversen Stellen mitbekommen konnte, arbeite ich seit November letzten Jahres für ein&nbsp;Berliner&nbsp;Startup mit dem Namen&nbsp;UNUSUALS.&nbsp;UNUSUALS ist ein social network für die weltweite Werbefilmindustrie. Wir bauen momentan die Seite von Grund auf neu mit vielen weiteren und tollen Features.Hierbei suchen wir als Unterstützung einen motivierten Software&nbsp;Engineer bzw. Web Developer zur Festanstellung, entweder in&nbsp;Ludwigsburg (bevorzugt) oder&nbsp;Berlin.&nbsp;Wenn du die Fähigkeit hast, schnell und mit dem Job zu lernen, mehrere Programmiersprachen beherrschst und deine Arbeit liebst, würden...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="catalyst" label="catalyst" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="job" label="job" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="postgresql" label="postgresql" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="unusuals" label="unusuals" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<div>(<a href="http://www.rainboxx.de/2011/03/need-a-job-software-engineer-w.html">Click here for English version</a>)</div><div><br /></div>Wie man an diversen Stellen mitbekommen konnte, arbeite ich seit November letzten Jahres für ein&nbsp;<a href="http://maps.google.de/maps?q=Berlin,%20Germany">Berliner</a>&nbsp;Startup mit dem Namen&nbsp;<a href="http://www.unusuals.net">UNUSUALS</a>.&nbsp;UNUSUALS ist ein social network für die weltweite Werbefilmindustrie. Wir bauen momentan die Seite von Grund auf neu mit vielen weiteren und tollen Features.<div><br /></div><div>Hierbei suchen wir als Unterstützung einen motivierten Software&nbsp;Engineer bzw. Web Developer zur Festanstellung, entweder in&nbsp;<a href="http://maps.google.de/maps?q=Ludwigsburg,%20Germany">Ludwigsburg</a> (bevorzugt) oder&nbsp;<a href="http://maps.google.de/maps?q=Berlin,%20Germany">Berlin</a>.&nbsp;Wenn du die Fähigkeit hast, schnell und mit dem Job zu lernen, mehrere Programmiersprachen beherrschst und deine Arbeit liebst, würden wir gerne mit dir sprechen.</div><div><br /></div><div>Geforderte Fähigkeiten:</div><div><ul><li>Erfahrung mit einer Scriptsprache wie Perl, Python oder Ruby</li><li>Erfahrung mit Datenbanken wie&nbsp;PostgreSQL oder MySQL</li><li>Erfahrung mit&nbsp;HTML, CSS und Javascript</li><li>Wissen, wie das Web funktioniert</li><li>Fähigkeit, ein Linux System zu bedienen</li><li>Fließend Deutsch oder Englisch sprechen und schreiben</li></ul>Wünschenswerte Fähigkeiten:</div><div><ul><li>Erfahrung mit&nbsp;Modern Perl wie z.B. Catalyst, DBIx::Class etc.</li><li>jQuery, HTML5, CSS3</li><li>Fähirgkeit, ein Linux System zu administrieren</li><li>Erfahrung mit&nbsp;Amazon Web Services wie EC2 und S3</li><li>Aktivitäten im "social web" (Facebook, Twitter, last.fm, ...)</li></ul><a href="http://www.unusuals.net">UNUSUALS</a>&nbsp;bietet dir eine Möglichkeit, in einem großartigen und wachsenden Startup zu arbeiten. Wir geben dir Raum zum Wachsen sowie die Möglichkeit, deine eigenen Ideen und deine Kreativität einzubringen.</div><div><br /></div><div>Wenn du interessiert bist, sende bitte eine Bewerbung in Deutsch oder Englisch an jobs[at]unusuals.net. Beispiele deiner Arbeit, evtl. Code-Auszüge, sind sehr willkommen!</div>]]>
        
    </content>
</entry>

<entry>
    <title>Need a job? Software Engineer wanted!</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/03/need-a-job-software-engineer-w.html" />
    <id>tag:www.rainboxx.de,2011://1.235</id>

    <published>2011-03-24T15:40:47Z</published>
    <updated>2011-03-29T11:32:07Z</updated>

    <summary>(Zur Deutschen Version)As you may already have noticed I&apos;m working for a Berlin based start-up called UNUSUALS since November last year. It&apos;s a social network for the worldwide commercial film industry and we&apos;re doing a rewrite from scratch with tons of new features and awesome stuff!For this to accomplish, we&apos;re searching a motivated Software Engineer/Web Developer to join us. The workplace will be in Ludwigsburg (preferably) or Berlin, which are both in Germany. If you&apos;re able to learn quickly on...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="catalyst" label="catalyst" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="job" label="job" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="postgresql" label="postgresql" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="unusuals" label="unusuals" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<div>(<a href="http://www.rainboxx.de/2011/03/auf-jobsuche-software-engineer.html">Zur Deutschen Version</a>)</div><div><br /></div>As you may already have noticed I'm working for a <a href="http://maps.google.de/maps?q=Berlin,%20Germany">Berlin</a> based start-up called <a href="http://www.unusuals.net">UNUSUALS</a> since November last year. It's a social network for the worldwide commercial film industry and we're doing a rewrite from scratch with tons of new features and awesome stuff!<div><br /></div><div>For this to accomplish, we're searching a motivated Software Engineer/Web Developer to join us. The workplace will be in <a href="http://maps.google.de/maps?q=Ludwigsburg,%20Germany">Ludwigsburg</a> (preferably) or <a href="http://maps.google.de/maps?q=Berlin,%20Germany">Berlin</a>, which are both in Germany. If you're able to learn quickly on the job, pick up multiple programming languages and are passionate about your work, we'd like to talk to you.</div><div><br /></div><div>Required skills:</div><div><ul><li>Experience with a scripting language like Perl, Python or Ruby</li><li>Experience with databases like PostgreSQL or MySQL</li><li>Experience with HTML, CSS and Javascript</li><li>Knowledge of how web stuff works</li><li>Ability to use a Linux system</li><li>Fluent in speaking and writing German or English</li></ul>Optional skills, which are a plus:</div><div><ul><li>Experience with Modern Perl stuff like Catalyst, DBIx::Class and the like</li><li>jQuery, HTML5, CSS3</li><li>Ability to administrate a Linux system</li><li>Experience with Amazon Web Services like EC2 and S3</li><li>Active in social web (Facebook, Twitter, last.fm, ...)</li></ul>Working at <a href="http://www.unusuals.net">UNUSUALS</a> is a big opportunity to work within an awesome and growing start-up. You'll have room for growth as well as the possibility to bring in your ideas and values.</div><div><br /></div><div>Please send a copy of your resume in German or English to jobs[at]unusuals.net with&nbsp;some examples of work you've done and/or code samples.</div>]]>
        
    </content>
</entry>

<entry>
    <title>Count Lines of Code</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/03/count-lines-of-code.html" />
    <id>tag:www.rainboxx.de,2011://1.234</id>

    <published>2011-03-02T13:32:45Z</published>
    <updated>2011-03-02T13:44:49Z</updated>

    <summary>Ever wanted to count the lines of code you&#8217;ve written in a project? I guess you have and you may came to a solution that was build by yourself. It worked, but not more. Today I stumbled upon CLOC &#8212; Count Lines of Code &#8212; that is a small Perl programm which does a fair good job at counting, recognizing comments, empty lines and so on. It also finds out in which language each file is written (by file extensions)....</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="cloc" label="CLOC" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="codelines" label="code lines" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="counting" label="counting" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="languages" label="languages" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[Ever wanted to count the lines of code you've written in a project? I guess you have and you may came to a solution that was build by yourself. It worked, but not more.

Today I stumbled upon CLOC -- Count Lines of Code -- that is a small Perl programm which does a fair good job at counting, recognizing comments, empty lines and so on. It also finds out in which language each file is written (by file extensions). There are also plenty of options to ignore folders (like .git or externals) or files by regex (like single Javascript libraries).

A simple check looks like this:

<img src="http://cl.ly/4xDM/Bildschirmfoto_2011-03-02_um_14.41.42.PNG" alt="" />

Check out this project on sourceforge and give it a try. Installing is painless: Just download the file and you're done! <a href="http://cloc.sourceforge.net">http://cloc.sourceforge.net</a>.]]>
        
    </content>
</entry>

<entry>
    <title>Installing Perl modules made easy with cpanm</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/02/installing-perl-modules-made-e.html" />
    <id>tag:www.rainboxx.de,2011://1.230</id>

    <published>2011-02-27T12:20:51Z</published>
    <updated>2011-02-27T12:25:55Z</updated>

    <summary><![CDATA[Ever installed a Perl module on a Linux system? This is what a typical installation process looks like using the command line tool cpan:While I can read and understand these lines, not every programmer -- in particular someone that is not using Perl on a regular basis -- cannot and is&nbsp;overextended by the massiv amount of text.Since 2010 there is a really neat alternative to&nbsp;cpan&nbsp;called cpanminus. Excerpt from the docs:cpanminus is a script to get, unpack, build and install modules...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="cpanm" label="cpanm" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpanminus" label="cpanminus" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[Ever installed a Perl module on a Linux system? This is what a typical installation process looks like using the command line tool <i>cpan</i>:<div><br /></div><div><img alt="Typical CPAN installation" src="http://www.rainboxx.de/images/cpan_installation.png" width="510" height="377" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></div><div>While I can read and understand these lines, not every programmer -- in particular someone that is not using Perl on a regular basis -- cannot and is&nbsp;overextended by the massiv amount of text.</div><div><br /></div><div>Since 2010 there is a really neat alternative to&nbsp;<i>cpan</i>&nbsp;called <i>cpanminus</i>. Excerpt from the docs:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>cpanminus is a script to get, unpack, build and install modules from CPAN.&nbsp;Why? It's dependency free, requires zero configuration, and stands alone. When running, it requires only 10MB of RAM.</div><div><br /></div><div>[...] For&nbsp;less experienced users (mostly from outside the Perl community), or even really experienced Perl developers who know how to shoot themselves in their feet, setting up the CPAN toolchain often feels like yak shaving, especially when all they want to do is just install some modules and start writing code.</div></blockquote><br /><div>So what's the difference?&nbsp;<b>Less "line noise", easier, more lightweight!</b></div><div><br /></div><div>If the module you're trying to install is already up to date it tells you this with only one line instead of 5 lines (ok, everyone should be able to read the 5 lines, too ;-)). Installing a module (here: Module::Build) gave me 5 lines of output while cpan has written a novel of 105 lines and using much more RAM and CPU.</div><div><br /></div><div>I say give it a try by installing with the following single line on your terminal:</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><pre style="border:1px solid #888;padding:2px;background:#EEE;color:black;white-space:pre;display:block;font-family:monospace;margin:1em 0px;">curl -L <a href="http://cpanmin.us">http://cpanmin.us</a> | perl - --sudo App::cpanminus</pre></blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>Deleting a remote Git tag</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/02/deleting-a-remote-git-tag.html" />
    <id>tag:www.rainboxx.de,2011://1.232</id>

    <published>2011-02-23T09:01:41Z</published>
    <updated>2011-02-23T10:10:51Z</updated>

    <summary>After uloading all my Perl modules to github I switched a local project from svn to git. After that I had an odd tag named trunk that I wanted to get rid of. gittower wasn&apos;t able to delete it. I came to this solution: git tag -d trunk git push origin :refs/tags/trunk The remote tag trunk was successfully deleted....</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="git" label="git" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="github" label="github" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="remote" label="remote" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tags" label="tags" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<p>After uloading all my <a href="http://search.cpan.org/~mdietrich">Perl modules</a> to <a href="http://github.com/rainboxx">github</a> I switched a local project from svn to git. After that I had an odd tag named <em>trunk</em> that I wanted to get rid of. <a href="http://gittower.com">gittower</a> wasn't able to delete it.</p>

<p>I came to this solution:</p>

<pre style="border:1px solid #888;padding:2px;background:#EEE;color:black;white-space:pre;display:block;font-family:monospace;margin:1em 0px;">git tag -d trunk
git push origin :refs/tags/trunk
</pre>

<p>The remote tag <em>trunk</em> was successfully deleted.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Mason 2 announced</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/02/mason-2-announced.html" />
    <id>tag:www.rainboxx.de,2011://1.231</id>

    <published>2011-02-22T12:25:10Z</published>
    <updated>2011-02-22T12:32:49Z</updated>

    <summary><![CDATA[HTML::Mason, what I'm using since years as my favorite template system got an overhaul. Jonathan Swartz announced Mason 2 a few hours ago. Read the announcment here:&nbsp;http://www.openswartz.com/2011/02/21/announcing-mason-2/.&nbsp;Mason 2 got a top-level namespace on CPAN, is not completely based on Moose and already has a Catalyst view. What a nice way to start, eh?Because I missed the recent development process I'm late to the party and just switching a new project from HTML::Mason to Mason....]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="mason" label="mason" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="moose" label="moose" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<a href="http://search.cpan.org/perldoc?HTML::Mason">HTML::Mason</a>, what I'm using since years as my favorite template system got an overhaul. <a href="http://www.openswartz.com/">Jonathan Swartz</a> announced <a href="http://search.cpan.org/perldoc?Mason">Mason 2</a> a few hours ago. Read the announcment here:&nbsp;<a href="http://www.openswartz.com/2011/02/21/announcing-mason-2/">http://www.openswartz.com/2011/02/21/announcing-mason-2/</a>.&nbsp;Mason 2 got a top-level namespace on <a href="http://search.cpan.org/">CPAN</a>, is not completely based on <a href="http://search.cpan.org/perldoc?Moose">Moose</a> and already has a <a href="http://search.cpan.org/perldoc?Catalyst">Catalyst</a> <a href="http://search.cpan.org/perldoc?Catalyst::View::Mason2">view</a>. What a nice way to start, eh?<div><br /></div><div>Because I missed the recent development process I'm late to the party and just switching a new project from HTML::Mason to Mason.</div>]]>
        
    </content>
</entry>

<entry>
    <title>New Perl module released: CatalystX::UriForStatic</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/02/new-perl-module-released-catal.html" />
    <id>tag:www.rainboxx.de,2011://1.229</id>

    <published>2011-02-21T17:32:39Z</published>
    <updated>2011-02-22T11:01:41Z</updated>

    <summary>From the Readme:Sometimes you are fetching static content like images, JavaScript code and CSS files from a different server that your Catalyst application is running on, let&apos;s say a CDN (content delivery network). For development, this often should not be the case because your local files may differ from the files on your CDN. Changing the URIs to the static content everytime you upload a new version of your application is not a solution and leads to mistakes.Entering CatalystX::UriForStatic:CatalystX::UriForStatic takes...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="catalystxuriforstatic" label="CatalystX::UriForStatic" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpan" label="CPAN" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlmodul" label="perlmodul" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<div>From the Readme:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>Sometimes you are fetching static content like images, JavaScript code and CSS files from a different server that your <a href="http://search.cpan.org/perldoc?Catalyst">Catalyst</a> application is running on, let's say a CDN (content delivery network). For development, this often should not be the case because your local files may differ from the files on your CDN. Changing the URIs to the static content everytime you upload a new version of your application is not a solution and leads to mistakes.</div><div><br /></div><div>Entering <a href="http://search.cpan.org/perldoc?CatalystX::UriForStatic">CatalystX::UriForStatic</a>:</div><div><br /></div><div><b>CatalystX::UriForStatic takes care of your static host name</b></div><div><br /></div><div><a href="http://search.cpan.org/perldoc?CatalystX::UriForStatic">CatalystX::UriForStatic</a> either creates a local or production URI to your static files depending on your configuration! If your differences are that simple so you just can switch the host names, <a href="http://search.cpan.org/perldoc?CatalystX::UriForStatic">CatalystX::UriForStatic</a> is for you.</div></div></blockquote><div><br /></div><div>As there are plenty of different ways how to integrate a CDN into one's own application, this module reflects the way I'm planning to implement the CDN. Suggestions for a broader range of implementations are very welcome, as well as patches and so on. If you like, hop over to <a href="https://github.com/">github</a> and fork the <a href="https://github.com/rainboxx/CatalystX-UriForStatic/">project</a>. You're welcome :-).</div><div><br /></div><div>Or get the latest stable fron <a href="http://search.cpan.org">CPAN</a> at <a href="http://search.cpan.org/perldoc?CatalystX::UriForStatic">http://search.cpan.org/perldoc?CatalystX::UriForStatic</a>, or with your command line:</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><pre style="border:1px solid #888;padding:2px;background:#EEE;color:black;white-space:pre;display:block;font-family:monospace;margin:1em 0px;">sudo cpan CatalystX::UriForStatic</pre></blockquote><div>Oh, BTW about a week ago I released a new version of <a href="http://search.cpan.org/perldoc?CloudApp::REST">CloudApp::REST</a>, too. Grab it, it fixes some issues.</div>]]>
        
    </content>
</entry>

<entry>
    <title>Small things changed...</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2011/02/small-things-changed.html" />
    <id>tag:www.rainboxx.de,2011://1.228</id>

    <published>2011-02-21T16:54:42Z</published>
    <updated>2011-02-21T17:12:15Z</updated>

    <summary><![CDATA[Since almost a year I'm thinking of renovating my blog and switching to english blog posts then to have a broader audience I can offer my programming knowledge. I already made some redesign prototypes, from which one is really what I like. I found me thinking about new blog posts very often and then waiting for more time to make the switch and redesign first. It seems the time never came.&nbsp;So instead of still waiting I'm taking some time now...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="disqusrainboxx" label="disqus rainboxx" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[Since almost a year I'm thinking of renovating my blog and switching to english blog posts then to have a broader audience I can offer my programming knowledge. I already made some redesign prototypes, from which one is really what I like. I found me thinking about new blog posts very often and then waiting for more time to make the switch and redesign first. It seems the time never came.&nbsp;So instead of still waiting I'm taking some time now to write this down in hope of writing some more posts soon ;-). You know:&nbsp;Hope Springs Eternal.<div><br /></div><div>With this change came a new commenting system. I implemented <a href="http://www.disqus.com/">DISQUS</a>&nbsp;to have more control of the comments and better features (like subscriptions) for the users. Let's try how it works :-).</div><div><br /></div><div>So far... Thanks for listening!</div>]]>
        
    </content>
</entry>

<entry>
    <title>Announcement: CloudApp::REST version 0.01 published</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2010/06/announcement-cloudapprest-vers.html" />
    <id>tag:www.rainboxx.de,2010://1.198</id>

    <published>2010-06-01T20:56:01Z</published>
    <updated>2010-06-02T09:11:58Z</updated>

    <summary>For a few weeks now this module lies within my workspace as almost finished, all I needed to do is doing some documentation fixes. Finally I got these done :-).What is CloudApp?CloudApp is a nice and small application for all Mac OS X computers. Here&apos;s how they describe themself:» CloudApp allows you to share images, links, music, videos and files. Here is how it works: choose a file, drag it to the menubar and let us take care of the...</summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="api" label="API" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cloudapp" label="CloudApp" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpan" label="CPAN" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="module" label="module" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rest" label="REST" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[For a few weeks now this module lies within my workspace as almost finished, all I needed to do is doing some documentation fixes. Finally I got these done :-).<br /><br /><b>What is CloudApp?</b><br /><br /><img alt="cloudapp_logo.png" src="http://www.rainboxx.de/2010/06/01/cloudapp_logo.png" class="mt-image-left" style="float: left; margin: 0pt;" height="30" width="170" /><br /><br /><a href="http://www.getcloudapp.com/">CloudApp</a> is a nice and small application for all Mac OS X computers. Here's how they describe themself:<br /><br /><blockquote><font style="font-size: 1.25em;">»</font> CloudApp allows you to share images, links, music, videos  and files. Here is how it works: choose a file, drag it to the menubar and let us take care of the rest. We provide you with a short link automatically copied to your clipboard that you can use to share your upload with co-workers and friends. <font style="font-size: 1.25em;">«</font></blockquote><br />This tool is very handy when it comes to sharing screenshots, as they are uploaded instantly. I use it very often. And because I like it so much I thought to write a small Perl API interface so others can build nice tools around this tool!<br /><br /><b>The Perl interface</b><br /><br />The Perl interface to the API, called <a href="http://search.cpan.org/perldoc?CloudApp::REST">CloudApp::REST</a>, is completely object-oriented and takes advantage of <a href="http://search.cpan.org/perldoc?Moose">Moose</a>, a "postmodern object system for Perl 5". It fully supports   the <a href="http://support.getcloudapp.com/faqs/developers/api">CloudApp API</a>, provides proxy functionality and representations for every CloudApp item type.<br /><br />You can get <a href="http://search.cpan.org/perldoc?CloudApp::REST">CloudApp::REST</a> at the nearest <a href="http://search.cpan.org/">CPAN</a> mirror or from CPAN directly. You can find online documentation, smoke testing results, bug tracker and more at <a href="http://search.cpan.org/perldoc?CloudApp::REST">http://search.cpan.org/perldoc?CloudApp::REST</a> (once they are available through the automatic processes of <a href="http://pause.cpan.org/">PAUSE</a>).<br /><br /><b>Please test, bend and break!<br /><br /></b>Yes, please do so! Every bug and spelling error ;-) that is discovered is one less, so please try and test CloudApp::REST. Please report any bugs to the bug tracker mentioned in the docs, so everyone can see and discuss!<br /><br />Thanks!<br /><br /><font style="font-size: 0.8em;">P.S.: There are some <a href="http://support.getcloudapp.com/faqs/developers/wrappers">API wrappers</a> written in other languages, too, and I heard from a Linux client as well. So maybe this will be a tool for all platforms someday :-).</font> <br />]]>
        
    </content>
</entry>

<entry>
    <title>Call for Papers: 12. Deutscher Perl-Workshop 2010: „Modern Perl&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2010/02/call-for-papers-12-deutscher-p.html" />
    <id>tag:www.rainboxx.de,2010://1.168</id>

    <published>2010-02-17T21:12:39Z</published>
    <updated>2010-02-17T21:31:41Z</updated>

    <summary><![CDATA[Vom 7. bis 9. Juni 2010 findet der 12. Deutsche Perl-Workshop in Schorndorf bei Stuttgart statt. Zielgruppe des Workshops sind alle Perl-Anwender und die, die es werden wollen.Der Workshop steht und fällt mit den Vorträgen, die 5, 20 oder 40 Minuten lang sein können.&nbsp;Alle Themen, die mit Perl oder dem Perl-Umfeld, insbesondere dem Thema „Modern Perl", zu tun haben, können als Vorträge für den Workshop interessant sein. Die Einreichungsfrist für Vorschläge wurde auf Freitag, den 05. März 2010 verlängert.&nbsp;&nbsp;&nbsp;http://conferences.yapceurope.org/gpw2010Der Deutsche...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
    <category term="modernperl" label="Modern Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlworkshop" label="Perl-Workshop" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pws" label="PWS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="schorndorf" label="Schorndorf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="stuttgart" label="Stuttgart" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<div><div>Vom 7. bis 9. Juni 2010 findet der <a href="http://www.perl-workshop.de/de/">12. Deutsche Perl-Workshop</a> in Schorndorf bei Stuttgart statt. Zielgruppe des Workshops sind alle Perl-Anwender und die, die es werden wollen.</div><div><br /></div><div>Der Workshop steht und fällt mit den Vorträgen, die 5, 20 oder 40 Minuten lang sein können.&nbsp;</div><div><br /></div><div>Alle Themen, die mit Perl oder dem Perl-Umfeld, insbesondere dem Thema „Modern Perl", zu tun haben, können als Vorträge für den Workshop interessant sein. Die Einreichungsfrist für Vorschläge wurde auf Freitag, den 05. März 2010 verlängert.&nbsp;</div><div><br /></div><div>&nbsp;&nbsp;<a href="http://conferences.yapceurope.org/gpw2010">http://conferences.yapceurope.org/gpw2010</a></div><div><br /></div><div>Der Deutsche Perl-Workshop ist die jährliche Konferenz meist deutschsprachiger Anwender und Entwickler der Programmiersprache Perl. Der Schwerpunkt des von der Deutscher Perl-Workshop GbR und der <a href="http://www.region-stuttgart.de">Wirtschaftsförderung Region Stuttgart</a> (WRS) verstaltelten Workshops ist „Modern Perl". Dabei spielen zum Beispiel die Module Catalyst, Moose und DBIx::Class eine wichtige Rolle. Catalyst als sehr flexibles Webframework, Moose mit einer postmodernen Objektorientierung für Perl und DBIx::Class als Schicht zwischen Anwendung und Datenbanken.</div><div><br /></div><div><hr id="en"></div><div><div><br /></div><div><b>Call for Papers: 12th German Perl Workshop 2010: "Modern Perl"</b></div><div><br /></div><div>The <a href="http://www.perl-workshop.de/en/">12th German Perl Workshop</a> will be hosted from June 7th to 9th 2010 in Schorndorf near Stuttgart. The workshop is targeted towards all experienced and beginning Perl developers.</div><div><br /></div><div>Obviously, the workshop is only as good as its talks -- your talks. We are interested in all talks about Perl itself or about Perl related topics, and especially talks that would apply to this year's motto "Modern Perl". The submission deadline for your 5, 20 or 40 minute talks has been extended until March 5th, 2010.</div><div><br /></div><div>&nbsp;&nbsp;<a href="http://conferences.yapceurope.org/gpw2010">http://conferences.yapceurope.org/gpw2010</a></div><div><br /></div><div>The German Perl Workshop is a yearly held conference with mostly german-speaking users and developers of the Perl programming language. The main focus of the workshop held by the Deutscher Perl-Workshop GbR and the <a href="http://www.region-stuttgart.de/">Wirtschaftsförderung Region Stuttgart</a> (WRS) is "Modern Perl". The CPAN modules Catalyst, Moose and DBIx::Class are playing major roles: Catalyst as a flexible web framework, Moose with its postmodern object system for Perl and DBIx::Class as a layer between applications and databases.</div></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>Tipps &amp; Tricks: perl^M: bad interpreter</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2010/01/tipps-tricks-perlm-bad-interpr.html" />
    <id>tag:www.rainboxx.de,2010://1.159</id>

    <published>2010-01-20T17:40:46Z</published>
    <updated>2010-01-20T18:07:55Z</updated>

    <summary><![CDATA[Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.Windows macht manchmal schon einen Mist mit den Zeilenumbrüchen. &nbsp;Statt ein \n-Zeilenumbruch, wie es z.B. Linux und Mac OS X machen, verwendet Windows einen Zeilenumbruch, bestehend aus zwei Zeichen: \r\n. Ist wohl vielen bekannt.Nun, als Perl-Entwickler entwickelt man manchmal auch Perl-Skripte, die...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
        <category term="Tipps &amp; Tricks" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tippstricks" label="tipps &amp; tricks" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="windows" label="windows" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<span class="Apple-style-span" style="color: rgb(75, 75, 75); font-family: 'lucida grande', 'trebuchet ms', arial, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; "><i>Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.</i><div><br /></div><div>Windows macht manchmal schon einen Mist mit den Zeilenumbrüchen. &nbsp;Statt ein <code>\n</code>-Zeilenumbruch, wie es z.B. Linux und Mac OS X machen, verwendet Windows einen Zeilenumbruch, bestehend aus zwei Zeichen: <code>\r\n</code>. Ist wohl vielen bekannt.</div><div><br /></div><div>Nun, als Perl-Entwickler entwickelt man manchmal auch Perl-Skripte, die in der ersten Zeile den Interpreter angegeben ist. Dummerweise erkennen manche Linux-Distributionen ein <code>\r</code> als Teil des Interpreterpfades an, und versuchen anstatt <code>/usr/bin/perl</code> den Aufruf von <code>/usr/bin/perl\r</code> - auf der Konsole steht dann immer <code>/usr/bin/perl^M</code>.</div><div><br /></div><div>Die Lösung besteht darin, alle in der Datei enthaltenen <code>\r\n</code> durch jeweils <code>\n</code> zu ersetzen. Doch, wie macht man das am Besten ohne viel Aufwand? Der folgende Befehl zeigt, wie es sehr einfach geht, eine einzelne Datei entsprechend umzuwandeln:</div><div><br /></div>
<pre class="brush: perl">perl -pi -e 's/\r\n?/\n/' foo.pl</pre></span> ]]>
        
    </content>
</entry>

<entry>
    <title>Tipps &amp; Tricks: MySQL meldet &quot;Thread stack overrun&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.rainboxx.de/2010/01/manche-probleme-begegnen-einen.html" />
    <id>tag:www.rainboxx.de,2010://1.155</id>

    <published>2010-01-13T12:00:00Z</published>
    <updated>2011-02-21T16:48:19Z</updated>

    <summary><![CDATA[Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.Aufgrund des Upgrades von Leopard (Mac OS X 10.5) auf Snow Leopard (10.6) liefen einige über Macports installierte Applikationen und Dienste nicht mehr korrekt. Unter diesen war auch MySQL. Nach einem Update dieser Applikationen lieferte mir MySQL bei einem normalen Insert-Befehl folgende...]]></summary>
    <author>
        <name>Matthias Dietrich</name>
        <uri>http://www.rainboxx.de</uri>
    </author>
    
        <category term="Tipps &amp; Tricks" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="macosx" label="mac os x" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="mysql" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tippstricks" label="tipps &amp; tricks" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="de" xml:base="http://www.rainboxx.de/">
        <![CDATA[<i>Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.</i><div><br /></div><div>Aufgrund des Upgrades von Leopard (Mac OS X 10.5) auf <a href="http://www.apple.com/de/macosx/">Snow Leopard</a> (10.6) liefen einige über <a href="http://www.macports.org/">Macports</a> installierte Applikationen und Dienste nicht mehr korrekt. Unter diesen war auch <a href="http://www.mysql.com/">MySQL</a>. Nach einem Update dieser Applikationen lieferte mir MySQL bei einem normalen <a href="http://dev.mysql.com/doc/refman/5.1/de/insert.html">Insert-Befehl</a> folgende Meldung:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><code>Thread stack overrun: 4992 bytes used of a 131072 stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack</code>.</blockquote><div><br /></div><div>Die Lösung hierzu war, wie ich bereits vermutet hatte, eine (wohl fehlerhaft gesetzte) MySQL-Konfigurationsvariable in der Datei <i>my.cnf</i> zu ändern. &nbsp;Die Variable&nbsp;<i>thread_stack</i>&nbsp;muss auf einen höheren Wert, z.B. "256K" gesetzt und MySQL neugestartet werden.</div><div><br /></div><div>Übrigens, falls man MySQL unter Mac OS X nicht als LaunchDaemon laufen hat, kann man über die Kommandos&nbsp;<code>mysqladmin shutdown</code> und anschließend <code>mysqld_safe &amp;</code>&nbsp;(als root ausführen, z.B. mit sudo) einen Neustart von MySQL hinlegen.</div> ]]>
        
    </content>
</entry>

</feed>

