<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="http://randomike.twoday.net/rss2html.xsl" type="text/xsl"?>
<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/"
> 

  <channel rdf:about="http://randomike.twoday.net/">
    <title>Random Thoughts and Links : Rubrik:SoftwareEngineering</title>
    <link>http://randomike.twoday.net/</link>
    <description></description>
    <dc:publisher>mikegr</dc:publisher>
    <dc:creator>mikegr</dc:creator>
    <dc:date>2009-06-20T12:23:39Z</dc:date>
    <dc:language>en</dc:language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T00:00:00Z</sy:updateBase>
    <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/de/" />

    <image rdf:resource="http://static.twoday.net/icon.gif" />
    <items>
      <rdf:Seq>
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5698535/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5641702/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5285194/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5078650/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5062316/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5065791/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5059266/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5053147/" />
            <rdf:li rdf:resource="http://randomike.twoday.net/stories/5047692/" />

      </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://static.twoday.net/icon.gif">
    <title>Random Thoughts and Links</title>
    <url>http://static.twoday.net/icon.gif</url>
    <link>http://randomike.twoday.net/</link>
  </image>

  <item rdf:about="http://randomike.twoday.net/stories/5698535/">
    <title>Thoughts about Flash, Flex and Air</title>
    <link>http://randomike.twoday.net/stories/5698535/</link>
    <description>I would like to try Adobes products, because:
&lt;ul&gt;  
&lt;li&gt;It&apos;s the easiest to use RIA platform for developer. &lt;/li&gt;  
&lt;li&gt;The browser runtime(Flash Player) works much better than competition. In fact for years without big problems. In contrast yesterday the Java6u13-VM didn&apos;t start while entering a site with an applet, although the VM is stable enough for BIG, BIG servers.&lt;/li&gt;  
&lt;li&gt; Mature runtimes are available for all platforms. (Windows, Mac, Solaris, Linux, 64bitLinux!). Valid for Java, too. But not for MS GreyShadow.&lt;/li&gt;
&lt;/ul&gt;

However there are some major problems for me:
&lt;ul&gt;  
&lt;li&gt;There is no Flex Builder for Linux. End of story :)&lt;/li&gt;  
&lt;li&gt;It&apos;s a proprietary plattform. No standards that I&apos;m aware of and closed runtime software. That hinders innovation. It&apos;s a pain for developers in the long run to work with a black box. Think about the Java VM. Nowadays we like to run Scala, Ruby, Python, and Clojure on it. It can run directly on a virtualization hypervisor (JRockit). It runs in little different flavours on small mobile devices (Android). If there is a problem, we can check the code.&lt;/li&gt;  
&lt;li&gt;Who needs an open source SDK if the runtime is closed?&lt;/li&gt;
&lt;/ul&gt;

I will have a look when&lt;br /&gt;
Adobe releases a Flex Builder for Linux &lt;br /&gt;
and?/or?&lt;br /&gt;
Adobe opens the sources/standardizes the VM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update: Someone else has the same opinion: &lt;a href=&quot;http://www.insideria.com/2009/06/flex-builder-linux-and-open-so.html&quot;&gt;Mike Slinn: Flash Builder, Linux and Winning the RIA War&lt;br /&gt;
&lt;/a&gt;</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2009 randomike</dc:rights>
    <dc:date>2009-05-13T06:56:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5641702/">
    <title>Quotes from &quot;Secrects fo the Rock Star Programmers: Riding the IT Crest&quot;...</title>
    <link>http://randomike.twoday.net/stories/5641702/</link>
    <description>&lt;b&gt;Best Quotes for me from &quot;Secrects fo the Rock Star Programmers: Riding the IT Crest&quot; by Ed Burns. &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Kosuke Kawaguchi&lt;/b&gt;&lt;br /&gt;
