<?xml version="1.0" encoding="utf-8" ?>

<rss version="0.91" >
<channel>
<title>IT Blog</title>
<link>http://itblog.eckenfels.net/</link>
<description>Bernd Eckenfels  notiert...</description>
<language>de</language>
<image>
        <url>http://itblog.eckenfels.net/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: IT Blog - Bernd Eckenfels  notiert...</title>
        <link>http://itblog.eckenfels.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Verspielte Zusammenarbeit</title>
    <link>http://itblog.eckenfels.net/archives/373-Verspielte-Zusammenarbeit.html</link>

    <description>
        Virtuelle Realitäten wie Second Life werden ja schon für Geschäftsmeetings (z.B. Vorträge) genutzt. Sub arbeitet mit &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5213&amp;amp;entry_id=373&quot; title=&quot;https://lg3d-wonderland.dev.java.net/&quot;  onmouseover=&quot;window.status=&#039;https://lg3d-wonderland.dev.java.net/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Project Wonderland&lt;/a&gt; an einer Platform, die speziell für die Zusammenarbeit in Teams ausgelegt ist.&lt;br /&gt;
&lt;br /&gt;
Hier ein nettes &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5214&amp;amp;entry_id=373&quot; title=&quot;http://research.sun.com/projects/mc/video/WonderlandPhone.mov&quot;  onmouseover=&quot;window.status=&#039;http://research.sun.com/projects/mc/video/WonderlandPhone.mov&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Demo Movie&lt;/a&gt; der Telefon Integration in Wonderland. Und eine ältere Demo des &quot;virtuellen&quot; Sun Gebäudes &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5215&amp;amp;entry_id=373&quot; title=&quot;http://research.sun.com/projects/mc/video/MPK20-oct2007.mov&quot;  onmouseover=&quot;window.status=&#039;http://research.sun.com/projects/mc/video/MPK20-oct2007.mov&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;MPK20&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Das ganze ist verspielt, und es muss sich erst zeigen ob Konferenzteilnehmer dadurch wirklich Produktivität gewinnen und nicht verlieren, aber unterhaltsam ist es allemal.  
    </description>
</item>
<item>
    <title>Software Übersetzungen</title>
    <link>http://itblog.eckenfels.net/archives/370-Software-UEbersetzungen.html</link>

    <description>
        Ich habe immer ein sehr mulmiges Gefühl wenn ich Übersetzungen aus unserem Ost-Europäischen oder asiatischen Office bekomme - man kann diese so gar nicht kontrollieren. Dieses Problem haben wohl auch Chinesische Shop Besitzer, die sich ein englischsprachiges Ladenschild zulegen wollen. Allerdings ist es fraglich ob man dieser Art von automatisierter Übersetzung sehr weit trauen sollte:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://adweek.blogs.com/adfreak/images/2008/07/10/translateservererror.jpg&quot; title=&quot;Sign: Translate Server Error&quot; &gt;&lt;br /&gt;
&lt;br /&gt;
Via &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5210&amp;amp;entry_id=370&quot; title=&quot;http://www.mela.de/&quot;  onmouseover=&quot;window.status=&#039;http://www.mela.de/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Mela&lt;/a&gt; via &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5209&amp;amp;entry_id=370&quot; title=&quot;http://adweek.blogs.com/adfreak/2008/07/then-well-grab.html&quot;  onmouseover=&quot;window.status=&#039;http://adweek.blogs.com/adfreak/2008/07/then-well-grab.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;AdFreak&lt;/a&gt; via &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5211&amp;amp;entry_id=370&quot; title=&quot;http://dearjanesample.wordpress.com/2008/07/09/reasons-why-you-should-use-a-real-translator/&quot;  onmouseover=&quot;window.status=&#039;http://dearjanesample.wordpress.com/2008/07/09/reasons-why-you-should-use-a-real-translator/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Dear Jane Sample&lt;/a&gt; from &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5212&amp;amp;entry_id=370&quot; title=&quot;http://fun.drno.de/pics/english/only-in-china/TranslateServerError.jpg&quot;  onmouseover=&quot;window.status=&#039;http://fun.drno.de/pics/english/only-in-china/TranslateServerError.jpg&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;DrNo.de&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Terminkonflikt</title>
    <link>http://itblog.eckenfels.net/archives/367-Terminkonflikt.html</link>

    <description>
        Heute finden an der Uni-Karlsruhe gleich zwei interessante Termine statt. Die &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5205&amp;amp;entry_id=367&quot; title=&quot;https://jug-ka.dev.java.net/&quot;  onmouseover=&quot;window.status=&#039;https://jug-ka.dev.java.net/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Java User Group Karlsruhe&lt;/a&gt; musste deswegen in den Raum -102UG in der Informatik Fakultät ausweichen, dort gibt es um 19:15Uhr (-21:15) einen Vortrag von Dr. Patrick Schemitz (Netpioneer GmbH) zum Thema &lt;strong&gt;Grundladen [Web] Security Auditing&lt;/strong&gt;. &lt;br /&gt;
