<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>My name is Stefan Oderbolz (“Odi”) and I live in Zurich. 

I’m currently working for Avaloq as a developer and I’m studying computer science at the HSR (University of Applied Science) in Rapperswil.

Follow me on Twitter: @odi86</description><title>ReadMore</title><generator>Tumblr (3.0; @odi)</generator><link>http://www.readmore.ch/</link><item><title>Using utPLSQL with multiple schemas</title><description>&lt;p&gt;I really like unit testing, and nowadays there is an helping framework for almost every environment and/or programming language.
For PL/SQL this is &lt;a href="http://utplsql.sourceforge.net/"&gt;utPLSQL&lt;/a&gt;, which consists of a bunch of packages that you need to put on your database and then you should be good to test your could. You &lt;em&gt;should&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I just spent some hours debugging my test code, so I want to share this with you, maybe I can save someone out there some time.&lt;/p&gt;

&lt;h3&gt;My setting&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Schema A:&lt;/strong&gt; utPLSQL package&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema B:&lt;/strong&gt; package XY (code to test), package UT_XY (test code)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have two schemas A and B. In schema A utPLSQL is installed, and in B is the code to test. It is recommended to have your code to test and your test code in the same schema.&lt;/p&gt;

&lt;p&gt;The following script is used to run the tests:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; begin
   for c in (select object_name,owner
               from all_objects
              where object_name like 'UT\_%' escape '\'
                and object_type ='PACKAGE')
   loop
     begin
     utPLSQL.test(
       package_in =&gt; substr(c.object_name,4),
       prefix_in =&gt; 'UT_',
       owner_in =&gt; c.owner
     );
   exception
     -- in case of a faulty unittest continue with the others.
     when others then
       null;
   end;
   end loop;
 end;
 /
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But I kept getting the error:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; Program named "XY" does not exist.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So I thought that somehow the schema A does not “see” the packages in the schema B and created public synonyms. Unfortunately this didn’t help.
Then I tried to move the “UT_” package to schema A, which worked, but now I got an error that the code to test and the test code are in different schemas.&lt;/p&gt;

&lt;p&gt;There must be something obvious I’m missing!&lt;/p&gt;

&lt;p&gt;And there it was: A had not “execute” grant on the packages in B.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;  grant execute on b.xy to A;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now everything just worked fine.&lt;/p&gt;</description><link>http://www.readmore.ch/post/801787955</link><guid>http://www.readmore.ch/post/801787955</guid><pubDate>Mon, 12 Jul 2010 13:57:54 +0200</pubDate><category>unit testing</category><category>utplsql</category><category>oracle</category></item><item><title>Erroneous copyFrom() method in JCIFS/VFS</title><description>&lt;p&gt;At the &lt;a href="http://www.hsr.ch"&gt;HSR (University of Applied Science Rapperswil)&lt;/a&gt; we are currently developing  a software to synchronize files from the central fileserver to the students computers. This should help the students to get the latest slides for their lectures.&lt;/p&gt;

&lt;p&gt;The software is based on &lt;a href="http://commons.apache.org/vfs/"&gt;VFS (Virtual Filesystem)&lt;/a&gt; from the &lt;a href="http://commons.apache.org/"&gt;Apache Commons project&lt;/a&gt;. The file server is a classic Samba server that uses the CIFS protocol, and with the use of VFS we ensured a common access the the filesystem, no matter if it’s the remote filesystem of the file server or the local filesystem on the student’s computers.&lt;/p&gt;

&lt;p&gt;At a point we got a very strange error: we could copy files from the remote system, but when we delete the files while the application is running, and try to copy the files again, the copy fails:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;FileSystemException "could not copy [source-path] to [target-path]".
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;We figured out, that the problem were the folders that don’t exist yet. But according the the &lt;a href="http://commons.apache.org/vfs/apidocs/org/apache/commons/vfs/FileObject.html#copyFrom%28org.apache.commons.vfs.FileObject,%20org.apache.commons.vfs.FileSelector%29"&gt;documentation of the the copyFrom method&lt;/a&gt; the parent folder should be created if it does not exist. This is also the case when we do the first-time-copy, which works like a charm.&lt;/p&gt;