&quot;...the way I get myself motivated is by having users.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Herb Schildt&lt;/b&gt;&lt;br /&gt;
&quot;All systems of knowledge are hierachical. They all have entry points, and they all have logical patterns of flow that allow you to move from one concept to another. In other words, systems of knowledge can be thought of as having a tree structure. To learn something, you must simply move from branch to branch, node to node. The troube is that sometimes it&apos;s not easy to see the structure. This is where a good teacher comes in. A good theater organizes the topic so that it reflects its hierachical structure.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Floyd Marinescu&lt;/b&gt;&lt;br /&gt;
&quot;...I think we&apos;ll go through a phase of domain-specific languages first, where the language itself is a rising abstraction, before we eventually get to the point where we&apos;re actually using model tools. It could be 10 to 15 years out&quot;&lt;br /&gt;
&lt;br /&gt;
&quot;If your heart&apos;s not in it, then it&apos;s time for a change. I&apos;ve been in situations where I was making more money than I knew what to do with, but I just wasn&apos;t happy there. I couldn&apos;t motivate myself. Once I switched my job, I was quite the happiest and it was worth making less money to have a better life.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Andy Hunt&lt;/b&gt;&lt;br /&gt;
&quot;The best place to look for where a bug might be is quite near the last one you found&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;cite&gt;A lot of people say, &quot;What&apos;s the best thing I can do to enhance my code?&quot; and I say, &quot;Take a big magnet to the hard drive&quot;.&lt;br /&gt;
&lt;/cite&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Dave Thomas&lt;/b&gt;&lt;br /&gt;
&apos;&apos;My opinion is that everything from high performance financial processing to computer games can actually be expressed fairly elegantly as CRUD programming``&lt;br /&gt;
&lt;br /&gt;
&apos;&apos;The major challenge for an innovation ... is to keep the idea alive until the opportunity becomes available&quot;&lt;br /&gt;
&lt;br /&gt;
&apos;&apos;So the key thing for a new technology is to find a ninche where it can grow and where people will pay for it. The it can be a healty, stable business. &lt;br /&gt;
&lt;br /&gt;
&quot;If you need complicated tools, then perhaps the technologies you&apos;re using are the wrong ones.&apos;&apos;</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2009 randomike</dc:rights>
    <dc:date>2009-04-13T20:43:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5285194/">
    <title>Kombinieren von JRuby und QT Jambi</title>
    <link>http://randomike.twoday.net/stories/5285194/</link>
    <description>require &apos;java&apos;&lt;br /&gt;
require &apos;/opt/qtjambi/qtjambi-4.4.3_01.jar&apos;&lt;br /&gt;
require &apos;/opt/qtjambi/qtjambi-linux32-gcc-4.4.3_01.jar&apos;&lt;br /&gt;
&lt;br /&gt;
module Gui  &lt;br /&gt;
include_package &quot;com.trolltech.qt.gui&quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
app = Gui::QApplication.new([&quot;&quot;].to_java(:String))&lt;br /&gt;
button = Gui::QPushButton.new(&quot;Hello&quot;)&lt;br /&gt;
button.show&lt;br /&gt;
button.clicked.connect(app, &quot;aboutQt()&quot;)&lt;br /&gt;
Gui::QApplication.exec</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-10-28T21:59:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5078650/">
    <title>Technologien, die ich nicht mag...</title>
    <link>http://randomike.twoday.net/stories/5078650/</link>
    <description>Der schöne &lt;b&gt;J2EE&lt;/b&gt; Standard. EJB2 mit XDoclet-Generierung erzeugt einfach zuviel Code. Generierter Code ist mir unsympathisch. EJB3 ist ein wahrer Segen in dieser Hinsicht. Lass es Frühling werden. Enterprise-Features schön und gut, aber sie sollen nicht die Implementierung der eigentlichen Logik soo mühsam machen. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Swing&lt;/b&gt;&lt;br /&gt;