&lt;br /&gt;
In -101UG spricht Dr. York Sure von SAP Research im Rahmen der &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5206&amp;amp;entry_id=367&quot; title=&quot;http://www.gi-ev.de/regionalgruppen/karlsruhe/&quot;  onmouseover=&quot;window.status=&#039;http://www.gi-ev.de/regionalgruppen/karlsruhe/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;GI/ACM Regionalgruppe Karlsruhe&lt;/a&gt; über &lt;strong&gt;Internet of Services&lt;/strong&gt;. Dabei geht es um den Einsatz von Semantischen Technologien bei der Vermarktung von Internet Services.&lt;br /&gt;
&lt;br /&gt;
Beide Termine finden sich auf dem &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5207&amp;amp;entry_id=367&quot;  onmouseover=&quot;window.status=&#039;http://ka.stadtblog.de/it-termine&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;IT-Termine - ka.stadtblog&quot;&gt;IT-Kalender des Stadtblog KA&lt;/a&gt;. Dort findet sich auch eine Ankündigung für Morgen: &lt;strong&gt;Gründung des &quot;Verein der Karlsruher Software-Ingenieure&quot;&lt;/strong&gt; um 16:00-18:00 am FZI. Näheres dazu in der &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5208&amp;amp;entry_id=367&quot; title=&quot;http://www.fzi.de/termine.php?id=206&quot;  onmouseover=&quot;window.status=&#039;http://www.fzi.de/termine.php?id=206&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Presseerklärung&lt;/a&gt; von FZI, KIT, adrena objects, 1&amp;1, SAP und HsK.&lt;br /&gt;
&lt;br /&gt;
Ich werde wohl bei der JUG-KA vorbeischauen heute Abend und mir Morgen die Info Veranstaltung ansehen.&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Visual Virtualization</title>
    <link>http://itblog.eckenfels.net/archives/362-Visual-Virtualization.html</link>

    <description>
        Gemeinhin wird die bessere Auslastung der Hardware Resourcen als Vorteile der Virtualisierung genannt. Um dazu aber größere Investitionen in Infrastruktur oder Lizenzen zu rechtfertigen muss man die Einsparungen und Kapazitäten auch visualisieren können.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_left&quot; style=&quot;width: 314px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;!-- s9ymdb:142 --&gt;&lt;img width=&quot;314&quot; height=&quot;227&quot;  src=&quot;http://itblog.eckenfels.net/uploads/ss2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Auszug aus dem Microsoft Guide zu Microsoft Office Visio 2007 Professional Add-In for Rack Server Virtualization&lt;/div&gt;&lt;/div&gt; Zu diesem Zweck bietet Microsoft jetzt ein Visio Connector Plugin an, dass die Vorteile von Server Konsolidierung als Grafik (&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5203&amp;amp;entry_id=362&quot; title=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyID=3250331a-0116-4064-92d1-50b9b0727b75&amp;amp;DisplayLang=en&quot;  onmouseover=&quot;window.status=&#039;http://www.microsoft.com/downloads/details.aspx?FamilyID=3250331a-0116-4064-92d1-50b9b0727b75&amp;amp;DisplayLang=en&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Virtual Rack&lt;/a&gt;) sichtbar machen können soll.&lt;br /&gt;
&lt;br /&gt;
 Dabei greift Visio auf Excel Arbeitsblätter zu, die wiederum mit WMI und MOM Daten verknüpft sind. Das finde ich auch den besonders interessanten Teil an diesem Connector. Die Zugriffe auf WMI Live-Daten oder auf historische Auslastungszahlen des MOM Archivs erlaben es Server Auslastungen zu visualisieren.&lt;br /&gt;