&lt;p&gt;After serveral tries with refresh() etc. to bring the FileObjects and the actual filesystem to sync, we finally implemented this workaround, maybe somebody else can use it:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;protected void copyFile(FileObject targetFile, FileObject sourceFile) {
    try {
        FileObject parentFile = targetFile.getParent();
        parentFile.refresh();
        log.debug("Parent exists?: " + parentFile.exists());

        if (!parentFile.exists()) {
            parentFile.createFolder();
            log.debug(" =&gt; Folder created");
        }
        targetFile.copyFrom(sourceFile),new AllFileSelector());
    } catch (FileSystemException e) {
        log.warn("Could not copy file, FileSystemException: "
                + e.getMessage());
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(the above code is a little bit simplified, and the use of an extra FileObject for the parent is not absolutely necessary, but it clarifies the code)&lt;/p&gt;

&lt;p&gt;In my opinion the copyFrom implementation of &lt;a href="http://jcifs.samba.org/"&gt;JCFIS&lt;/a&gt; (which is the Samba part of VFS) does not work, i.e. this is a bug. But I’m not sure, maybe we overlook an obvious thing on our side. Fact is, the above solution works for us.
The JCIFS is part of the VFS sandbox, this means the library is still in development. Maybe I’ll file a bug, if I can clearly reproduce this behavior.&lt;/p&gt;</description><link>http://www.readmore.ch/post/647071965</link><guid>http://www.readmore.ch/post/647071965</guid><pubDate>Sun, 30 May 2010 18:04:00 +0200</pubDate><category>java</category><category>vfs</category><category>jcifs</category></item><item><title>Guardian: How do I know China wrecked the Copenhagen deal? I was in the room</title><description>&lt;a href="http://www.guardian.co.uk/environment/2009/dec/22/copenhagen-climate-change-mark-lynas"&gt;Guardian: How do I know China wrecked the Copenhagen deal? I was in the room&lt;/a&gt;</description><link>http://www.readmore.ch/post/296836667</link><guid>http://www.readmore.ch/post/296836667</guid><pubDate>Wed, 23 Dec 2009 15:32:00 +0100</pubDate></item><item><title>How to make your eye feel like it's closed, when it's actually open</title><description>&lt;a href="http://scienceblogs.com/cognitivedaily/2008/05/how_to_make_your_eye_feel_like.php"&gt;How to make your eye feel like it's closed, when it's actually open&lt;/a&gt;</description><link>http://www.readmore.ch/post/294842011</link><guid>http://www.readmore.ch/post/294842011</guid><pubDate>Tue, 22 Dec 2009 10:38:54 +0100</pubDate></item><item><title>mnmal:

I think this summarizes everything.</title><description>&lt;img src="http://30.media.tumblr.com/tumblr_kt78unDCi71qa3qedo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://mnmal.tumblr.com/post/249575328/i-think-this-summarizes-everything" class="tumblr_blog"&gt;mnmal&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I think this summarizes everything.&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://www.readmore.ch/post/267896600</link><guid>http://www.readmore.ch/post/267896600</guid><pubDate>Thu, 03 Dec 2009 19:06:22 +0100</pubDate></item><item><title>Charles Lewinsky äussert sich in einem Essay über das Minarettverbot, den ewigen Populismus und Roger Köppel</title><description>&lt;a href="http://www.tagesanzeiger.ch/kultur/buecher/Jetzt-muessen-wir-sogar-Koeppels-triumphierende-Ironie-schlucken/story/10202730"&gt;Charles Lewinsky äussert sich in einem Essay über das Minarettverbot, den ewigen Populismus und Roger Köppel&lt;/a&gt;</description><link>http://www.readmore.ch/post/267721617</link><guid>http://www.readmore.ch/post/267721617</guid><pubDate>Thu, 03 Dec 2009 15:38:41 +0100</pubDate></item><item><title>Mein erstes Geschenk von meinem Twichtel, Danke!</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/l8A_8V5mDUM&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/l8A_8V5mDUM&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Mein erstes Geschenk von meinem &lt;a href="http://www.twichteln.ch/"&gt;Twichtel&lt;/a&gt;, Danke!&lt;/p&gt;</description><link>http://www.readmore.ch/post/266123904</link><guid>http://www.readmore.ch/post/266123904</guid><pubDate>Wed, 02 Dec 2009 10:56:00 +0100</pubDate><category>twichtelnCH</category></item><item><title>WWFM VI in Zürich, das Video zum Event</title><description>&lt;object width="400" height="325"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9u-K_LFbGO8&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9u-K_LFbGO8&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="325" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;WWFM VI in Zürich, das Video zum &lt;a href="http://www.readmore.ch/post/238017507/wwfm-iv-in-zurich"&gt;Event&lt;/a&gt;&lt;/p&gt;</description><link>http://www.readmore.ch/post/247590476</link><guid>http://www.readmore.ch/post/247590476</guid><pubDate>Tue, 17 Nov 2009 22:32:13 +0100</pubDate></item><item><title>The Go Programming Language</title><description>&lt;p&gt;Today I came across &lt;a href="http://golang.org/"&gt;a new programming language called Go&lt;/a&gt;, developed by Google&lt;/p&gt;

&lt;p&gt;It is meant to be fast, but still garbage collected and type safe. They use pointers, but no pointer arithmetic.&lt;br/&gt;
The questions remains: Do we really need another C++-like language?&lt;/p&gt;

&lt;p&gt;See Yourself:
&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wwoWei-GAPo&amp;hl=en&amp;fs=1&amp;"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/wwoWei-GAPo&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;</description><link>http://www.readmore.ch/post/240146241</link><guid>http://www.readmore.ch/post/240146241</guid><pubDate>Wed, 11 Nov 2009 11:06:00 +0100</pubDate><category>Programming</category></item><item><title>5. Trivadis Java Lounge</title><description>&lt;p&gt;Endlich schaffte ich es auch mal an die &lt;a href="http://blog.trivadis.com/blogs/trivadisjavalounge/"&gt;Trivadis Java Lounge&lt;/a&gt;, welche nun bereits zum fünften Mal stattfand. Diesmal wurde das Hallenstadion als Location ausgewählt, eingeladen waren Kunden und Partner von Trivadis.&lt;/p&gt;

&lt;p&gt;Es wurden folgende Präsentationen gezeigt:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring Dynamic Modules - OSGi mit dem Spring Framework (&lt;a href="http://www.slideshare.net/patbaumgartner/osgi-with-the-spring-framework"&gt;Slides bei Slideshare&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Google App Engine - Java in der Cloud&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mehr Infos bald im &lt;a href="http://blog.trivadis.com/blogs/trivadisjavalounge/archive/2009/11/12/5-java-lounge-10-11-2009-spring-dynamic-modules-osgi-mit-dem-spring-framework-google-app-engine-java-in-der-cloud.aspx"&gt;Trivadis Blog&lt;/a&gt;.&lt;/p&gt;</description><link>http://www.readmore.ch/post/240103367</link><guid>http://www.readmore.ch/post/240103367</guid><pubDate>Wed, 11 Nov 2009 09:48:00 +0100</pubDate><category>Trivadis</category><category>Java</category></item><item><title>30 Google Wave Invites</title><description>&lt;p&gt;Ich habe noch Google Wave Einladungen, falls jemand eine will kann er sich bei mir via &lt;a href="mailto:odi@readmore.ch"&gt;Mail&lt;/a&gt;, &lt;a href="http://twitter.com/odi86"&gt;Twitter&lt;/a&gt;, Kommentar oder persönlich melden.&lt;/p&gt;

&lt;p&gt;I got some Google Wave invites left, if you like one, get in contact with me via &lt;a href="mailto:odi@readmore.ch"&gt;mail&lt;/a&gt;, &lt;a href="http://twitter.com/odi86"&gt;twitter&lt;/a&gt;, comments or personally.&lt;/p&gt;</description><link>http://www.readmore.ch/post/239510984</link><guid>http://www.readmore.ch/post/239510984</guid><pubDate>Tue, 10 Nov 2009 23:11:00 +0100</pubDate><category>Google Wave</category></item><item><title>Extract .tar.gz to specific directory</title><description>&lt;p&gt;I want to extract all files form a “.tar.gz” file to a specific directory (not the current).&lt;/p&gt;

&lt;p&gt;When you ask Google you quickly come up with the elegant solution:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gzip -cd /some/dir/something.tar.gz | tar -xvf - -C /specific/directory
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Somehow my development machine doesn’t accept this, as I keep getting the error:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;File -C not present in the archive.
File /specific/directory not present in the archive.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I couldn’t find the answer, but as usual many ways lead to Rome. I’m able to extract the files to the current directory using&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gzip -cd /some/dir/something.tar.gz | tar -xvf -
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Therefore I can simply change the current directory to my specific directory and after the extraction return to the prior directory (I need to unzip the file in a script, therefore I need a generic approach).
When we put all that together the following finally works:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cd /specific/directory &amp;&amp; gzip -cd /some/dir/something.tar.gz | tar -xvf - &amp;&amp; cd -
&lt;/code&gt;&lt;/pre&gt;</description><link>http://www.readmore.ch/post/238088933</link><guid>http://www.readmore.ch/post/238088933</guid><pubDate>Mon, 09 Nov 2009 15:22:00 +0100</pubDate><category>Linux</category></item><item><title>WWFM IV in Zürich</title><description>&lt;p&gt;Am nächsten Wochenende (14. November 2009) ist wieder mal ein &lt;a href="http://www.geocaching.com/seek/cache_details.aspx?guid=12520097-066c-4a68-a6de-4aff62664db6"&gt;World-Wide-Flash-Mob (WWFM)&lt;/a&gt; der Geocache-Anhänger.
&lt;img src="http://media.tumblr.com/tumblr_ksu44lKZDQ1qa2z4q.jpg" alt="WWFM Geocaching"/&gt;&lt;/p&gt;

&lt;p&gt;Dieser Event steht ganz im Zeichen der kalten Jahreszeit und wird mit Wunderkerzen und &lt;a href="http://de.wikipedia.org/wiki/R%C3%A4benlicht"&gt;Räbeliechtli&lt;/a&gt; bestritten. Der Clou ist etwas Verwirrung und Verwunderung zu stiften und natürlich sich mal wieder zu treffen.&lt;/p&gt;

&lt;p&gt;Solche Event-Caches sind immer eine wunderbare Gelegenheit sich über Caches zu unterhalten, mal Leute zu sehen die man sonst nur liest oder einfach in der Gruppe eine lustige Aktion durchzuführen.&lt;/p&gt;

&lt;p&gt;Also alle Cacher da draussen: Kommt auch nach &lt;a href="http://www.geocaching.com/seek/cache_details.aspx?guid=12520097-066c-4a68-a6de-4aff62664db6"&gt;Zürich&lt;/a&gt;, oder besucht einen der &lt;a href="http://www.geocaching.com/bookmarks/view.aspx?guid=949fe287-fe1a-41af-9a46-92d891248197"&gt;150 anderen WWFM Event Caches&lt;/a&gt; in eurer Nähe!&lt;/p&gt;</description><link>http://www.readmore.ch/post/238017507</link><guid>http://www.readmore.ch/post/238017507</guid><pubDate>Mon, 09 Nov 2009 13:34:34 +0100</pubDate><category>Geocaching</category></item><item><title>Kino: Der Fürsorger</title><description>&lt;p&gt;Ich habe diese Woche wieder das &lt;a href="http://www.kitag.com/Programm/U-Film.aspx?MovieID=16405716"&gt;Überraschungskino der Kitag&lt;/a&gt; besucht, wo jeweils Vorpremieren von Filmen gezeigt werden. Der Clou: vorher ist nicht bekannt, welcher Film das läuft.&lt;/p&gt;

&lt;p&gt;Das Prozedere ist ganz einfach: Zuerst werden 4-5 Trailer gezeigt, einer der Filme läuft danach in voller Länge.&lt;/p&gt;

&lt;p&gt;Diesmal wurde eine Schweizer Produktion gezeigt: &lt;a href="http://outnow.ch/Movies/2009/Fuersorger/"&gt;Der Fürsorger&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Der Film erzählt die Geschichte einen Hochstaplers, welche viele Leute um ihr Vermögen gebracht hat mit einem plumpen “Anlage-Trick”. Die Hauptperson wird gespielt von &lt;a href="http://www.wiesnekker.com/"&gt;Roeland Wiesnekker&lt;/a&gt;, der diese Rolle wie ich finde sehr gut interpretiert.&lt;/p&gt;

&lt;p&gt;Alles in allen ist der Film aber zu lang und zu holprig. Die Erzählung wird immer weiter verschachtelt, da der Herr Betrüger immer wieder seine Geschichte zu erzählen beginnt. Der Film bietet gute Unterhaltung und kann man sich getrost ansehen. Vielleicht aber eher an einem gemütlichen Sonntagabend zu Hause, denn im Kino.&lt;/p&gt;

&lt;p&gt;Ahja, der Film basiert auf einer wahren Geschichte.&lt;/p&gt;

&lt;p&gt;Trailer:
&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XqC_t1q8i3Q&amp;hl=en&amp;fs=1&amp;"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/XqC_t1q8i3Q&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;</description><link>http://www.readmore.ch/post/235181188</link><guid>http://www.readmore.ch/post/235181188</guid><pubDate>Fri, 06 Nov 2009 20:09:04 +0100</pubDate><category>Kino</category></item><item><title>BarCamp Rapperswil</title><description>&lt;p&gt;Das gestrige &lt;a href="http://barcamp.ch/BarCampRapperswil"&gt;BarCamp in Rapperswil&lt;/a&gt; hat riesigen Spass gemacht.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ks2qe1uMbt1qa2z4q.jpg" alt="BarCamp Rapperswil"/&gt;&lt;/p&gt;

&lt;p&gt;Als erstes will ich mich gleich bei &lt;a href="http://camichel.com/"&gt;Corsin&lt;/a&gt; als Organisator bedanken, war echt super. Das BarCamp fand in der &lt;a href="http://www.hsr.ch"&gt;Hochschule für Technik Rapperswil (HSR)&lt;/a&gt; statt, von dem her ein für mich vertrautes Terrain.
Es war ein Treffen technisch interessierter Leute über die unterschiedlichsten Facetten der IT. Da gab es einen Speech von &lt;a href="http://commetrics.com/"&gt;Urs (ComMetrics)&lt;/a&gt; über Blogs, Social Media und deren Messbarkeit. Dann war &lt;a href="http://www.fybit.com"&gt;Yvonne-Anne von Fybit&lt;/a&gt; vor Ort um ihr Produkt RIATrax vorzustellen (Rich Internet Applications in Pure Java), oder Frank, welcher eine Diskussion leitete über die Zukunft des Web 2.0, welche Konzepte überleben, welche nicht und warum.&lt;/p&gt;

&lt;p&gt;Ein weiteres Highlight war die Präsentation von Markus Stolze (Professor an der HSR) über den Multi-Touch Table, welcher an der HSR mitentwickelt wurde.
&lt;img src="http://media.tumblr.com/tumblr_ks2rkyLwuL1qa2z4q.jpg" alt="Multi-Touch Table"/&gt;&lt;/p&gt;

&lt;p&gt;Alles in allem war es ein Event unter Gleichgesinnten um sich auszutauschen. Wir haben viel gelacht (z.B. über das Hashtag #bcrappi) und nachgedacht, kritisch betrachtet und kommentiert.&lt;/p&gt;

&lt;p&gt;Ich ging mit vielen neuen Ideen und Eindrücken nach Hause, genau so sollte das sein. Ich freue mich bereits auf nachfolgende BarCamps, ist sicher nicht das letzte Mal, dass ich da war.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/tags/bcrappi"&gt;Die Bilder zum Event gibts auf Flickr.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS: I don’t want to miss to mention Joel our Swedish guy, who made this BarCamp truly international ;-)&lt;/p&gt;</description><link>http://www.readmore.ch/post/222779286</link><guid>http://www.readmore.ch/post/222779286</guid><pubDate>Sun, 25 Oct 2009 15:32:00 +0100</pubDate><category>Barcamp</category><category>HSR</category><category>bcrappi</category></item><item><title>Frauen und Bahnübergänge</title><description>&lt;h3&gt;Einfache Frage:&lt;/h3&gt;

&lt;p&gt;Was tun Sie wenn Sie zu Fuss auf einen Bahnübergang zulaufen und dieser zu blinken und läuten beginnt?&lt;/p&gt;

&lt;h3&gt;Einfache Antwort&lt;/h3&gt;

&lt;p&gt;Sie laufen weiter über den Bahnübergang, da Sie wissen, dass dieses Signal bedeutet, dass in Kürze (jedoch nicht in den nächsten 2 Sekunden) folgendes passiert:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Die Schranken werden sich in Bewegung setzen und langsam den Weg über den Bahnübergang versperren&lt;/li&gt;
&lt;li&gt;Nach ca. 30 Sekunden nähert sich der Zug&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In dieser Zeit sind Sie bereits meilenweit weg aus der Gefahrenzone!&lt;/p&gt;

&lt;h3&gt;Und was ist nun mit den Frauen?&lt;/h3&gt;

&lt;p&gt;Ich bin ja kein Fan von Klischees, und möchte auch nicht als einer gelten der alle in einem Topf wirft, jedoch mache ich in letzter Zeit häufiger diese Beobachtung (liegt an einem einschlägigen Ereignis - siehe unten - und an der Tatsache, dass ich täglich 2mal über einen Bahnübergang laufen muss).&lt;/p&gt;

&lt;h3&gt;Kleine Geschichte&lt;/h3&gt;

&lt;p&gt;Vor einiger Zeit war ich zusammen mit ein paar Freunden in Winterthur. Wir waren insgesamt zu sechst, drei Frauen und drei Männer.
Es kam wie es kommen musste, wir steuerten schnurstracks Richtung Bahnübergang. Als wir vom Bahnübergang ca. 10m entfernt waren beginn die Ampel zu blinken. Rechts-links, rechts-links, rechts-links.
Da es noch nicht zu läuten begann, fiel das wohl ausser mir niemandem auf. Ich sagte: “Ui, da kommt ein Zug, da gehen wir aber noch vorher drüber”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ACHTUNG JETZT KOMMTS!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Die drei Frauen nahmen sofort die Beine unter die Arme und legten einen Sprint hin bis sie ca. 50m weiter wieder stehen blieben.
Die Übrig gebliebenen sahen sich nur verdutzt an, liefen im normalen Tempo weiter und erreichten die Frauen wieder noch bevor die Schranken den Boden berührten.&lt;/p&gt;

&lt;p&gt;Warum bloss diese Eile? Angst vom Zug überfahren zu werden? Natürliches Fluchtverhalten? Ich verstehe es nicht.&lt;/p&gt;

&lt;p&gt;Sachdienliche Hinweise in den Comments.&lt;/p&gt;</description><link>http://www.readmore.ch/post/220924130</link><guid>http://www.readmore.ch/post/220924130</guid><pubDate>Fri, 23 Oct 2009 15:48:54 +0200</pubDate></item><item><title>Ein kurzes Kaffeestück</title><description>&lt;h2&gt;Personen:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Frau mit einem Becher Kaffee (&lt;strong&gt;FmK&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Kioskverkäuferin (&lt;strong&gt;KV&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Alte Dame mit ungetrübten Wahrheitssinn (&lt;strong&gt;Dame&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Ort&lt;/h2&gt;

&lt;p&gt;Ein Bus der Linie 70 von Wollishofen nach Leimbach, wartend an der Endhaltestelle in Wollishofen.&lt;/p&gt;

&lt;h3&gt;1. Akt&lt;/h3&gt;

&lt;p&gt;Die Frau mit dem Becher Kaffee verlässt den Kiosk neben der Haltestelle und setzt sich in den vorderen Teil des Busses.
Plötzlich stürzt die &lt;strong&gt;Kioskverkäuferin&lt;/strong&gt; aus dem Laden in den Bus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;KV:&lt;/strong&gt; Dä Kafi han ich Ihne aber nöd verrächnet, sind Sie jetzt eifach mit däm usegloffe?&lt;br/&gt;&lt;strong&gt;FmK:&lt;/strong&gt; Dä Kafi han ich nöd vo da, dä isch vom Kiosk in Wollishofe.&lt;br/&gt;&lt;strong&gt;KV:&lt;/strong&gt; De händ Sie doch vo da! Sie schuldet mir drüü Franke füfzgt.&lt;br/&gt;&lt;strong&gt;FmK&lt;/strong&gt;: Nei, de isch ja scho fast chalt, gspüred sie doch. De han ich nöd bi Ihne uselah.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kioskverkäuferin&lt;/strong&gt; geht wütend ab.&lt;/p&gt;

&lt;h3&gt;2. Akt&lt;/h3&gt;

&lt;p&gt;Nach einer kurzen Stille im Bus meldet sich eine alte Dame. Sie sitzt weiter hinten im Bus und spricht vor sich hin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dame:&lt;/strong&gt; Isch das e Lüg gsi oder redet Sie d’Wahrheit?&lt;br/&gt;&lt;strong&gt;Dame:&lt;/strong&gt; Da isch ämel au en Kiosk in Wollishofe. Vo wo isch nur de Kafi?&lt;/p&gt;

&lt;p&gt;Die &lt;strong&gt;Kioskverkäuferin&lt;/strong&gt; stürzt erneut aus ihrem Laden.&lt;br/&gt;&lt;strong&gt;KV:&lt;/strong&gt; De ander Kiosk verkauft dänn imfall kei Kafi! Nur das Sies wüssed.&lt;br/&gt;&lt;strong&gt;Kioskverkäuferin&lt;/strong&gt; geht ab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FmK:&lt;/strong&gt; Also so öppis muess ich mir doch nöd büüte lah. Ich han de Kafi kauft.&lt;/p&gt;

&lt;p&gt;Die &lt;strong&gt;Frau&lt;/strong&gt; wendet sich an den &lt;strong&gt;Buschauffeur&lt;/strong&gt;:&lt;br/&gt;&lt;strong&gt;FmK:&lt;/strong&gt; Ich bin grad wieder da, ich gang nur schnäll übere zum Kiosk zum das kläre.&lt;/p&gt;

&lt;p&gt;Der &lt;strong&gt;Buschauffeur&lt;/strong&gt; wartet bis die Frau im Kiosk verschwunden ist, zögert einen Moment, startet den Motor und fährt los.&lt;/p&gt;</description><link>http://www.readmore.ch/post/220922421</link><guid>http://www.readmore.ch/post/220922421</guid><pubDate>Fri, 23 Oct 2009 15:46:13 +0200</pubDate></item><item><title>PostFinance SMS Service</title><description>&lt;p&gt;Vor einigen Tagen bekam ich Post von &lt;a href="http://www.postfinance.ch/"&gt;PostFinance&lt;/a&gt;, meinem Kontoverwalter der Wahl.&lt;/p&gt;

&lt;p&gt;Darin wurde ihr &lt;a href="http://www.postfinance.ch/pf/content/de/seg/about/media/press/medienmitteilungen/press090421.html"&gt;neuer SMS Service&lt;/a&gt; angepriesen (mit einem etwas arg &lt;em&gt;lustigen&lt;/em&gt; Comic)&lt;/p&gt;

&lt;h2&gt;Die Idee an sich gefällt mir:&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Ich kann jederzeit von unterwegs Zahlungen tätigen, vor allem spannend wenn ich kein Bargeld da habe, und ich welches von einem Freund bekomme (“Gib mir doch 100.-, ich überweise es dir aufs Konto”)&lt;/li&gt;
&lt;li&gt;Jederzeit kann mit einem SMS der aktuelle Konto-Stand geprüft werden (ohne E-Banking und Anstehen am Postomat)&lt;/li&gt;
&lt;li&gt;Wurde XY schon bezahlt? Man kann sich die letzten 5 Bewegungen auf dem Konto per SMS schicken lassen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;So funktionierts&lt;/h2&gt;

&lt;p&gt;Über das E-Banking kann man sich bequem für den Service anmelden (unter Service -&gt; SMS), dann bekommt man einen Prüfcode aufs Handy, und registriert diesen online.&lt;/p&gt;

&lt;p&gt;Dann können einfach Keywords an die Nummer &lt;strong&gt;474&lt;/strong&gt; geschickt werden:
&lt;strong&gt;SALDO&lt;/strong&gt; = aktueller Saldo (=1 SMS)&lt;br/&gt;&lt;strong&gt;BEWEGUNGEN&lt;/strong&gt; = letzte 5 Bewegungen
&lt;strong&gt;ZAHLE CHF&lt;/strong&gt; “Betrag” &lt;strong&gt;AN&lt;/strong&gt; “Kontonummer” “Text” = Überweisung&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Beispiel:&lt;/em&gt;&lt;/strong&gt;
&lt;em&gt;ZAHLE CHF 50 AN 85-4887-4 Mittagessen, Gruss Stefan&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Echt praktisch!&lt;/p&gt;</description><link>http://www.readmore.ch/post/220913695</link><guid>http://www.readmore.ch/post/220913695</guid><pubDate>Fri, 23 Oct 2009 15:32:17 +0200</pubDate></item><item><title>PostFinance SMS Service</title><description>&lt;p&gt;Vor einigen Tagen bekam ich Post von &lt;a href="http://www.postfinance.ch/"&gt;PostFinance&lt;/a&gt;, meinem Kontoverwalter der Wahl.&lt;/p&gt;

&lt;p&gt;Darin wurde ihr &lt;a href="http://www.postfinance.ch/pf/content/de/seg/about/media/press/medienmitteilungen/press090421.html"&gt;neuer SMS Service&lt;/a&gt; angepriesen (mit einem etwas arg &lt;em&gt;lustigen&lt;/em&gt; Comic)&lt;/p&gt;

&lt;h2&gt;Die Idee an sich gefällt mir:&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Ich kann jederzeit von unterwegs Zahlungen tätigen, vor allem spannend wenn ich kein Bargeld da habe, und ich welches von einem Freund bekomme (“Gib mir doch 100.-, ich überweise es dir aufs Konto”)&lt;/li&gt;
&lt;li&gt;Jederzeit kann mit einem SMS der aktuelle Konto-Stand geprüft werden (ohne E-Banking und Anstehen am Postomat)&lt;/li&gt;
&lt;li&gt;Wurde XY schon bezahlt? Man kann sich die letzten 5 Bewegungen auf dem Konto per SMS schicken lassen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;So funktionierts&lt;/h2&gt;

&lt;p&gt;Über das E-Banking kann man sich bequem für den Service anmelden (unter Service -&gt; SMS), dann bekommt man einen Prüfcode aufs Handy, und registriert diesen online.&lt;/p&gt;

&lt;p&gt;Dann können einfach Keywords an die Nummer &lt;strong&gt;474&lt;/strong&gt; geschickt werden:
&lt;strong&gt;SALDO&lt;/strong&gt; = aktueller Saldo (=1 SMS)&lt;br/&gt;&lt;strong&gt;BEWEGUNGEN&lt;/strong&gt; = letzte 5 Bewegungen 
&lt;strong&gt;ZAHLE CHF&lt;/strong&gt; “Betrag” &lt;strong&gt;AN&lt;/strong&gt; “Kontonummer” “Text” = Überweisung&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Beispiel:&lt;/em&gt;&lt;/strong&gt;
&lt;em&gt;ZAHLE CHF 50 AN 85-4887-4 Mittagessen, Gruss Stefan&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Echt praktisch!&lt;/p&gt;</description><link>http://www.readmore.ch/post/220911706</link><guid>http://www.readmore.ch/post/220911706</guid><pubDate>Fri, 23 Oct 2009 15:29:09 +0200</pubDate></item><item><title>Insert text at top of a file</title><description>&lt;p&gt;If you want to insert text at the end of a file (“append”) you can simply use:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; $ echo "test" &gt;&gt; my_file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;which then adds “test” on a new line at the end of the “my_file.txt”. In my case I had to insert text at top of a file. If you start to google for that you discover quite fancy solution like using vi or some sed magic.&lt;/p&gt;

&lt;p&gt;For me this was all too much. I have a file with quite static text in it. At the end of a shell script I want to insert the content of this file at the beginning of a logfile created by the script.&lt;/p&gt;

&lt;p&gt;When using files it’s getting easier:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; $ cat my_static_file.txt logfile.txt &gt; temp_logfile.txt 
 $ mv temp_logfile.txt logfile.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But my script can run parallel and therefore this approach is very dangerous. I was looking for a quick solution and came up with this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; $ cat my_static_file.txt logfile.txt &gt; $$ &amp;&amp; mv $$ logfile.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This has the advantage of being on a single line and using “$$” as filename. $$ is the process ID (PID) of the current running script, and therefore cannot exist twice at the same time.&lt;/p&gt;

&lt;p&gt;Because of the usage of &amp;&amp; and calling everything on one line is, that the following command is only executed when the predecessor command finished successfully. Otherwise the whole command quits. In my case this means the logfile will be kept and not moved.&lt;/p&gt;</description><link>http://www.readmore.ch/post/220906263</link><guid>http://www.readmore.ch/post/220906263</guid><pubDate>Fri, 23 Oct 2009 15:20:00 +0200</pubDate><category>Linux</category></item></channel></rss>