Schaut grauslich aus (sogar mir Java6/JGoodies) und ist trotz bester Absicht auch grauslich zum Programmieren. Na gut, mit Java als Sprache auch nicht so leicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;JSF&lt;/b&gt; &lt;br /&gt;
Sehr mühsam um eine paar HTML-Seiten zu erstellen. 
&lt;ul&gt;  
&lt;li&gt;JSP-Seite = HTML + JSP-Tags&lt;/li&gt;  
&lt;li&gt;BackingBean = Java-Klassen&lt;/li&gt;  
&lt;li&gt;JSF und Servlet Konfigurationen=XML&lt;/li&gt;
&lt;/ul&gt;
Gleich 3 Sachen auf einmal. Nur leider ohne Schokolade und auf die Spannung, ob es funktioniert kann ich verzichten. Ok, spielen kann man damit.</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-08-06T08:10:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5062316/">
    <title>Java Libaries I like</title>
    <link>http://randomike.twoday.net/stories/5062316/</link>
    <description>&lt;a href=&quot;http://logging.apache.org/log4j/index.html&quot;&gt;Log4J&lt;/a&gt; war die erste Bibliothek, die ich sofort in mein Herz geschlossen habe. Einfach die Bibliothek in den Classpath geben und verwenden. &lt;a href=&quot;http://tech.puredanger.com/2008/03/25/log-levels&quot;&gt;Die Loglevels sind fast selbsterklärend&lt;/a&gt;, das Ausgabeformat und das Ziel kann nachher noch nach Belieben geändert werden und für die Entwicklungszeit gibt es auch eine vernünftige Standardkonfiguration. &lt;br /&gt;