&lt;br /&gt;
Via &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5204&amp;amp;entry_id=362&quot; title=&quot;http://weblog.infoworld.com/virtualization/archives/2008/07/microsoft_visio.html&quot;  onmouseover=&quot;window.status=&#039;http://weblog.infoworld.com/virtualization/archives/2008/07/microsoft_visio.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Infoworld Virtualization Report&lt;/a&gt;. 
    </description>
</item>
<item>
    <title>Google Lively</title>
    <link>http://itblog.eckenfels.net/archives/360-Google-Lively.html</link>

    <description>
        &lt;iframe src=&#039;http://embed.lively.com/iframe?rid=6971592860778072103&#039; width=&#039;460&#039; height=&#039;400&#039; marginwidth=&#039;0&#039; marginheight=&#039;0&#039; frameborder=&#039;0&#039; scrolling=&#039;no&#039;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Google &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5201&amp;amp;entry_id=360&quot; title=&quot;http://www.lively.com/&quot;  onmouseover=&quot;window.status=&#039;http://www.lively.com/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Lively&lt;/a&gt; ist so was wie ein uneheliches Kind zwischen &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5202&amp;amp;entry_id=360&quot; title=&quot;http://www.secondlife.com/&quot;  onmouseover=&quot;window.status=&#039;http://www.secondlife.com/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Secondlife&lt;/a&gt; und (Ex-)Combots :) 
    </description>
</item>
<item>
    <title>Optimierungen beim Java Threading</title>
    <link>http://itblog.eckenfels.net/archives/358-Optimierungen-beim-Java-Threading.html</link>

    <description>
        Dieses mal nur schnell einen Pointer zu einer Artikelserie von Jeroen Borgers auf InfoQ. Ich weise ausdrücklich darauf hin dass der erste Teil des Artikels nicht ohne den zweiten Teil genossen werden sollte.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5197&amp;amp;entry_id=358&quot; title=&quot;http://www.infoq.com/articles/java-threading-optimizations-p1&quot;  onmouseover=&quot;window.status=&#039;http://www.infoq.com/articles/java-threading-optimizations-p1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Threading Optimizations in Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5198&amp;amp;entry_id=358&quot; title=&quot;http://www.infoq.com/articles/java-threading-optimizations-p2&quot;  onmouseover=&quot;window.status=&#039;http://www.infoq.com/articles/java-threading-optimizations-p2&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Do Java 6 threading optimizations actually work? - Part II&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Zusätzlich möchte ich noch auf den Micro Benchmark Runner von  Brent Boyer verweisen. Dieser spart ein wenig die manuelle Korrektur und Anpassung der Warmup-Phasen und liefert aussagekräftige statistische Auswertungen. Die developerWorks Artikelserie geht auf diese Verfahren auch noch etwas genauer ein:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5199&amp;amp;entry_id=358&quot; title=&quot;http://www.ibm.com/developerworks/library/j-benchmark2/index.html&quot;  onmouseover=&quot;window.status=&#039;http://www.ibm.com/developerworks/library/j-benchmark2/index.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Robust Java benchmarking, Part 2: Statistics and solutions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5200&amp;amp;entry_id=358&quot; title=&quot;http://www.ellipticgroup.com/html/benchmarkingArticle.html&quot;  onmouseover=&quot;window.status=&#039;http://www.ellipticgroup.com/html/benchmarkingArticle.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Companion site&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Arbeitsplatz Schönheit bei der AxelSpringer AG</title>
    <link>http://itblog.eckenfels.net/archives/356-Arbeitsplatz-Schoenheit-bei-der-AxelSpringer-AG.html</link>

    <description>
        Bei Youtube findet sich eine &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5196&amp;amp;entry_id=356&quot; title=&quot;http://youtube.com/watch?v=j2oGlC9aXB4&quot;  onmouseover=&quot;window.status=&#039;http://youtube.com/watch?v=j2oGlC9aXB4&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Video Botschaft&lt;/a&gt; von Dr. Mathias Döpfner (CEO) an die Angestellten des AxelSpringer Verlags. Bei Timecode 1:30 findet sich dann auch diese Aussage hier:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Ich glaube jeder Arbeitsplatz sieht ein bisschen schöner aus, wenn ein Apple Gerät daraufsteht.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Ich bin mir nicht sicher, ob man IT mit Spass und Schönheit verkaufen muss, aber ich frage mich ob man wirklich Geld dabei sparen kann - besonders wenn man selbst erkannt hat dass es noch keine großen Anwender Unternehmen gibt (Axel Springer wird damit zum 2. größten Apple Firmenkunden nach Google weltweit).&lt;br /&gt;
&lt;br /&gt;
Wie gut eignen sich die Apples denn in großen Unternehmensnetzen? Gibt&#039;s da Dinge wie Group Policy, Directory und System Management Server?&lt;br /&gt;
&lt;br /&gt;
&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/j2oGlC9aXB4&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/j2oGlC9aXB4&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>DoD über CC</title>
    <link>http://itblog.eckenfels.net/archives/354-DoD-ueber-CC.html</link>

    <description>
        In einem Report &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5193&amp;amp;entry_id=354&quot;  onmouseover=&quot;window.status=&#039;http://stinet.dtic.mil/cgi-bin/GetTRDoc?AD=ADA473661&amp;amp;Location=U2&amp;amp;doc=GetTRDoc.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot; title=&quot;PDF: Mission Impact of Foreign Influence on DoD Software&quot;&gt;(PDF)&lt;/a&gt; des U.S. DoD findet man folgende - doch recht amüsante - Anmerkung:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;The primary process relied upon by the DoD for evaluation of the assurance of&lt;br /&gt;
commercial products today is the Common Criteria (CC) evaluation process. The&lt;br /&gt;
task force believes that Common Criteria is presently inadequate to raise&lt;br /&gt;
sufficiently the trustworthiness of software products for the DoD. This is&lt;br /&gt;
particularly true at Evaluation Assurance Level-4 (EAL4) and below, where&lt;br /&gt;
penetration testing is not performed. Nonetheless, Common Criteria evaluation is&lt;br /&gt;
an international program, well established, and not easy to change.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Es ist interessant zu sehen, dass einer der Haupt-Initiatoren der &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5194&amp;amp;entry_id=354&quot; title=&quot;http://www.commoncriteriaportal.org/&quot;  onmouseover=&quot;window.status=&#039;http://www.commoncriteriaportal.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Common Criteria&lt;/a&gt; nun erkennt, dass diese nicht sehr nützlich ist - und was noch viel interessanter ist - nicht so einfach geändert werden kann, da diese nun im Standardisierung-Morast festsitzt.&lt;br /&gt;
&lt;br /&gt;
Auf den Report hat übrigen&#039;s Oracle&#039;s CSO &lt;em&gt;Mary Ann Davidson&lt;/em&gt; &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5195&amp;amp;entry_id=354&quot; title=&quot;http://blogs.oracle.com/maryanndavidson/2008/04/the_supply_chain_problem.html&quot;  onmouseover=&quot;window.status=&#039;http://blogs.oracle.com/maryanndavidson/2008/04/the_supply_chain_problem.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;hingewiesen&lt;/a&gt;.&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Null returns in Java</title>
    <link>http://itblog.eckenfels.net/archives/352-Null-returns-in-Java.html</link>

    <description>
        Das Thema der &lt;em&gt;null&lt;/em&gt; Referenzen in Java, insbesondere als Rückgabewert von Methoden ist umstritten. Generell führt es zu einer erhöhten Gefahr von (aussagelosen) NullPointerExceptions. &lt;br /&gt;