&lt;br /&gt;
Inzwischen gibt es mehrere Alternativen wie z. B. java.util.logging. &lt;br /&gt;
Anstelle von den klar verständlichen Logleveln gibt es aber &lt;br /&gt;
FINE, FINER, FINEST, INFO, WARNING, SEVERE und auch noch CONFIG? Einfach alles auf Console ausgeben scheint auch nicht via Einzeiler machbar zu sein. &lt;br /&gt;
Das Ausgabeformat richtig anzupassen, habe ich mich glücklicherweise noch nicht beschäftigen müssen. Log4j ist auf jeden Fall sehr flexibel und gern benutzt, auch wenn die Konfiguration mittels Datei im Classpath Kopfzerbrechen bereiten kann.</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-07-29T09:50:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5065791/">
    <title>Ich mag J2EE Application Server nicht :(</title>
    <link>http://randomike.twoday.net/stories/5065791/</link>
    <description>Ich mag J2EE Application Server nicht :(</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-07-17T18:56:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5059266/">
    <title>Spring Dynamic Modules for OSGI</title>
    <link>http://randomike.twoday.net/stories/5059266/</link>
    <description>&lt;a href=&quot;http://www.springframework.org/osgi&quot;&gt;Spring Dynamic Modules for OSGI Service Platforms&lt;/a&gt; ist cool. Damit läßt sich sehr einfach eine serviceorientierte Architektur innerhalb eines OSGI Container in einer Java Virtual Machine aufbauen.&lt;br /&gt;
&lt;br /&gt;
Einfach eine Spring Bean schreiben und als OSGI Service veröffentlichen mittels XML Datei &lt;br /&gt;
/META-INF/spring/bundle-context.xml  &lt;br /&gt;
&lt;br /&gt;
&lt; bean name=&quot;ExportedBean&quot; class=&quot;export.ExportBean&quot; / &gt;  &lt;br /&gt;
&lt; osgi:service id=&quot;osgiExportedService&quot; ref=&quot;ExportedBean&quot; interface=&quot;service.MyService&quot; / &gt;&lt;br /&gt;
&lt;br /&gt;
Die Verwendung ist ebenfalls sehr einfach. In der selben Datei (natürlich in anderem Bundle) diesen Code einfügen:  &lt;br /&gt;
&lt;br /&gt;
&lt; osgi:reference id=&quot;osgiImportedService&quot; interface=&quot;service.MyService&quot; / &gt;  &lt;br /&gt;
&lt; bean name=&quot;UsingServiceBean&quot; class=&quot;import.ImportBean&quot;&gt;  	      &lt;br /&gt;
&lt; property name=&quot;service&quot;  ref=&quot;osgiImportedService&quot; / &gt;  &lt;br /&gt;
&lt; /bean&gt;&lt;br /&gt;
&lt;br /&gt;
Schon wird das Service über die Methode setService(service.MyService) in die Bean injeziert. &lt;br /&gt;
Wenn alles so einfach wäre. Der Web-Extender-Mechanismus für WAR Projekte macht mir das schon mehr Kopfzerbrechen.</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-07-14T22:02:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5053147/">
    <title>Meine persönliche JavaCodeConventions</title>
    <link>http://randomike.twoday.net/stories/5053147/</link>
    <description>Niemals e.printStackTrace() verwenden, sondern immer einen Logger verwenden. Derzeit ist wohl &lt;a href=&quot;http://www.slf4j.org/&quot;&gt;Simple Logging Fascade for Java&lt;/a&gt; am besten dafür geeignet. &lt;br /&gt;
Niemals direkt Texte ausgeben. Immer auf Internationalisierung mittels ResourceBundles achten.</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-07-11T11:36:00Z</dc:date>
  </item>
  <item rdf:about="http://randomike.twoday.net/stories/5047692/">
    <title>Software-Engineering-Tools für Java</title>
    <link>http://randomike.twoday.net/stories/5047692/</link>
    <description>Anforderungen an moderne Software-Entwicklung:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sourcecode-Management:&lt;/b&gt; &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion&lt;/a&gt;. Update:  2009 -&gt; eindeuting Git :) &lt;br /&gt;
&lt;b&gt;Build-Tool&lt;/b&gt;:&lt;a href=&quot;http://maven.apache.org/&quot;&gt;Maven&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Verwendung eines InversionOfControl-Containers:&lt;/b&gt; Ohne solchen ist Code einfach schwer testbar. Natürlich mit dem &lt;a href=&quot;http://www.springframework.org/&quot;&gt;Spring Framework&lt;/a&gt; oder auch &lt;a href=&quot;http://code.google.com/p/google-guice/&quot;&gt;Guice&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Verwendung eines Komponentensystem:&lt;/b&gt; OSGI. &lt;a href=&quot;http://www.eclipse.org/equinox/&quot;&gt;Equinox&lt;/a&gt;, wenn ein Eclipse-Subprojekt integriert wird. &lt;br /&gt;
&lt;b&gt;ContinousIntegration&lt;/b&gt;: Ein Build sollte zumindest täglich durchgeführt werden. Vielleicht &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson&lt;/a&gt;? Habe ich noch nicht verwendet.&lt;br /&gt;
&lt;b&gt;IssueTracker&lt;/b&gt; braucht es irgendwann auch. Muss es Bugzilla sein oder doch eher Trac? Auf jeden Fall sollte es einen &lt;a href=&quot;http://wiki.eclipse.org/index.php/Mylyn/Extensions#Connectors&quot;&gt;Mylyn-Connector&lt;/a&gt; geben. &lt;br /&gt;
&lt;br /&gt;
Nice to have:&lt;br /&gt;
Agile Entwicklung mit PairProgramming und TestFirst-Ansatz.</description>
    <dc:creator>randomike</dc:creator>
    <dc:subject>SoftwareEngineering</dc:subject>
    <dc:rights>Copyright &#169; 2008 randomike</dc:rights>
    <dc:date>2008-07-09T07:03:00Z</dc:date>
  </item>


<textinput rdf:about="http://randomike.twoday.net/search">
   <title>find</title>
   <description>Search this site:</description>
   <name>q</name>
   <link>http://randomike.twoday.net/search</link>
</textinput>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/de/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
  <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
  <requires rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>

</rdf:RDF>