&lt;br /&gt;
An manchen stellen kann man diese einfach vermeiden: finder die eine Liste von Objekten zurückliefern sollten eine leere Ergebnismenge (die ohne Fehler zustande gekommen ist) nicht mit einem &lt;em&gt;null;&lt;/em&gt; Rückgabewert signalisieren, sondern mit einer leeren Collection: &quot;&lt;em&gt;return List.EMPTY_LIST;&lt;/em&gt;&quot;.&lt;br /&gt;
&lt;br /&gt;
An anderen Stellen ist die Vermeidung von &lt;em&gt;null&lt;/em&gt; nicht immer unumstritten. Auf die Diskussion will ich mich hier jetzt garnicht einlassen. Deswegen habe ich hier eine einfache Policy - falls &lt;em&gt;null&lt;/em&gt; Rückgabe Werte doch zulässig sein sollten:&lt;br /&gt;
&lt;br /&gt;
Wenn schon &lt;em&gt;null&lt;/em&gt; als Rückgabe Wert einer Methode, so darf dies nur passieren wenn:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;im Javadoc erwähnt wird &quot;&lt;em&gt;@returns the Object requested or null&lt;/em&gt;&quot;&lt;/li&gt;&lt;li&gt;der null Wert im Code durch ein explizites &quot;return null;&quot; angegeben wird.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;
Ein Negativbeispiel ist dies hier (der Code mit der Entscheidungsfindung ist hier deutlich übersichtlicher als bei größeren Methoden mit state variablen in der Praxis:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;public IThing getCarOrBike(int distance, Person p) {
  IThing ret = null;

  if (distance &gt; 1000) {
    ret = new Car();
    ret.add(p);
  }

  if (distance &gt; 100) {
    ret = new Bike();
    ret.add(p);
  }

  return ret; // BAD
}&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit einem expliziten return wird dies klarer, entweder (die von mir oftmals bevorzugte Early-Out Variante):&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;public IThing getCarOrBike(int distance, Person p) {

  if (distance &lt; 0 || p == null)
    throw new IllegalArgumentException(&quot;You must specify a person and positive distance&quot;);

  if (distance &lt;= 100)
    return null; // pedestrian

  IThing ret;

  if (distance &gt; 1000) {
    ret = new Car();
  } else {
    ret = new Bike();
  }
 
  ret.add(p);

  return ret;
}&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oder eine if/else Cascade:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;/**
 &amp;#42 Return Transportation for given distance.
 &amp;#42 &amp;lt;P&gt;
 &amp;#42 This will return instances of Car or Bike. If the distance
 &amp;#42 is short enough, null will be returned.
 &amp;#42
 &amp;#42 @return null or new instance of Car or Bike with person added
 &amp;#42/
public IThing getCarOrBike(int distance, Person p) {
  IThing ret = null;

  if (distance &gt; 1000) {
    ret = new Car();
  } else if (distance &gt; 100) {
    ret = new Bike();
  } else {
    return null; // pedestrian
  }

  ret.add(p);
  return ret;
}&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist dabei immer, dass im Code klar wird, was die Intention ist - also: soll null wirklich zurückgegeben werden oder wurde nur eine Fallunterscheidung vergessen. Wenn man sich dazu  überwindet &quot;&lt;em&gt;return null;&lt;/em&gt;&quot; zu schreiben, so ist es zugegebenermaßen manchmal etwas langatmiger, aber dafür eindeutig.&lt;br /&gt;
&lt;br /&gt;
Eine Code Policy wie &quot;jede Methode darf nur einen &lt;em&gt;return&lt;/em&gt; punkt haben&quot; ist übrigens nicht nur weil es dieses Idiom verbietet unsinnig. Das führt nur zu extremen Verschachtelungen. Dank Java &lt;em&gt;finally&lt;/em&gt; gibt es dazu auch sehr selten Grund.&lt;br /&gt;
&lt;br /&gt;
Übrigens versuche ich auch die returns innerhalb eines entsprechenden try/finally Blocks zu haben und vermeide &quot;Alibi&quot; &lt;em&gt;return&lt;/em&gt;s am ende der Methode - die beschwichtigen nur erwünschte Warnings. 
    </description>
</item>
<item>
    <title>Oracle EL: Gut Gemeint</title>
    <link>http://itblog.eckenfels.net/archives/350-Oracle-EL-Gut-Gemeint.html</link>

    <description>
        Seit einiger Zeit beobachte ich schon, dass Oracle eine Menge Grundlagenartikel zu Linux (zu Oracle Enterprise Linux) in Ihrer Knowledge Base anlegt. Zum beispiel werden alle Linux daemons beschrieben (&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5191&amp;amp;entry_id=350&quot; title=&quot;https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=555093.1&quot;  onmouseover=&quot;window.status=&#039;https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=555093.1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;555093.1 &quot;Linux OS Service: tux&quot;&lt;/a&gt;), oder der KB Artikel &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5192&amp;amp;entry_id=350&quot; title=&quot;https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=559611.1&quot;  onmouseover=&quot;window.status=&#039;https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=559611.1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;559611.1: &quot;Maximum Number of CPU cores Supported by a Single Linux System&quot;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Da frage ich mich doch, ob dieser extreme Aufwand der hier (parallel zur Mutterdistribution RHEL und parallel zur Linux Community) getrieben wird irgendwie sinnvoll ist:&lt;br /&gt;
&lt;br /&gt;
a) die Informationen sind in der properitären KB versteckt&lt;br /&gt;
b) die Informationen duplizieren teilweise schon längst erstellte Ressource (insbesondere Manpages)&lt;br /&gt;
c) ein Großteil der Infos ist Linux spezifisch&lt;br /&gt;
d) Oracle könnte ihre Ressourcen intern sicher besser einsetzten als jetzt &quot;echter&quot; Linux Distributor zu werden&lt;br /&gt;
&lt;br /&gt;
Eventuell hat ja Oracle das Problem Content in der KB bereitstellen zu müssen um Mehrwert verkaufen zu können. Aber selbst dann könnte man doch einen Prozess aufsetzen in dem z.B. ein vorhandenes Dokumentations-Projekt mit Kick-Start Content versorgt wird, und regelmäßig Zwischenstände redaktionell bearbeitet in die Oracle-KB übernommen werden. Damit wäre beiden Seiten gedient.&lt;br /&gt;
&lt;br /&gt;
In dem Zusammenhang ist interessant zu sehen, dass Google hier wieder mal sich des Themas annimmt, und &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5190&amp;amp;entry_id=350&quot; title=&quot;http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html&quot;  onmouseover=&quot;window.status=&#039;http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Google knol&lt;/a&gt; ins leben ruft. Eine Art Community Knowledge-Base - die allerdings irgendwie den Community/wiki Gedanken noch etwas vermissen läßt. 
    </description>
</item>
<item>
    <title>In the cloud</title>
    <link>http://itblog.eckenfels.net/archives/348-In-the-cloud.html</link>

    <description>
        &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5179&amp;amp;entry_id=348&quot; title=&quot;http://www.ipernity.com/doc/eckes/99956&quot;  onmouseover=&quot;window.status=&#039;http://www.ipernity.com/doc/eckes/99956&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;img src=&quot;http://u1.ipernity.com/1/99/56/99956.139978d6.100.jpg&quot; width=&quot;100&quot; height=&quot;67&quot; alt=&quot;Dark Clouds&quot; border=&quot;0&quot; align=&quot;left&quot; /&gt;&lt;/a&gt; Im Gegensatz zum Begriff Grid Computing ist das Thema Cloud computing etwas eindeutiger &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5180&amp;amp;entry_id=348&quot; title=&quot;http://blog.rightscale.com/2008/05/26/define-cloud-computing/&quot;  onmouseover=&quot;window.status=&#039;http://blog.rightscale.com/2008/05/26/define-cloud-computing/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;definiert&lt;/a&gt;. Es geht darum IT-Resourcen (Rechner oder Laufzeitumgebungen) aus der Wolke des Internets einzukaufen, also die Anwendungen remote zu betreiben.&lt;br /&gt;
&lt;br /&gt;
Die bekanntesten Vertreter dieses Genres sind Amazon&#039;s &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5181&amp;amp;entry_id=348&quot; title=&quot;http://www.amazon.com/EC2-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=201590011&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA&quot;  onmouseover=&quot;window.status=&#039;http://www.amazon.com/EC2-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=201590011&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;EC2&lt;/a&gt; (Elastic Cloud Computing - eine Serverfarm auf der man Xen Images auf Stundenbasis laufen lassen kann) und &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5186&amp;amp;entry_id=348&quot; title=&quot;http://code.google.com/appengine/&quot;  onmouseover=&quot;window.status=&#039;http://code.google.com/appengine/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Google App Engine&lt;/a&gt; (eine Python Web Server umgebung für Web Anwendungen).&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://code.google.com/appengine/images/appengine_lowres.jpg&quot; align=&quot;right&quot;&gt; Beide haben grade aktuell Neuigkeiten zu vermelden: Google App Engine ist &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5183&amp;amp;entry_id=348&quot; title=&quot;http://googleappengine.blogspot.com/2008/05/announcing-open-signups-expected.html&quot;  onmouseover=&quot;window.status=&#039;http://googleappengine.blogspot.com/2008/05/announcing-open-signups-expected.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;nun offen für alle Entwickler&lt;/a&gt; (die kostenfreie Einsteigerversion erfordert eine SMS Registrierung, und kann auch mit Google Apps for Domains zusammenarbeiten).&lt;br /&gt;
&lt;br /&gt;
In der Public Beta des Amazon Cloud Services werden bald &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5184&amp;amp;entry_id=348&quot; title=&quot;http://www.allthingsdistributed.com/2008/04/persistent_storage_for_amazon.html&quot;  onmouseover=&quot;window.status=&#039;http://www.allthingsdistributed.com/2008/04/persistent_storage_for_amazon.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;persistente Volumes&lt;/a&gt; möglich sein: damit sind dann auch klassische Enterprise Anwendungen einfach zu betreiben und nicht nur Compute Jobs (Video Rendering) oder &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5185&amp;amp;entry_id=348&quot; title=&quot;http://blog.rightscale.com/2008/03/26/setting-up-a-fault-tolerant-site-using-amazons-availability-zones/&quot;  onmouseover=&quot;window.status=&#039;http://blog.rightscale.com/2008/03/26/setting-up-a-fault-tolerant-site-using-amazons-availability-zones/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;replizierte Datenbanken&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In zwei kommenden Artikel will ich beide Dienste etwas näher vorstellen, und meine Bewertung dazu abgeben wo und wie das Utility Computing funktionieren kann.&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>SOA Humor</title>
    <link>http://itblog.eckenfels.net/archives/347-SOA-Humor.html</link>

    <description>
        &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5178&amp;amp;entry_id=347&quot; title=&quot;http://geekandpoke.typepad.com/geekandpoke/2008/06/help-me---part.html&quot;  onmouseover=&quot;window.status=&#039;http://geekandpoke.typepad.com/geekandpoke/2008/06/help-me---part.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;&lt;img src=&quot;http://geekandpoke.typepad.com/geekandpoke/images/2008/06/05/helpme2.jpg&quot; alt=&quot;Geek and Poke - SOA consultants&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Nostalgie in Sachen DatenFernÜbertragung</title>
    <link>http://itblog.eckenfels.net/archives/345-Nostalgie-in-Sachen-DatenFernUEbertragung.html</link>

    <description>
        Das flatterte grade in meine Mailbox:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;In an effort to capture lessons learned in the development of electronic data interchange (EDI) over the last several decades, AIAG partnered with other leading global automotive organizations on the development of a document now available as a free download.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5174&amp;amp;entry_id=345&quot; title=&quot;https://www.aiag.org/source/Orders/index.cfm?section=AIAG&amp;amp;activesection=ECEDI&amp;amp;task=3&amp;amp;CATEGORY=ECEDI&amp;amp;PRODUCT_TYPE=SALES&amp;amp;SKU=E%2D18&amp;amp;DESCRIPTION=EDI%2FElectronic%20Commerce&amp;amp;FindSpec=&amp;amp;CFTOKEN=24862513&amp;amp;continue=1&amp;amp;SEARCH_TYPE=find&amp;amp;StartRow=1&amp;amp;PageNum=1&quot;  onmouseover=&quot;window.status=&#039;https://www.aiag.org/source/Orders/index.cfm?section=AIAG&amp;amp;activesection=ECEDI&amp;amp;task=3&amp;amp;CATEGORY=ECEDI&amp;amp;PRODUCT_TYPE=SALES&amp;amp;SKU=E%2D18&amp;amp;DESCRIPTION=EDI%2FElectronic%20Commerce&amp;amp;FindSpec=&amp;amp;CFTOKEN=24862513&amp;amp;continue=1&amp;amp;SEARCH_TYPE=find&amp;amp;StartRow=1&amp;amp;PageNum=1&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Automotive History of EDI&lt;/a&gt; (AIAG E-18)&lt;br /&gt;
&lt;br /&gt;
Ist vielleicht nicht allen Lesern hier bekannt, aber mit EDI hatte ich schon 1989 zu tun, als ich als Schüler-Ferienjob einen der erfolgreichsten deutschen EDI Konverter (mit)geschrieben habe: den TLA (Teil der Subelke von Seeburger). Zufälligerweise war auch eine der ersten Testdaten für das &quot;neue&quot; (DOS basierende) Produkt ein VDA4905 (&lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5175&amp;amp;entry_id=345&quot; title=&quot;http://de.wikipedia.org/wiki/Lieferabruf&quot;  onmouseover=&quot;window.status=&#039;http://de.wikipedia.org/wiki/Lieferabruf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Lieferabruf&lt;/a&gt;). Von daher ist die Automotive EDI History zumindest für mich ein Stück IT Nostalgie.&lt;br /&gt;
&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Bilder von der OpenExpo</title>
    <link>http://itblog.eckenfels.net/archives/341-Bilder-von-der-OpenExpo.html</link>

    <description>
        Bilder des ersten Tages der &lt;a href=&quot;http://itblog.eckenfels.net/archives/314-Open-Source-Expo-2008-Karlsruhe.html&quot;&gt;Open Expo&lt;/a&gt; in Karlsruhe habe ich auf meinem &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url=aHR0cDovL3d3dy5pcGVybml0eS5jb20vZG9jL2Vja2VzL3NsaWRlc2hvdy9hbGJ1bS82NzQzOA==&amp;amp;entry_id=341&quot; title=&quot;http://www.ipernity.com/doc/eckes/slideshow/album/67438&quot;  onmouseover=&quot;window.status=&#039;http://www.ipernity.com/doc/eckes/slideshow/album/67438&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Ipernity&lt;a/&gt; account abgelegt.&lt;br /&gt;
&lt;br /&gt;
Es war nicht allzu voll, die beteiligten Open Source Projekt-Aussteller haben sich aber sehr gut versorgt gefühlt. Mir persönlich hat eine Moderation und Betreuung der Redner gefehlt. Bis auf die Keynote von Mike Milinkovich (Executive Director Eclipse Foundation) waren die Vorträge teils Produkt/Marketing related und teils Vorträge von Praktikern. Witzigerweise haben die meisten davon auf Ihre High-Profile Kollegen die den gleichen Vortrag auf dem Linuxtag  halten werden verwiesen.&lt;br /&gt;
&lt;br /&gt;
Heute ist der erste Tag an dem die Veranstaltung parallel zur Webinale stattfindet, bin mal gespannt wie die Besuchsberichte so ausfallen. Ich werde heute nicht dort sein, dafür aber Abends als Gast auf dem &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5170&amp;amp;entry_id=341&quot; title=&quot;http://www.mela.de/archives/846-Geek-Girl-Dinner-Karlsruhe.html&quot;  onmouseover=&quot;window.status=&#039;http://www.mela.de/archives/846-Geek-Girl-Dinner-Karlsruhe.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Geek Girl Dinner&lt;/a&gt; (Fotos bei &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5173&amp;amp;entry_id=341&quot; title=&quot;http://www.mela.de/archives/848-Die-Fotos-vom-Girl-Geek-Dinner.html&quot;  onmouseover=&quot;window.status=&#039;http://www.mela.de/archives/848-Die-Fotos-vom-Girl-Geek-Dinner.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Mela&lt;/a&gt;).&lt;br /&gt;
 
    </description>
</item>
<item>
    <title>Zufall?</title>
    <link>http://itblog.eckenfels.net/archives/338-Zufall.html</link>

    <description>
        Da ich davon beim abendlichen Beercall erzählt bekam gehe ich davon aus, dass es schon alte News ist und sage &lt;a href=&quot;http://itblog.eckenfels.net/exit.php?url_id=5166&amp;amp;entry_id=338&quot; title=&quot;http://www.debian.org/security/2008/dsa-1571.de.html&quot;  onmouseover=&quot;window.status=&#039;http://www.debian.org/security/2008/dsa-1571.de.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;dazu&lt;/a&gt; nichts weiter... naja außer vielleicht:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;2ecki@calista:~&gt; dpkg -l openssl
||/ Name                Version             Description
+++-===================-===================-======================================================
ii  openssl             0.9.7e-3sarge5      Secure Socket Layer (SSL) binary and related cryptogra&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
 
    </description>
</item>

</channel>
</rss>
