<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4493665686061525344</id><updated>2012-01-19T03:28:21.162-08:00</updated><category term='RememberMeal'/><category term='JSP'/><category term='JUG'/><category term='unittest'/><category term='development'/><category term='IT'/><category term='gwt'/><category term='Build'/><category term='Apple'/><category term='openejb'/><category term='DreamTeam'/><category term='Web'/><category term='Konferenz'/><category term='HatC Spiele Computerspiele Spiel Game'/><category term='Weltwirtschaftskrise'/><category term='Module'/><category term='metriken'/><category term='WebSlideShow'/><category term='iPod'/><category term='Wicket'/><category term='HatC'/><category term='Mac OS X'/><category term='app'/><category term='.net'/><category term='Impressum'/><category term='Spring'/><category term='Apache'/><category term='JEE'/><category term='Geronimo'/><category term='Windows 7'/><category term='rapid'/><category term='SourceKnights'/><category term='Wirtschaftskrise'/><category term='JBoss'/><category term='Internet'/><category term='Entwurfsmuster'/><category term='Krise'/><category term='Rails'/><category term='Closures'/><category term='Herbstcampus'/><category term='JUG  Java'/><category term='Kontakt'/><category term='Konfiguration'/><category term='NetBeans'/><category term='Java'/><category term='Java Herbstcampus'/><category term='Dotnet'/><category term='Google'/><category term='Snow Leopard'/><category term='iphone app ipod touch'/><category term='Tournament'/><category term='Browser'/><category term='Sun'/><category term='JSXP'/><category term='iPhone'/><category term='RCP'/><category term='Versionierung'/><category term='Agile'/><category term='Ruby'/><category term='software'/><category term='Maven'/><category term='Eclipse'/><category term='Scrum'/><category term='Superpackages'/><category term='pattern'/><category term='JSF'/><category term='Finanzkrise'/><category term='iphone ipod apple'/><category term='RAD'/><category term='nürnberg'/><title type='text'>SourceKnights</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-289747463211772310</id><published>2012-01-11T02:36:00.000-08:00</published><updated>2012-01-11T02:40:48.052-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>JUG-Treffen am Dienstag, 17.01., 18:30h in Nürnberg</title><content type='html'>&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: auto; font-family: Arial, 'Helvetica Neue', Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: -1px; min-height: 100%; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 1px; text-decoration: none; text-indent: 0px; text-rendering: auto; word-break: normal; word-spacing: 0px; word-wrap: break-word;"&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: auto; font-family: Arial, 'Helvetica Neue', Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: -1px; min-height: 100%; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 1px; text-decoration: none; text-indent: 0px; text-rendering: auto; word-break: normal; word-spacing: 0px; word-wrap: break-word;"&gt;Die Source-Knights und IT-Schulungen.com veranstalten am 17.01.2012 ab 18:30 das erste Java User Group Treffen des Jahres. Alle Java interessierten Entwickler sind herzlich dazu eingeladen.&lt;br /&gt;&lt;br /&gt;Das Event findet in der Thurn-und-Taxis-Straße 10, 90411 Nürnberg (im Nordostpark) statt (Rückgebäude)&lt;br /&gt;Die Räume von IT-Schulungen.combieten für bis zu 50 Personen Platz. Parkplätze sind vorhanden.&amp;nbsp; Mit den öffentlichen fahren Sie am besten mit der U2 bis Herrnhütte und dort aus mit der Linie 22 bis Nordostpark.&lt;br /&gt;&lt;br /&gt;Für Getränke ist gesorgt.&lt;br /&gt;&lt;br /&gt;Referent:&amp;nbsp;Robert&amp;nbsp;Eichenseer&lt;br /&gt;&lt;br /&gt;Thema:&amp;nbsp;In Zeiten agiler Softwareentwicklung gewinnt Pair Programming zunehmend an Bedeutung. Dabei teilen sich zwei Entwickler einen einzigen Arbeitsplatz und wechseln sich im Coding ab, während der jeweils Andere über die Schulter schaut und mitdenkt.&lt;br /&gt;Die Theorie propagiert, dass die Qualität der Arbeitsergebnisse und die Motivation beim Arbeiten merklich gesteigert werden können.&lt;br /&gt;In einem großen Web-Projekt bei der conplement AG wurde Pair Programming bei größeren Arbeitspaketen angewendet.&lt;br /&gt;Der Vortrag stellt vor, wie Pair Programming funktioniert.&amp;nbsp;Robert&amp;nbsp;wird außerdem seine Erfahrungen mit dem Pairing erläutern und Euch ein paar Empfehlungen an die Hand geben.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Veranstaltungsort:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 17px; white-space: nowrap;"&gt;&lt;span class="org"&gt;New Elements GmbH&lt;/span&gt;&lt;br /&gt;&lt;span class="street-address"&gt;Thurn-und-Taxis-Straße 10&lt;/span&gt;&lt;br /&gt;&lt;span class="postal-code"&gt;90411&lt;/span&gt;&amp;nbsp;&lt;span class="locality"&gt;Nürnberg&lt;/span&gt;&lt;br /&gt;&lt;span class="country-name"&gt;Deutschland&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 17px; white-space: nowrap;"&gt;&lt;span class="country-name"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Um formlose Anmeldung hier oder per Mail an jug@source-knights.com wird gebeten.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;Über&amp;nbsp;&lt;a href="http://www.source-knights.com/" rel="nofollow" style="color: rgb(0, 101, 103) !important; text-decoration: underline !important;" target="_blank" title="Link: http://www.source-knights.com/"&gt;Source-Knights.com&lt;/a&gt;:&lt;/b&gt;&lt;br /&gt;Source Knights bietet Expertenwissen mit Schwerpunkten im Java- und .NET-Enterprise-Umfeld sowie bei der Entwicklung und Anbindung von mobilen Geräten.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-weight: bold;"&gt;Über&amp;nbsp;&lt;a href="http://www.it-schulungen.com/" rel="nofollow" style="color: rgb(0, 101, 103) !important; text-decoration: none !important;" target="_blank"&gt;IT-Schulungen.com&lt;/a&gt;:&lt;/b&gt;&lt;br /&gt;IT-Schulungen.com gehört zu den größten herstellerunabhängigen Seminaranbietern in Deutschland. Deutschlandweit bietet IT-Schulungen.com an 25 Standorten mehr als 1000 verschiedene Kurse aus dem IT-Bereich an&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-289747463211772310?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/289747463211772310/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=289747463211772310' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/289747463211772310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/289747463211772310'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2012/01/jug-treffen-am-1701-1830h-in-nurnberg.html' title='JUG-Treffen am Dienstag, 17.01., 18:30h in Nürnberg'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3106041154833192607</id><published>2011-09-02T04:47:00.000-07:00</published><updated>2011-09-06T05:53:22.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JUG  Java'/><title type='text'>JUG Treffen, Mittwoch 21.09.2011 bei Brandad in Fürth</title><content type='html'>Am 21.09.2011, 18:30 findet das nächste JUG Treffen statt. Um formlose Anmeldung per Mail an jug@source-knights.com wird gebeten.&lt;br /&gt;&lt;br /&gt;Thema: The Hitchhiker's Guide to the NetBeans Platform&lt;br /&gt;Speaker: Toni Epple&amp;nbsp;&lt;a href="http://www.eppleton.de/"&gt;eppleton.de&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ort:&lt;br /&gt;BRANDAD Systems AG&lt;br /&gt;Gebhardtstraße 5&lt;br /&gt;90762 Fürth&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brandad-systems.de/" target="_blank"&gt;www.brandad-systems.de&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Zur Info: NetBeans-Guru Geertjan Wielenga ist auch München für ein 3-tägiges     Training vom 19. - 21. September 2011. Hier findet Ihr Näheres zum     Training und zur Registrierung: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eppleton.de/index.php?option=com_seminar&amp;amp;task=3&amp;amp;cid=6" rel="nofollow" target="_blank"&gt;http://www.eppleton.de/index.&lt;wbr&gt;&lt;/wbr&gt;php?option=com_seminar&amp;amp;task...&lt;/a&gt;     &lt;br /&gt;&lt;br /&gt;Wer Lust hat teilzunehmen, kann sich bei Toni Eppleton melden um einen     JUG-Gutschein-Code im Wert von 100€ für dieses Training zu     erhalten. Details siehe unter dem Link.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3106041154833192607?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3106041154833192607/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3106041154833192607' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3106041154833192607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3106041154833192607'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2011/09/jug-treffen-mittwoch-21092011-bei.html' title='JUG Treffen, Mittwoch 21.09.2011 bei Brandad in Fürth'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3822854446451779329</id><published>2011-01-27T04:00:00.000-08:00</published><updated>2011-01-27T04:00:51.228-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>JUG-Treffen am Dienstag, 15.02.2011, 18:30, Cortal Consors</title><content type='html'>Hi zusammen,&lt;br /&gt;&lt;br /&gt;es wird Zeit für das nächste JUG-Treffen. Diesmal bei Cortal Consors: Bahnhofstrasse 55, 90402 Nürnberg&lt;br /&gt;Um formlose Anmeldung per Mail an jug@source-knights.com wird gebeten.&lt;br /&gt;&lt;br /&gt;Thema:&lt;br /&gt;Continuous Integration: Entwicklungsprozesse schrittweise verbessern &lt;br /&gt;&lt;br /&gt;Abstract:&lt;br /&gt;Continuous Integration (CI) ist das Schweizer Taschenmesser, wenn es um die schrittweise Verbesserung von Entwicklungsprozessen geht. Der Vortrag berichtet von Erfahrungen und Herausforderungen bei der Einführung in technologisch und organisatorisch unterschiedlichen Projekten. Die verschiedenen Blickwinkel (Technik, Team, Management) werden ebenso beleuchtet wie die weiterführenden Möglichkeiten, die sich durch die Einführung von CI ergeben.&lt;br /&gt;&lt;br /&gt;Referent:&lt;br /&gt;Dirk Dittert&lt;br /&gt;&lt;br /&gt;Ciao,&lt;br /&gt;Oliver&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3822854446451779329?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3822854446451779329/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3822854446451779329' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3822854446451779329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3822854446451779329'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2011/01/jug-treffen-am-dienstag-15022011-1830.html' title='JUG-Treffen am Dienstag, 15.02.2011, 18:30, Cortal Consors'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5073513505656056972</id><published>2011-01-01T16:02:00.000-08:00</published><updated>2011-01-27T04:01:23.840-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><title type='text'>Direct-call pattern</title><content type='html'>Everybody knows that the best way for objects to collaborate involves  a lot of annotations (see for example Spring and EJB), some XML (Spring  and EJB again), even more XML (Oracle ADF) and even some drag and drop  in an obscure visual editor (ADF again). This is the industry standard,  and it is pretty good, because consultants can make a lot of money, and  consulting companies can bring in even more consultants into projects.&lt;br /&gt;&lt;br /&gt;Anyway, there might be situations where you need something different, so &lt;a href="http://www.davidtanzer.net/"&gt;David Tanzer&lt;/a&gt;  and I have invented the  direct call pattern (in a cocktail bar) a  couple of days ago (BTW, you can use the text of the pattern without  permission, as long as you clearly mention our names - that is Oliver  Szymanski and David Tanzer):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Direct-Call pattern (by Oliver Szymanski and David Tanzer):&lt;/b&gt;&lt;br /&gt;(also known as Collaborateur-With-No-Intermediator pattern)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Introduction:&lt;/b&gt;&lt;br /&gt;2 Objects want to communicate with each other. One is the caller, the other the callee. The callee is fine with that and the caller does everything that is needed before and after the call gratefully on his own.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements:&lt;/b&gt;&lt;br /&gt;2 Objects, sometimes 1 Objects in 2 roles (Caller, Callee)&lt;br /&gt;Nothing else&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;The caller calls the callee directly. No proxy, interceptor, or any other intermediator objects are involved in this call. Really, just one call from one trusted friend to another. Perhaps third party is logging the call, but that is hard to avoid in these times.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pros:&lt;/b&gt;&lt;br /&gt;Fast call&lt;br /&gt;Clean stack traces&lt;br /&gt;Less confusion&lt;br /&gt;What you see is what will happen&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contra:&lt;/b&gt;&lt;br /&gt;Lots of "WTF is the dependency injection" and "how do I find the interceptor" comments&lt;br /&gt;Sucks the non-needed annotation and aspect orientation stuff&lt;br /&gt;People could understand what you have written&lt;br /&gt;Less money with the software support&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Use when:&lt;/b&gt;&lt;br /&gt;No money for application server&lt;br /&gt;Not the time to debug frameworks&lt;br /&gt;Long times of exclusive consulting not longed for&lt;br /&gt;Project will be running for more than a few weeks/month (and you should make the support)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5073513505656056972?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5073513505656056972/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5073513505656056972' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5073513505656056972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5073513505656056972'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/11/direct-call-pattern.html' title='Direct-call pattern'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1530387762853032996</id><published>2010-12-02T02:58:00.000-08:00</published><updated>2010-12-02T02:58:46.274-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Entwurfsmuster'/><category scheme='http://www.blogger.com/atom/ns#' term='pattern'/><title type='text'>Direct-call Entwurfsmuster</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;i&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Wie jeder weiss, schliesst die beste Art und Weise Objekte miteinander kollaborieren zu lassen Annotationen (siehe Spring und EJB für Beispiele), einiges an XML (wieder mit einem Blick auf Spring und EJB), noch mehr XML (siehe Oracle ADF) und dazu Drag und Drop in einem obskuren visuellen Editor (z.B. wieder ADF) ein. Das ist Industriestandard und es ist wunderbar, denn Consultants können so viel Geld machen und Consulting Unternehmen können sogar noch mehr Consultants in Projekte bringen.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Wie auch immer, es mag Situationen geben, wo wir etwas anderes benötigen. Daher haben wir &lt;a href="http://www.davidtanzer.net/"&gt;David Tanzer&lt;/a&gt; und ich das Direct-Call-Pattern entwickelt (in einer Cocktailbar).&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Arial;"&gt;Direct-Call pattern [1]&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;(auch bekannt als &lt;b&gt;Collaborateur-With-No-Intermediator&lt;/b&gt; Entwurfsmuster)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Einführung:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;2 Objekte wollen miteinander kommunizieren. Einer ist der Aufrufer (Caller), der andere der Aufgerufene (Callee). Für den Aufgerufenen ist das völlig in Ordnung und der Aufrufer macht alles erforderliche vor und nach dem Aufruf gerne selbst.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Anforderungen:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;2 Objekte, manchmal 1 Objekt in 2 Rollen (Aufrufer, Aufgerufener)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Sonst nichts&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Lösung:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Der Aufrufer ruft den Aufgerufenen direkt auf. Kein Proxy, Interceptior oder sonst ein Vermittlerobjekt sind im Aufruf involviert. Wirklich, bloss ein Aufruf von einem vertrauenswürdigen Freund zum anderen. Vielleicht loggt eine dritte Partei den Aufruf, aber das lässt sich heutzutage schwer vermeiden.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Pros:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Schneller Aufruf&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Saubere und kurze Stack Traces&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Weniger Verwirrung&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Arial;"&gt;WYSIWYG&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Arial;"&gt;Contra:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Viele "WTF ist hier die Dependency Injection" und "wie finde ich den Interceptor" Kommentare&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Verärgert das nicht benötigte Annotationen- und Aspektorientierungs-Zeug&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Andere können den Code verstehen, den man geschrieben hat&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Weniger Geld mit Software Support&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Nutzen wenn:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Kein Geld für Application Server vorhanden&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Keine Zeit um Frameworks zu debuggen&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Man sich nicht nach langen Zeiten voller exklusivem Consulting sehnt&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="DE" style="font-family: Arial;"&gt;Projekt-Laufzeit länger als einige Wochen/Monate (und man soll sich selbst ohne Aufpreis um den Support kümmern)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1530387762853032996?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1530387762853032996/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1530387762853032996' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1530387762853032996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1530387762853032996'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/12/normal-0-false-false-false.html' title='Direct-call Entwurfsmuster'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4824694131966800625</id><published>2010-11-05T07:48:00.000-07:00</published><updated>2010-11-05T07:48:04.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>JUG-Treffen am Donnerstag, 18.11., 18h auf der DOAG-Konferenz</title><content type='html'>Hi zusammen,&lt;br /&gt;&lt;br /&gt;- Für die Java aktuell – Das iJUG-Magazin werden Artikel gesucht (siehe unter ijug.eu oder Mail an redaktion@ijug.eu)&lt;br /&gt;- Das naechste JUG-Treffen findet statt am Donnerstag, 18.11.2010 ab 18h auf der DOAG-Konferenz statt.&lt;br /&gt;&lt;br /&gt;Der Einlass zum JUG-Treffen ist natuerlich kostenfrei. Es gibt darueber hinaus 25% Preisnachlass durch die JUG fuer die Konferenz (größter Event der Oracle-Community in Zentraleuropa, 16.-18.11.2010 in Nürnberg, bei der die JUGs aktiv die Java Tracks mitgestaltet, siehe auch http://www.doag2010.de).&lt;br /&gt;&lt;br /&gt;Thema: Ich werde einige der (Keynote-) Speaker schnappen, so dass Euch diese in einer lockeren Diskussion zur Verfuegung stehen und jeder vielleicht einen Blitztalk gibt.&lt;br /&gt;&lt;br /&gt;Um formlose Anmeldung unter jug@source-knights.com wird gebeten.&lt;br /&gt;&lt;br /&gt;Details siehe auch http://www.source-knights.com&lt;br /&gt;&lt;br /&gt;Ort:&lt;br /&gt;CCN CongressCenter Nürnberg Ost&lt;br /&gt;Messezentrum&lt;br /&gt;90471 Nürnberg&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4824694131966800625?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4824694131966800625/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4824694131966800625' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4824694131966800625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4824694131966800625'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/11/jug-treffen-am-donnerstag-1811-18h-auf.html' title='JUG-Treffen am Donnerstag, 18.11., 18h auf der DOAG-Konferenz'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-31937730949108896</id><published>2010-08-04T03:18:00.000-07:00</published><updated>2010-08-04T03:18:43.232-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>JUG-Treffen am 16.09.2010, 18:30</title><content type='html'>Ein weiteres spannendes JUG-Treffen findet bei der ErgoDirekt (formerly known as KQV) statt.&lt;br /&gt;Um Anmeldung per Mail (jug@source-knights.com) wird gebeten.&lt;br /&gt;&lt;br /&gt;Thema: Anwendung von Vorgehensmodellen in MDA und MDG&lt;br /&gt;Speaker: Markus Wagner&lt;br /&gt;&lt;br /&gt;Abstract:&lt;br /&gt;Der Zuhörer lernt abstrakt und am Beispiel was man heutzutage für&lt;br /&gt;Enterprise Architekturen generieren kann und wie die Vorgehensmodelle&lt;br /&gt;der Projekte sowie die Fortschrittsmessungen des Programm Managements&lt;br /&gt;darauf abgestimmt werden müssen.&lt;br /&gt;&lt;br /&gt;ERGO Direkt Versicherungen&lt;br /&gt;Software-Architektur &amp;amp; Technologie&lt;br /&gt;Karl-Martell-Straße 60&lt;br /&gt;90344 Nürnberg&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-31937730949108896?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/31937730949108896/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=31937730949108896' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/31937730949108896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/31937730949108896'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/08/jug-treffen-am-16092010.html' title='JUG-Treffen am 16.09.2010, 18:30'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2406460386980062992</id><published>2010-07-29T06:05:00.000-07:00</published><updated>2010-07-29T06:05:24.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>Der Grund warum deutsche Entwickler nach dem WorldCup weltweit gern gesehen sind</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mRBkB83mYIU/TFF7F3udKiI/AAAAAAAAAus/voAKVNjbEt8/s1600/Foto+1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_mRBkB83mYIU/TFF7F3udKiI/AAAAAAAAAus/voAKVNjbEt8/s320/Foto+1.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2406460386980062992?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2406460386980062992/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2406460386980062992' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2406460386980062992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2406460386980062992'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/07/der-grund-warum-deutsche-entwickler.html' title='Der Grund warum deutsche Entwickler nach dem WorldCup weltweit gern gesehen sind'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mRBkB83mYIU/TFF7F3udKiI/AAAAAAAAAus/voAKVNjbEt8/s72-c/Foto+1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1665146654584997647</id><published>2010-07-20T12:55:00.000-07:00</published><updated>2010-07-20T12:55:11.905-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Source Talk Tage 2010</title><content type='html'>Vom 31. August - 2. September 2010 finden die Source Talk Tage in Göttingen statt. Ich darf mit dabei sein und werde einen Workshop über Agile Methoden, einen über Softwareentwicklung für das iPhone/iPad und ein paar Vorträge halten.&lt;br /&gt;&lt;br /&gt;Näheres unter: &lt;a href="http://www.source-talk.de"&gt;www.source-talk.de&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Freue mich Euch dort zu sehen und ins Gespräch zu kommen. Der Source Talk ist eine tolle nicht zu große Konferenz der JUG Deutschland e.V., in Zusammenarbeit mit dem iJUG Interessenverbund der Java User Groups e.v. (&lt;a href="http://www.ijug.eu"&gt;ijug.eu&lt;/a&gt;) die sehr zu empfehlen ist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1665146654584997647?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1665146654584997647/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1665146654584997647' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1665146654584997647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1665146654584997647'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/07/source-talk-tage-2010.html' title='Source Talk Tage 2010'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1944862026000424964</id><published>2010-06-14T05:14:00.000-07:00</published><updated>2010-06-14T05:14:52.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile Methoden - Einführung</title><content type='html'>&lt;a href="http://www.okarina.de/home/source-knights.com/download/Agile_Methoden_(Einfuehrung).pdf"&gt;Anbei die Präsentation&lt;/a&gt; über Agile Methoden in der Software-Entwicklung von David Tanzer und Oliver Szymanski auf dem letzten JUG-Treffen bei der Nürnberger Versicherung.&lt;br /&gt;&lt;br /&gt;Für Rückfragen stehen wir gern zur Verfügung:&lt;br /&gt;&lt;br /&gt;David Tanzer: business@davidtanzer.net&lt;br /&gt;Oliver Szymanski: oliver.szymanski@source-knights.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1944862026000424964?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1944862026000424964/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1944862026000424964' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1944862026000424964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1944862026000424964'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/06/agile-methoden-einfuhrung.html' title='Agile Methoden - Einführung'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7233339425184226787</id><published>2010-06-10T05:31:00.000-07:00</published><updated>2010-06-10T05:31:13.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>[JUG] Treffen bei der Nürnberger Vers., 10.06.2010, Agile Methoden</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Hallo zusammen,&lt;br /&gt;&lt;br /&gt;das nächste&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #a1d2e8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial;"&gt;JUG&lt;/span&gt;-Treffen findet statt: Do. 10.06.2010, 18:30-20h&lt;br /&gt;&lt;br /&gt;Ort:&lt;br /&gt;NÜRNBERGER Versicherungsgruppe (der Haupteingang am großen Turm :))&lt;br /&gt;Ostendstraße 100, 90334 Nürnberg&lt;br /&gt;&lt;br /&gt;Um Anmeldung wird gebeten (Formlose Mail mit Namen an&lt;br /&gt;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #a1d2e8; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial;"&gt;jug&lt;/span&gt;@source-knights.com&lt;/a&gt;). Gern könnt Ihr auch Leute mitbringen.&lt;br /&gt;&lt;br /&gt;Thema: Agile Methoden&lt;br /&gt;Referenten: David Tanzer und Oliver Szymanski&lt;br /&gt;&lt;br /&gt;Welche Probleme lösen Agile Methoden bei der Entwicklung und vor allem&lt;br /&gt;wie? Die agilen Werte, Prinzipien und Praktiken lösen spezielle Probleme&lt;br /&gt;der Softwareentwicklung. Agile Methoden stellen z.B. selbstorganisierte Teams&lt;br /&gt;in den Vordergrund. In diesem Vortrag wird gezeigt, wie sich aus bestimmten&lt;br /&gt;Problemen in Softwareentwicklungsprozessen eine agile Vorgehensweise&lt;br /&gt;ableiten lässt. Das ganze wird praxisnah erläutert und Vor-&lt;br /&gt;und Nachteile geklärt.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7233339425184226787?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7233339425184226787/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7233339425184226787' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7233339425184226787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7233339425184226787'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/06/jug-treffen-bei-der-nurnberger-vers.html' title='[JUG] Treffen bei der Nürnberger Vers., 10.06.2010, Agile Methoden'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8556307551333821534</id><published>2010-05-06T03:23:00.000-07:00</published><updated>2010-05-06T03:23:40.152-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='rapid'/><title type='text'>JUG-Treffen am Mi., 12.05.2010, 18:30-20h</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Das nächste JUG-Treffen findet statt: 12.05.2010, 18:30-20h&lt;br /&gt;&lt;br /&gt;Um Anmeldung wird gebeten (Formlose Mail mit Namen an&amp;nbsp;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;jug@source-knights.com&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Thema: JSXP 1.0 RC&lt;br /&gt;Referenten: David Tanzer und Oliver Szymanski&lt;br /&gt;&lt;br /&gt;Das Open Source Java Webframework geht in die erste Release Version.&lt;br /&gt;Es ermöglicht rapide Entwicklung von Web-Applikationen, glänzt mit&lt;br /&gt;seinem Default-Verhalten, dass einem trotzdem nicht bremst, wenn man&lt;br /&gt;etwas vom Standard abweichendes implementieren muss. Dazu kommt die&lt;br /&gt;starke Compile-Time Sicherheit und der strikten Trennung von Design&lt;br /&gt;und Code ohne neue Sprachen lernen zu müssen.&lt;br /&gt;&lt;br /&gt;Wir geben einen Überblick über das Framework stellen seine Features vor:&lt;br /&gt;Compile-time safety, Separation of code and design, Simple XHTML&lt;br /&gt;design, Component-Orientation, Human readable URLs, Server side state,&lt;br /&gt;View Flows, View alias, Element and View templating,&lt;br /&gt;Internationalization / Resource Management, Scopes, Validation&lt;br /&gt;&lt;br /&gt;Details unter&amp;nbsp;&lt;a href="http://www.jsxp.org/" style="color: #0658b5;" target="_blank"&gt;http://www.jsxp.org&lt;/a&gt;&amp;nbsp;und ein Videotutorial unter&lt;br /&gt;&lt;a href="http://sourceknights.blogspot.com/2010/03/jsxp-video-tutorial.html" style="color: #0658b5;" target="_blank"&gt;http://sourceknights.blogspot.&lt;wbr&gt;&lt;/wbr&gt;com/2010/03/jsxp-video-&lt;wbr&gt;&lt;/wbr&gt;tutorial.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ort: Cortal Consors S. A., Zweigniederlassung Deutschland&lt;br /&gt;Bahnhofstraße 55&lt;br /&gt;90402 Nürnberg&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8556307551333821534?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8556307551333821534/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8556307551333821534' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8556307551333821534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8556307551333821534'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/05/jug-treffen-am-mi-12052010-1830-20h.html' title='JUG-Treffen am Mi., 12.05.2010, 18:30-20h'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7838385367432134491</id><published>2010-04-29T13:29:00.000-07:00</published><updated>2010-04-29T13:29:29.973-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAD'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='rapid'/><title type='text'>Rapid Application Day in Nürnberg erfolgreich beendet</title><content type='html'>Mit 55 Gästen an diesem speziellen Workshop-Tag der JUG, iJUG und DOAG SIG Java die allesamt zufrieden heimgekehrt sind, war der Tag ein schönes interessantes Erlebnis für alle. Und hoffentlich lehrreich ;)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://nikonizer.yfrog.com/Himg231/scaled.php?tn=0&amp;amp;server=231&amp;amp;filename=13cq.jpg&amp;amp;xsize=640&amp;amp;ysize=640" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://nikonizer.yfrog.com/Himg231/scaled.php?tn=0&amp;amp;server=231&amp;amp;filename=13cq.jpg&amp;amp;xsize=640&amp;amp;ysize=640" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7838385367432134491?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7838385367432134491/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7838385367432134491' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7838385367432134491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7838385367432134491'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/04/rapid-application-day-in-nurnberg.html' title='Rapid Application Day in Nürnberg erfolgreich beendet'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3646177666263506675</id><published>2010-03-25T14:15:00.000-07:00</published><updated>2010-03-25T14:19:03.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSXP'/><title type='text'>JSXP Video Tutorial</title><content type='html'>&lt;span class="Apple-style-span" style="color: #112233; font-family: verdana; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="280" data="http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="flashvars" value='config={"plugins":{"pseudo":{"url":"flowplayer.pseudostreaming-3.1.3.swf"},"controls":{"backgroundColor":"#000000","backgroundGradient":"low"}},"clip":{"provider":"pseudo","url":"http://jsxp.org/downloads/JSXP Newsletter Tutorial Web.m4v"},"playlist":[{"provider":"pseudo","url":"http://jsxp.org/downloads/JSXP Newsletter Tutorial Web.m4v"}]}' /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3646177666263506675?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3646177666263506675/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3646177666263506675' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3646177666263506675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3646177666263506675'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/03/jsxp-video-tutorial.html' title='JSXP Video Tutorial'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4815119909992616727</id><published>2010-03-22T10:35:00.000-07:00</published><updated>2010-03-25T13:36:11.796-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='app'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone app ipod touch'/><title type='text'>Cartoonizer iPhone App</title><content type='html'>&lt;a href="http://itunes.apple.com/de/app/nacirons-cartoonizer-live/id363525720?mt=8"&gt;http://itunes.apple.com/de/app/nacirons-cartoonizer-live/id363525720?mt=8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;English: (deutsch s.u.)&lt;br /&gt;&lt;br /&gt;Cartoonizer is an iPhone App, that shows the real world seen via the iPhone camera as a live cartoon/comic style video stream. You can take photos and sent them to Facebook, via email or just save them.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_mRBkB83mYIU/S6erdbPiShI/AAAAAAAAAtY/yNMAglI9tg4/s1600-h/Screenshot+2010.03.22+18.02.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_mRBkB83mYIU/S6erdbPiShI/AAAAAAAAAtY/yNMAglI9tg4/s320/Screenshot+2010.03.22+18.02.26.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can add setting profiles to use your different cartoon/comic styles (i.e. black&amp;amp;white, change contrast, brightness, ...)&lt;br /&gt;&lt;br /&gt;Look live at the world in a completely new way...&lt;br /&gt;&lt;br /&gt;Deutsch:&lt;br /&gt;Mit Cartoonizer kann man sich die Welt durch die iPhone Kamera als live Cartoon-Stream ansehen. Bilder lassen sich knipsen und an Facebook oder via eMail senden oder einfach speichern.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_mRBkB83mYIU/S6er48X4IPI/AAAAAAAAAtg/KDkxGR1Z-Hk/s1600-h/comic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_mRBkB83mYIU/S6er48X4IPI/AAAAAAAAAtg/KDkxGR1Z-Hk/s320/comic.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Über Einstellungen kann man unterschiedliche Cartoon/Comic Styles konfigurieren (z.B. Schwarz/Weiss, Kontrast und Lichtanpassungen, ...)&lt;br /&gt;&lt;br /&gt;Mit Cartoonizer lässt sich die Welt live auf völlig neue Weise betrachten.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4815119909992616727?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4815119909992616727/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4815119909992616727' title='7 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4815119909992616727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4815119909992616727'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/03/cartoonizer-iphone-app.html' title='Cartoonizer iPhone App'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_mRBkB83mYIU/S6erdbPiShI/AAAAAAAAAtY/yNMAglI9tg4/s72-c/Screenshot+2010.03.22+18.02.26.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-43256655093579491</id><published>2010-03-20T14:37:00.000-07:00</published><updated>2010-03-27T04:51:16.732-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='app'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><title type='text'>AuraMeter</title><content type='html'>&lt;a href="http://itunes.apple.com/de/app/aurameter/id364149666?mt=8"&gt;http://itunes.apple.com/de/app/aurameter/id364149666?mt=8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mRBkB83mYIU/S6qF7XDlezI/AAAAAAAAAto/Q6mw30Geaak/s1600/Screenshot+2010.03.24+22.22.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_mRBkB83mYIU/S6qF7XDlezI/AAAAAAAAAto/Q6mw30Geaak/s320/Screenshot+2010.03.24+22.22.49.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap;"&gt;English description:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap;"&gt;(App is in english, german, french, spanish, chinese, italian) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap;"&gt;AuraMeter measures the current live camera stream and gives a description of the aura. You will know directly how a room, a picture or anything else will influence a beholder. If you activate the meter, you will get a description for the current point of view and for the average aura. This helps for example to get a overall impression of a room. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap;"&gt;Deutsch:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre-wrap;"&gt;AuraMeter misst live das aktuelle Bild, das die Kamera empfängt und beschreibt die vorhandene Aura. Erkennen Sie auf einen Blick, wie ein Zimmer, ein Bild, usw. auf einen Betrachter wirkt. Bei Aktivierung der Messung können sie herumschwenken und bekommen einen live Informationen über die durchschnittlich gemessene Aura sowie die aktuelle. Dies hilft z.B. dabei den Gesamteindruck eines Raumes zu messen.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-43256655093579491?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/43256655093579491/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=43256655093579491' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/43256655093579491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/43256655093579491'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/03/aurameter.html' title='AuraMeter'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_mRBkB83mYIU/S6qF7XDlezI/AAAAAAAAAto/Q6mw30Geaak/s72-c/Screenshot+2010.03.24+22.22.49.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-809097588749274753</id><published>2010-03-11T07:22:00.000-08:00</published><updated>2010-03-11T08:01:59.710-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='nürnberg'/><category scheme='http://www.blogger.com/atom/ns#' term='rapid'/><title type='text'>Rapid Development Day, 29.04.2010, Nürnberg</title><content type='html'>Am Do., 29.04.2010 wird es den ersten Ganz-Tages-Event der JUG&amp;nbsp;Erlangen/Nürnberg geben. Gemeinsam mit der DOAG SIG Java widmen wir&amp;nbsp;uns einen ganzen Tag dem Thema "&lt;b&gt;Rapid Application Development mit&amp;nbsp;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;Java&lt;/b&gt;".&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Die Plätze sind begrenzt, daher nicht zu lange warten, falls Ihr Euch anmelden möchtet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ort: Holiday Inn, Engelhardsgasse 12, 90402 Nürnberg&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Termin: 29.04.2010, 9h-17:45h&amp;nbsp;&lt;/div&gt;Preis: 100€ für JUG-ERN Mitglieder&lt;br /&gt;&lt;br /&gt;Zur Buchung:&amp;nbsp;&lt;a href="http://mydoag.doag.org/termine/anmeldung.php?tid=347204"&gt;Anmeldung&lt;/a&gt;&lt;br /&gt;(Die Anmeldung erfolgt über die DOAG, den Mitgliedspreis wählen und bei Mitgliedschaftsstatus JUG-ERN angeben. Wir gleichen das mit unserer Mitgliederliste (Xing, Newsletter) ab.)&lt;br /&gt;&lt;br /&gt;Aktuelle Planung&lt;br /&gt;Auf der Suche nach dem heiligen Gral: Rapid Web Application&lt;br /&gt;Development mit Grails und Oracle, Robert Szilinski, esenti&lt;br /&gt;Datengetriebene Applikationen, Hans Niedermeier&lt;br /&gt;ADF Intro und ADF &amp;amp; SOA, Bertold Meyer, Oracle&lt;br /&gt;XDev Intro und Projektbericht, Stiegler, xdev&lt;br /&gt;JavaFX und RAD, Peter Doschkinow, Sun&lt;br /&gt;RAD mit Eclipse und RCP, NN, T&amp;amp;P&lt;br /&gt;&lt;br /&gt;Gern könnt Ihr den Tag im Kalender markieren ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-809097588749274753?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/809097588749274753/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=809097588749274753' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/809097588749274753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/809097588749274753'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/03/rapid-development-day-29042010-nurnberg.html' title='Rapid Development Day, 29.04.2010, Nürnberg'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7635153099723180797</id><published>2010-02-22T02:31:00.001-08:00</published><updated>2010-03-15T04:23:31.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>[JUG]: Treffen am Do., 11.03.2010 bei der KQV alias ERGO Direkt</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;Das JUG-Treffen fand statt am Do., 11.03.2010 um 18:30-20h. Mit über 50 Teilnehmern war der interative Vortrag über agile und lean Praktiken ein voller Erfolg ;)&lt;br /&gt;&lt;br /&gt;Ort:&lt;br /&gt;KarstadtQuelle Versicherungen alias ERGO Direkt&lt;br /&gt;Karl-Martell-Straße 60&lt;br /&gt;90431 Nürnberg&lt;br /&gt;&lt;br /&gt;Vortrag:&amp;nbsp;"Interaktiver Workshop: Auf Diät – Wie Sie Ihre Entwicklung verschlanken&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mRBkB83mYIU/S54YJJ7DpcI/AAAAAAAAAtQ/AwiPZp_Xyus/s1600-h/IMG_0456.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_mRBkB83mYIU/S54YJJ7DpcI/AAAAAAAAAtQ/AwiPZp_Xyus/s320/IMG_0456.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;Setzen Sie Ihre Entwicklung auf Diät! Im Rahmen eines Spiels werden Sie eine&lt;br /&gt;Produktionslinie simulieren. Erleben Sie wie anhand der fünf Schritte der&lt;br /&gt;„Theory of Constraints“ der Durchsatz Ihrer Entwicklung erhöht und&lt;br /&gt;Verschwendung verringert werden kann. Lernen Sie spielerisch agile und lean&lt;br /&gt;Praktiken kennen und gewinnen Sie Anregungen, auch Ihre eigene Entwicklung&lt;br /&gt;zu verschlanken&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.xing.com/profile/Pierluigi_Pugliese"&gt; Pierluigi Pugliese connexxo GmbH&lt;/a&gt;&amp;nbsp;&amp;amp; &lt;a href="https://www.xing.com/profile/Martin_Heider"&gt;Martin Heider infomar&amp;nbsp;software&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;div&gt;&lt;br /&gt;Zu der näheren Beschreibung geht es &lt;a href="http://martinheider.wordpress.com/2010/03/13/jug-nurnberg-workshop-auf-diat/"&gt;hier&lt;/a&gt;&amp;nbsp;und &lt;a href="http://blog.connexxo.com/2010/03/finding-bottlenecks-in-projects.html"&gt;hier&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Die Handouts befinden sich &lt;a href="http://go2.wordpress.com/?id=725X1342&amp;amp;site=martinheider.wordpress.com&amp;amp;url=http%3A%2F%2Fwww.agilecoach.net%2Fhtml%2FBottleneck%2520-%2520Appendix%25202%2520-%2520Handout.pdf"&gt;hier&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7635153099723180797?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7635153099723180797/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7635153099723180797' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7635153099723180797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7635153099723180797'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/02/jug-treffen-am-do-11032010-bei-der-kqv.html' title='[JUG]: Treffen am Do., 11.03.2010 bei der KQV alias ERGO Direkt'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mRBkB83mYIU/S54YJJ7DpcI/AAAAAAAAAtQ/AwiPZp_Xyus/s72-c/IMG_0456.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5990154576934052296</id><published>2010-02-15T05:51:00.000-08:00</published><updated>2010-02-20T05:08:34.993-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebSlideShow'/><title type='text'>WebSlideShow</title><content type='html'>WebSlideShow is an iPhone application to show a slide show based on web content.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_mRBkB83mYIU/S3_TZZvOo6I/AAAAAAAAAsY/eH4_IpMP-_s/s1600-h/Screenshot+2010.02.20+13.17.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_mRBkB83mYIU/S3_TZZvOo6I/AAAAAAAAAsY/eH4_IpMP-_s/s200/Screenshot+2010.02.20+13.17.49.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Simple solution:&lt;br /&gt;With the default configuration you can enter URLs (internet addresses like http://www.source-knights.com) &amp;nbsp;and the slide show will iterate about the web pages and show them. Thats all to use WebSlideShow. The "refresh"-slider defines the time interval to update the data for the slide show in the background. The "ticker"-slider defines the time interval an item is shown in the slide show.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mRBkB83mYIU/S3_TeFyudsI/AAAAAAAAAsg/hQGbcdmpfDM/s1600-h/Screenshot+2010.02.20+13.17.59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_mRBkB83mYIU/S3_TeFyudsI/AAAAAAAAAsg/hQGbcdmpfDM/s200/Screenshot+2010.02.20+13.17.59.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;More complex solution for the experienced users:&lt;br /&gt;But you can do a lot more with WebSlideShow. With small but very powerful configuration possibilities you can enter keywords instead of URLs, use any web site as a service to retrieve information about the keys and define how the resulting information are shown in the slide show (for example you can format them to any HTML).&lt;br /&gt;&lt;br /&gt;To configure WebSlideShow Regular Expression are used to define, which information you want from a result. And HTML is used as format to configure what will be shown in the slide show.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mRBkB83mYIU/S3_TnB7dJqI/AAAAAAAAAso/whcI8sjJYlQ/s1600-h/Screenshot+2010.02.20+13.10.34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_mRBkB83mYIU/S3_TnB7dJqI/AAAAAAAAAso/whcI8sjJYlQ/s200/Screenshot+2010.02.20+13.10.34.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here is an example how to configure WebSlideShow to get stock information from yahoo finance and to show the data and a chart in the slide show. If you have any problems with the configuration just press the "reset to defaults"-button&lt;br /&gt;&lt;br /&gt;1. query url&lt;br /&gt;&lt;br /&gt;Query url defines how your search string by adding new items will be used. Per default the query url is "%@". This is a placeholder for anything you enter in the search field. The default means your search string is interpreted directly as an url. To configure WebSlideShow to enter quotes instead of url for the Yahoo-Finance-Service you can enter the finance url with the placeholder in it:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #3000ff; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;http://download.finance.yahoo.com/d/quotes.csv?s=%@&amp;amp;f=nsl1d1t1c1ohgv&amp;amp;e=.csv&lt;/div&gt;&lt;br /&gt;This means the search will not use you input directly as url. Instead it will use the yahoo url by replacing the placeholder "%@" with your input. This request to the Yahoo finance service will result in a csv-data-file with the stock quotes and more information. How WebSlideShow will interpret the result is shown later by configuring the content.&lt;br /&gt;&lt;br /&gt;If you want to use the search with different keywords you have to enter them in the search UI separated by a space. And you have to configure the query url as "multi request". That means the placeholder will be replace by all of the keywords you enter separated by a space. How they will be separated in the query url you have to define in the form that pop up if you activate "multi request". For the Yahoo finance service it is "+" as url separator and "\n" (that means new line and is the correct configuration for csv-data-files) as result separator.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_mRBkB83mYIU/S3_T2n4dUsI/AAAAAAAAAs4/iR7YEzFNYVY/s1600-h/Screenshot+2010.02.20+13.09.39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_mRBkB83mYIU/S3_T2n4dUsI/AAAAAAAAAs4/iR7YEzFNYVY/s200/Screenshot+2010.02.20+13.09.39.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. data url&lt;br /&gt;&lt;br /&gt;WebSlideShow&amp;nbsp;distinguishes between query url for searches and data url for the real data used by the slide show. Per default the two are the same ("%@"). &amp;nbsp;This is also true for the Yahoo-finance-service. So we enter the following as data url:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="color: #3000ff; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;http://download.finance.yahoo.com/d/quotes.csv?s=%@&amp;amp;f=nsl1d1t1c1ohgv&amp;amp;e=.csv&lt;/div&gt;&lt;br /&gt;You need different urls if you want to use a service to get a result list and a different service to get concrete data for the items of the result list (for example you use google as search query url and the resulting web addresses as data urls).&lt;br /&gt;&lt;br /&gt;To use the yahoo finance service efficiently we activate "multi data" and enter the same configuration as in "multi request".&amp;nbsp;"+" as url separator and "\n" (that means new line and is the correct configuration for csv-data-files) as result separator. This helps the application to fetch all data for the result in a single call of the finance api. This saves a lot of time instead of calling the service for each item apart.&lt;br /&gt;&lt;br /&gt;3. content configuration&lt;br /&gt;&lt;br /&gt;Configuring the content of search query and data results will use regular expressions and HTML with placeholders.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mRBkB83mYIU/S3_TtGNWgwI/AAAAAAAAAsw/YLsQGccPX0c/s1600-h/Screenshot+2010.02.20+13.13.51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_mRBkB83mYIU/S3_TtGNWgwI/AAAAAAAAAsw/YLsQGccPX0c/s200/Screenshot+2010.02.20+13.13.51.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;3.1 name and description&lt;br /&gt;&lt;br /&gt;First you have to define what WebSlideShow can use as name and description of the data and search query result.&lt;br /&gt;&lt;br /&gt;This is done by regular expressions. Per default anything of the result is used as name and description. You can define this by giving empty regular expression and define 0 as regular expression group.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;name=""; // empty means use whole input instead of regex&lt;br /&gt;name.group=0;&lt;br /&gt;description="()"; // empty means use&amp;nbsp;whole&amp;nbsp;input&amp;nbsp;instead of regex&lt;br /&gt;description.group=1;&lt;br /&gt;&lt;br /&gt;name.query=""; // empty means use&amp;nbsp;whole&amp;nbsp;input&amp;nbsp;instead of regex&lt;br /&gt;name.query.group=0;&lt;br /&gt;description.query="()"; // empty means use&amp;nbsp;whole&amp;nbsp;input&amp;nbsp;instead of regex&lt;br /&gt;description.query.group=1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the yahoo finance service we can enter regular expressions that describe the content of the search query and data result and define which regular expression group conform to name and description:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;name="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;name.group=1;&lt;br /&gt;description="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;/span&gt;description.group=2;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;name.query="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;name.query.group=1;&lt;br /&gt;description.query="\"(.*?)\",(.*)";&lt;br /&gt;description.query.group=2;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The above configuration describe the content of the Yahoo-finance-service csv data file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3.2 slide show content&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The last step is to configure what you want to see in the slide show. Per default it is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;content="";&amp;nbsp;&amp;nbsp;// empty means use whole input instead of regex&amp;nbsp;&lt;/div&gt;&lt;div&gt;content.group=0;&lt;/div&gt;&lt;div&gt;content.format="%@";&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The ".format"-configuration is new. It allows you to format the content by adding anything before and after the placeholder. In the default configuration nothing is added. So the whole web page for the entered address is used in the default configuration. For the Yahoo-finance-service we will give a more complex configuration to define a custom view. The configuration allows to define the result in a hierarchical way. Instead of just setting "content" to a regular expression we will define content as a block of custom values by writing "content = { propertyname = ... }. Here is the full example for a custom view of the Yahoo-finance-service:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;content = {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;title="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;title.group=1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;title.format="&amp;lt;div style='height:70px;'&amp;gt;&amp;lt;center style='font: normal xx-large Helvetica; color: #99CCFF;'&amp;gt;%@&amp;lt;/center&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;subtitle="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;subtitle.group=2;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;subtitle.format="&amp;lt;center style='font: italic x-large Helvetica; color: #999999;'&amp;gt;&amp;lt;a href='http://finance.yahoo.com/q?s=%@'&amp;gt;%@&amp;lt;/center&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;lastTrade="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;lastTrade.group=3;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;lastTrade.format="&amp;lt;center&amp;gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Last trade: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;date="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;date.group=4;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;date.format="&amp;lt;td&amp;gt;Datum: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;change="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;change.group=6;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;change.format="&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Change: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;time="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;time.group=5;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;time.format="&amp;lt;td&amp;gt;Zeit: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;open="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;open.group=7;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;open.format="&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Open: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;min="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;min.group=9;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;min.format="&amp;lt;td&amp;gt;Min: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;volume="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;volume.group=10;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;volume.format="&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Volume: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;max="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;max.group=8;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;max.format="&amp;lt;td&amp;gt;Max: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;%@&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/center&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;image="\"(.*?)\",\"(.*?)\",(.*?),\"(.*?)\",\"(.*?)\",(.*?),(.*?),(.*?),(.*?),(.*)";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;image.group=2;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;image.format="&amp;lt;br/&amp;gt;&amp;lt;center&amp;gt;&amp;lt;img src='http://ichart.yahoo.com/t?s=%@'/&amp;gt;&amp;lt;/center&amp;gt;";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;content.keys = ( title, subtitle, lastTrade, date, change, time, open, min, volume, max, image );&lt;br /&gt;&lt;br /&gt;With "content.keys" we define which properties and in what order add up to the result view. The result view will be HTML content.&lt;br /&gt;&lt;br /&gt;The complete example will enable a slide show about stock quotes from the Yahoo finance service. It also integrates charts. You can copy and paste this configuration to the WebSlideShow application.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mRBkB83mYIU/S3_VdQtAr1I/AAAAAAAAAtA/5F9GCl58980/s1600-h/Screenshot+2010.02.20+13.28.09.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_mRBkB83mYIU/S3_VdQtAr1I/AAAAAAAAAtA/5F9GCl58980/s200/Screenshot+2010.02.20+13.28.09.png" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5990154576934052296?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5990154576934052296/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5990154576934052296' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5990154576934052296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5990154576934052296'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2010/02/webslideshow.html' title='WebSlideShow'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_mRBkB83mYIU/S3_TZZvOo6I/AAAAAAAAAsY/eH4_IpMP-_s/s72-c/Screenshot+2010.02.20+13.17.49.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2203304314116080052</id><published>2009-12-01T10:45:00.000-08:00</published><updated>2009-12-01T17:12:38.702-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unittest'/><category scheme='http://www.blogger.com/atom/ns#' term='openejb'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>[JUG] Treffen 10.12.2009 bei der KQV Nürnberg, 3 Themen</title><content type='html'>&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Hallo zusammen,&lt;br /&gt;&lt;br /&gt;das nächste JUG-Treffen findet am 10.12.2009, 18:30-20h statt.&lt;br /&gt;&lt;br /&gt;Ort:&lt;br /&gt;KarstadtQuelle Versicherungen&lt;br /&gt;Karl-Martell-Straße 60&lt;br /&gt;90431 Nürnberg&lt;br /&gt;&lt;br /&gt;Diesmal gibt es drei Vorträge:&lt;br /&gt;&lt;br /&gt;Thema: GWT 2.0 &amp;nbsp;(ca. 15 Minuten)&lt;br /&gt;Referent: Alexander Willhaug&lt;br /&gt;&lt;br /&gt;Thema: Unittest mit OpenEJB (ca. 30 Minuten)&lt;br /&gt;Referent: Thorsten Wärte&lt;br /&gt;&lt;br /&gt;Thema: Java 7 (Restliche Zeit :))&lt;br /&gt;Referent: Oliver Szymanski&lt;br /&gt;&lt;br /&gt;Anmeldung ist bis Dienstag, 2009-12-08 12:00 Uhr erforderlich. Bitte&lt;br /&gt;dazu eine eMail an&amp;nbsp;&lt;a href="mailto:oliver.szymanski@source-knights.com" style="color: #0658b5;"&gt;oliver.szymanski@source-&lt;wbr&gt;&lt;/wbr&gt;knights.com&lt;/a&gt;&amp;nbsp;senden (oder in&lt;br /&gt;der Xing-Gruppe anmelden).&lt;br /&gt;&lt;br /&gt;NEU: Ich habe auch eine Google-Wave zur JUG angelegt, wer dazu zum&lt;br /&gt;Mittesten eingeladen werden will darf mich gern kontaktieren.&lt;br /&gt;&lt;br /&gt;Beste Grüße,&lt;br /&gt;Oliver&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Um sich am Newsletter anzumelden bitte eine eMail mit dem Betreff&lt;br /&gt;"subscribe JUG" an&amp;nbsp;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;jug@source-knights.com&lt;/a&gt;&amp;nbsp;senden.&lt;br /&gt;Um sich am Newsletter abzumelden bitte eine eMail mit dem Betreff&lt;br /&gt;"unsubscribe JUG" an&amp;nbsp;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;jug@source-knights.com&lt;/a&gt;&amp;nbsp;senden.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2203304314116080052?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2203304314116080052/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2203304314116080052' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2203304314116080052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2203304314116080052'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/12/jug-treffen-10122009-bei-der-kqv.html' title='[JUG] Treffen 10.12.2009 bei der KQV Nürnberg, 3 Themen'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3426818173776398544</id><published>2009-11-18T09:00:00.000-08:00</published><updated>2009-11-18T09:00:04.768-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone app ipod touch'/><title type='text'>FinalCountdown iPhone-App</title><content type='html'>FinalCountdown is the new iPhone app for watching the countdown to a chosen date/time in all timezones.&lt;br /&gt;&lt;br /&gt;E.g. with FinalCountdown you can follow the New Year's Eve all over the world in different time zone. Or you can lookup where in the world your birthday can be celebrated first.&lt;br /&gt;&lt;br /&gt;Very useful also if you want to launch something worldwide at a special date so you can watch when the next timezone is ready for your launch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3426818173776398544?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3426818173776398544/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3426818173776398544' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3426818173776398544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3426818173776398544'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/11/finalcountdown-iphone-app.html' title='FinalCountdown iPhone-App'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5564954083815062054</id><published>2009-11-03T07:24:00.000-08:00</published><updated>2010-03-25T13:29:15.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSXP'/><title type='text'>JSXP (Just Simple eXtensible Pages)</title><content type='html'>&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP: Web-Applikationen entwickeln – wie es sein sollte&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP steht für Just Simple eXtensible Pages[1] und ist ein frisch veröffentlichtes Open Source Framework für Web-Applikationen in Java. Unter [2] findet&amp;nbsp; man einen Screencast, der zeigt, wie man eine Newsletter-Web-Applikationen mit JSXP implementiert.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;b&gt;Warum ein neues Web-Framework? &lt;/b&gt;Als David Tanzer und ich im Februar dieses Jahres bei den JSFDays[3] in Wien waren, haben wir mit Entwicklern der JSF-Technologie darüber gesprochen, dass JSF zu kompliziert ist. Immer noch, denn verbessert hat sich die Situation selbst mit JSF2 nicht.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Leider stieß diese Ansicht, die ich in unserer Branche bei den Entwicklern, die mit JSF oder anderen Technologien arbeiten (müssen), bei den Erschaffern der bestehenden Technologien nicht auf Gehör. Auf der Fahrt zurück diskutierten David und ich fleissig. Wir waren uns einig, dass Apache Wicket einige gute Ansätze hat, aber das es unserer Meinung nach immer noch nicht die Probleme bei der Web-Frontend-Entwicklung löst.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Wir wollten zum einen Compile-Time-Safety und eine striktere Trennung von Design und Code, als man dies bislang im Java-Bereich gesehen hat. Die Diskussion endete damit, dass es schön wäre einen Proof-Of-Concept zu haben. In der folgenden Nacht schrieb ich die erste Version des JSXP-Frameworks, von der heute in dieser Form wohl keine Code-Zeile mehr übrig ist. Aber der Weg war geebnet. Nach dem Feedback zur ersten Live-Demo von JSXP auf der Herbstcampus[4] und weiteren sehr positiven Kritiken aller, denen wir JSXP vorstellten, ist das Framework längst nicht mehr nur ein Proof-Of-Concepts. Es ist eine ernst zu nehmende Möglichkeit Webauftritte in Java zu realisieren.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Bleibt die Eingangs erwähnte Frage: &lt;b&gt;Warum ein neues Web-Framework?&lt;/b&gt; Diese Frage musste ich mir in einer frühen Phase von JSXP von einem Entwickler der JSF-Technologie stellen lassen, als ich ihm unser Konzept vorstellte&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;. Er fügte hinzu, dass es unsinnig und verlorene Zeit sei etwas zu entwickeln, was es schon gibt. Meine Antwort darauf ist folgende: es ist bezeichnend, wenn Menschen etwas neu entwickeln müssen, obwohl es bereits einen Ansatz gibt.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;b&gt;Was kann und bietet JSXP?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP hat als realisierte Ziele von Anfang an Einfachheit und Sicherheit in der Anwendung. Zwar ist es äußert flexibel und bietet alle Features, die man aus Technologien wie JSF kennt, aber bei der Gestaltung des JSXP-Frameworks wurde die API stets auf Nutzerfreundlichkeit optimiert.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Zentrale Bestandteile einer JSXP-Webanwendung sind &lt;b&gt;Design-Views, View-Controller, Applikationsklasse und Context&lt;/b&gt;. Design-Views ist dabei die Bezeichnung für das Design (z.B. XHTML-Dateien), View-Controller sind Java-Klassen die den Code hinter dem Design implementieren. Jedes JSXP-Webprojekt hat eine Applikationsklasse, die grundlegende Einstellungen und Algorithmen für die Applikation vorgibt. Der Context ist ein überall im JSXP-Projekt verfügbares Objekt, in dem man u.a. Informationen über den aktuellen Requests, diverse Einstellungen, Benutzerinformationen findet.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP-Webanwendungen sind &lt;b&gt;Design-Driven&lt;/b&gt;. Designer liefern das Design. Per Default in Form von XHTML-Dateien, aber dank des realisierten Factory-Patterns ist es möglich, auch jede andere Art von Eingabe (z.B. aus der DB) und Form des Design (z.B. XAML von Silverlight, oder jedes beliebige Format) zu nutzen, wenn man die Schnittstellen dann entsprechend implementiert. Im Folgenden beschränken wir uns bei den Beispielen auf das vom Standard direkt unterstützte Design per XHTML.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Das gelieferte Design wird bei JSXP-Webanwendungen nicht mit Code verunstaltet, die XHTML-Dateien bleiben im Browser u.a. zum Preview nutzbar. JSXP hält sich dabei an die strikte Trennung von Design und Code. Dies ermöglicht, Design in den Softwareentwicklungsprozess erfolgreich zu integrieren. Ein Designer kann das &lt;b&gt;Design iterativ anpassen&lt;/b&gt;, es entstehen keine Inkonsistenzen. Der Designer kann direkten Zugriff auf die Versionsverwaltung bekommen und Design dort einchecken und verändern.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Ein per Shell aufrufbarer Generator&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;nbsp;generiert zu den &lt;b&gt;Design-Views&lt;/b&gt; (im Standard eine XHTML-Datei) einen &lt;b&gt;View-Controller&lt;/b&gt;. Die generierte Klasse selbst wird nie editiert. Man kann von ihr ableiten und die Subklasse anpassen. Dies verhindert Probleme im iterativen Prozess bei erneuter Generierung. Die generierten Klassen enthalten spezielle get- und set-Methoden für den Zugriff auf das Design und ermöglichen Templating und das ersetzen/einfügen von Texten und Elementen. Dank der generierten Methoden/Eigenschaften kann bereits zur Compile-Zeit festgestellt werden, ob sich eine Design derart verändert hat, dass der selbst implementierte Code nachgebessert werden muss. Auf dieses &lt;b&gt;Compile-Time-Safety&lt;/b&gt; Feature wird man nicht mehr verzichten wollen, wenn man nach einem Tippfehler im Design direkt auf den Fehler hingewiesen wird, und dies nicht erst zur Laufzeit „um die Ohren gehauen“ bekommt. Auch wenn im Code benötigte Elemente umbenannt oder gelöscht werden, bekommt man sofortiges Feedback.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Das Paar von Design-View und View-Controller bildet in JSXP eine &lt;b&gt;View-Komponente&lt;/b&gt;. Im Normalfall gehört genau eine View-Controller-Klasse zu einem Design-View. Diese Komponenten können wiederverwendet werden und man kann aus den Komponenten andere Views zusammen bauen. Innerhalb eines View-Controllers kann man andere Komponenten importieren und nutzen. JSXP ist damit &lt;b&gt;Komponenten-basiert&lt;/b&gt;. Das Definieren und der Zugriff auf Komponenten geschieht dabei im Java-Code, nicht im Design.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Zur Laufzeit löst das JSXP-Framework eine URL auf, um benötigte View-Controller zu finden (oder Resource-Dateien direkt auszuliefern). Die Applikationsklasse wird genutzt um zu prüfen, ob evtl. Weiterleitungen notwendig sind oder Sicherheitseinschränkungen vorliegen (Login notwendig, etc.). Beim Zugriff auf einen JSXP-View wird der zugehörige View-Controller initialisiert. Dieser unterliegt dann einem bestimmten Lebenszyklus auf dessen Phasen im View-Controller selbst durch Überschreiben von Methoden oder von beliebiger Stelle per Registrierung von Phase-Listenern reagiert werden kann. Ein Beispielablauf der Phasen ist: Vorbereiten, Initialisierung, Eingabe-Parameter setzen, Validierung der Eingabe-Parameter, Ausführung, Templating, Resourcen-Handling, Variablenersetzung, Rendering,&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Wie funktioniert der Zugriff auf Design-Elemente bei Beachtung von &lt;b&gt;Separierung von Code und Design&lt;/b&gt;? Gerade bei diesem Feature von JSXP wird man seine Vorteile in Bezug auf Apache Wicket spüren, denn JSXP verfolgt das Prinzip der Separierung weit strikter. In den XHTML-Dateien muss man Elementen lediglich eine &lt;b&gt;JSXP-ID &lt;/b&gt;geben und entsprechende Methoden/Eigenschaften werden generiert. JSXP-IDs sind im XHTML Tag-Attribute aus einem bestimmten Namensraum. JSXP kennt dabei keine HTML-Tags, es kennt lediglich &lt;b&gt;View-Elemente&lt;/b&gt;. Es weiss nicht, ob es sich z.B. dahinter um eine Liste handelt oder um strukturierte DIV-Blöcke. Es muss auch die Verschachtelung von Elementen nicht kennen, da die IDs eindeutig sind. Dies führt dazu, dass man folgenden Design-Ausschnitt ändern kann, ohne das JSXP falsch reagieren wird:&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: per JSXP-ID referenzierbare Design-Elemente im Design-View&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.w3.org/1999/xhtml&lt;/span&gt;&lt;/a&gt;" xmlns:jsxp="&lt;a href="http://www.jsxp.org/spec/1.0"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.jsxp.org/spec/1.0&lt;/span&gt;&lt;/a&gt;"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;div jsxp:id="Name"&amp;gt;Name&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;p jsxp:id="Address"&amp;gt;Adresse&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Hier werden am entsprechenden View-Controller „getElementName“ und „getElementAddress“ als Methoden generiert, die jeweils generierte Elemente von „Name“ und „Address“ typsicher zurückgeben (man beachte, dass spezielle Elemente für diese IDs als Interfaces generiert werden, aber dass es DIV-Elemente sind braucht JSXP nicht zu wissen). Und am Element „Name“ wird eine Methode „getElementAddress“ generiert.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Per Code kann man wie folgt auf die Elemente zugreifen:&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Name nameElement = getElementName();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Address addressElement = getElementAddress();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Element sameAddressElement = getElementName().getElementAddress();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Name und Address sind Implementierungen des allgemeinen Interfaces „Element“. Im Beispiel sind „addressElement“ und „sameAddressElement“ identisch. Je nachdem ob man Zeile 2 oder Zeile 3 aus dem Beispiel benutzt, ist folgende Designänderung kompatibel oder erzeugt einen Compile-Zeit-Fehler:&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Änderung der Verschachtelung im Design&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;div jsxp:id="Address"&amp;gt;Adresse&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;p jsxp:id="Name"&amp;gt;Name&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Nur in Fällen, wo eine Verschachtelung im Design wichtig für den Code ist, benutzt man in JSXP also den verschachtelten Zugriff.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Mit den JSXP-IDs kann man Elemente aus dem Design-View referenzieren. Man kann auch &lt;b&gt;Variablen&lt;/b&gt; im Design nutzen, um komfortabel Inhalte auszutauschen. Dazu benutzt man die &lt;i&gt;$(Variablenname)&lt;/i&gt;-Notation an beliebiger Stelle im Design. Variablen werden dabei stets zu dem nächsthöheren per JSXP-ID angegebenen Element generiert.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Variablen&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;div jsxp:id="Name"&amp;gt;$(firstName)$(lastName)&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;p jsxp:id="Address"&amp;gt;$(street)&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/div&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;In dem Variablen-Beispiel gibt es generierte Methoden zum Auslesen und Setzen der „firstName“ und „lastName“ Variablen am Element „Name“ und für die Variable „street“ am Element „Address“.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Methoden passend zu den Variablen&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;getElementAddress().setVariableStreet(String value);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;getElementName().setVariableFirstName(String value);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;getElementName().setVariableLastName(String value);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Auf diese Weise kann man mit JSXP Variablen nutzen und ist dennoch Compile-Zeit-sicher. Bei der Angabe der Variablennamen in der $-Notation unterstützt JSXP wohlweislich keine Expression-Language. Eine Query-Language würde den JSXP-Richtlinien zur Typsicherheit und der Konsistenz von Design und Code widersprechen. Möchte man allerdings sicherstellen, dass eine Variable zu einem bestimmten Element gehört oder zum View-Controller direkt, kann man dies durch einen Punkt notieren.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Weitere Variablennotation&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;div jsxp:id“customer“&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;div jsxp:id=“order“&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;div jsxp:id=“billingAddress“&amp;gt;$(customer.name) $(street)&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;div jsxp:id=“deliveryAddress“&amp;gt;$(customer.name) $(street)&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/div&amp;gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;In diesem Beispiel gibt es jeweils eine Variable „street“ an den Elementen „billingAddress“ und „deliveryAddress“ und eine Variable „name“ am Element „customer“. Benutzt man nur „$(.name)“ wird die Variable direkt an dem View-Controller generiert und ist damit für die gesamte View gültig.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP erlaubt es dem Designer &lt;b&gt;voll funktionsfähige Designs&lt;/b&gt; zu liefern. Die XHTML-Dateien können navigierbar sein und bereits mit Daten aufgefüllte Listen zu Demonstrationszwecken haben. Der Entwickler muss diese Listen nicht in den Design-Dateien leeren. Er tut dies dort, wo man es von einem Java-Entwickler erwartet: im Java-Code. Dies hat zur Folge, dass die Anwendung direkt nach dem Einfügen der Design-Views funktioniert und &lt;b&gt;Prototyping&lt;/b&gt; möglich macht. Dies sieht man auch in dem Video-Screencast [2]. Man integriert die Design-Dateien in sein Projekt und kann die Webanwendung direkt nutzen und iterativ den Code und somit die dynamische Funktionalität implementieren. Dies bedeutet, dass die Design-Dateien stets auch losgelöst vom Webserver im Browser angeschaut und Designer und Entwickler in einem iterativen Prozess an den gleichen Dateien arbeiten können.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: vereinfachte Tabelle vom Designer (Ausschnitt aus XHTML-Datei)&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;td&amp;gt;12345&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;07.02.2009&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;td&amp;gt;45678&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;11.10.2009&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Nehmen wir an, die oben angegebene Tabelle wurde vom Designer geliefert. Diese Tabelle kann der Entwickler im nächsten Schritt für JSXP anpassen, ohne das Design zu ändern oder die Beispieldaten zu entfernen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Tabelle nach Anpassung durch Entwickler&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.w3.org/1999/xhtml&lt;/span&gt;&lt;/a&gt;" xmlns:jsxp="&lt;a href="http://www.jsxp.org/spec/1.0"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.jsxp.org/spec/1.0&lt;/span&gt;&lt;/a&gt;"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;table jsxp:id="orderList"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&amp;lt;td&amp;gt;12345&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;07.02.2009&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&amp;lt;td&amp;gt;45678&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;11.10.2009&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;tr jsxp:id="orderItem"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&amp;lt;td&amp;gt;$(orderNo)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$(orderDate)&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Per Code leert der Entwickler nun die Liste aus dem Design und benutzt die hinzugefügte Zeile für &lt;b&gt;Element-Templating&lt;/b&gt;. In JSXP kann man Elemente aus dem Design als Template verwenden und so wiederholt als Struktur einfügen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Code des View-Controller zum Table-Beispiel&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;public class TableXhtmlController extends TableXhtmlControllerGenerated&amp;lt;Object&amp;gt; {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void execute() throws Exception {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;getElementOrderList().removeElements();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ElementTemplate&amp;lt;OrderItem&amp;gt; itemTemplate =&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;getElementOrderItem().createTemplate();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&amp;lt;Order&amp;gt; orderList = ...; /* Business-Logik */&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (Order order : orderList) {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;OrderItem orderItem = itemTemplate.createElement(order);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;getElementOrderList().addElement(orderItem);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Die „execute“-Methode aus dem Beispiel wird vom JSXP-Framework im Zuge des Lebenszyklus eines Request aufgerufen, wenn die „Table“-Komponente Teil des Views ist, der zu einem Request gerendert wird. Hier wird also erst die Liste aus dem Design geleert, womit die Beispielinhalte verfallen. Danach wird aus dem „orderItem“-Element ein Template erzeugt, dass genutzt wird um Orderobjekte für die View aufzubereiten. Die „createElement“-Methode erzeugt dabei innerhalb der Schleife das konkrete Element zu für die Antwort auf den eingehebenden Browserrequest. Übergibt man der „createElement“-Methode ein Objekt, wird automatisch mit den an dem Objekt vorhandenen Properties versucht, die Variablen des Elements zu setzen. Alternativ hätte man die Variablen auch manuell setzen können:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;orderItem.setVariableOrderNo(value);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;orderItem.setVariableOrderDate(value);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Wichtig an dieser Stelle ist, dass man im Code nicht merkt, dass es sich im Design um eine Tabelle handelt. Ändert sich das Design und wird die Tabelle z.B. durch eine DIV-Struktur oder einfache Textzeilen ersetzt, ändert sich der Code nicht. Code und Design sind unabhängig. Fällt eine JSXP-ID bei Bearbeitung durch den Designer weg, gibt es einen Kompilierungsfehler. So wird man bereits in der IDE gewarnt.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Will man zu der Tabelle einen Pager einbauen, der erlaubt in der Liste zu Blättern, ist es möglich eine Pager-Komponente zu importieren und zu nutzen. Im vorherigen Beispiel können wir dies durch das Überschreiben der „init“-Methode des View-Controllers tun:&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;public void init(Importer importer) throws Exception {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;PagerXhtmlController pager = new PagerXhtmlController();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;pager.setPageSize(20);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;importer.importView(pager);&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;getElementOrderList().addElement(pager.getElementSimplePager());&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Auf diese Art lassen sich beliebige fertige oder selbst entwickelte View-Komponenten importieren und direkt integrieren oder per Templating-Mechanismen nutzen. Und im Gegensatz zu JSF sind hier die Schnittstellen der Komponenten in der Sprache der Entwickler hinterlegt: Java. Der Designer wird nicht mit zusätzlichen ihm unbekannten Konstrukten belästigt.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;In JSXP sind URLs direkt lesezeichenfähig (&lt;b&gt;Bookmarkable&lt;/b&gt;) und vom Menschen lesbar (&lt;b&gt;Human-readable-URLs&lt;/b&gt;). Dies wird beides auch bei &lt;b&gt;Redirects&lt;/b&gt; unterstützt. Die Unterstützung hierfür ist bei anderen Webframeworks recht dürftig oder nur sehr schwierig umsetzbar. Selbst in Zusammenhang mit Internationalisierung oder Resourcenhandling sind keine komplizierten URIs notwendig (wie in JSF2). I&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;b&gt;Internationalisierung&lt;/b&gt; wird von Haus aus unterstützt. Dabei kann durch die Applikationsklasse angegeben werden, welche Locales die Anwendung unterstützt, und per Default ermittelt JSXP, welche der Locales am besten zum User passt. Danach werden zum einen entsprechende Locale-Verzeichnisse für Design und Code genutzt, als auch das Locale am Context gesetzt, so dass man es beim Resourcenhandling nutzen kann.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Mit &lt;b&gt;Resourcenhandlung&lt;/b&gt; kann man Elemente aus der View an Resourcen binden und die Elemente dadurch unterschiedlich füllen als auch austauschen. Dies ist zum Beispiel für Texte innerhalb eines Views nützlich, der aus Java Resource-Bundles kommen soll, oder für Bilder oder Skripte die aus unterschiedlichen Quellen stammen, für die der Designer aber im Design einen statischen Pfad benötigt. Beim Resourcenhandling definiert man durch Überschreiben der Methode „getResources“ welche mit einer JSXP-ID versehen Elemente des Designs zu einer Resource gehören. Man kann dann ResourceHandler an der Applikation definieren (im Standard sind bereits einige vorgesehen) die das Element je nach Resourcen-Typ unterschiedlich für die Antwort zum Client rendern. Im folgenden Beispiel sieht man ein Element im Design, dessen Inhalt durch das Resourcehandling automatisch vom JSXP-Framework durch die Inhalte aus einer Java-Properties-Datei ausgetauscht werden.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Resourcenhandling Designausschnitt&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.w3.org/1999/xhtml&lt;/span&gt;&lt;/a&gt;" xmlns:jsxp="&lt;a href="http://www.jsxp.org/spec/1.0"&gt;&lt;span style="font: normal normal normal 11px/normal Monaco; letter-spacing: 0px; text-decoration: underline;"&gt;http://www.jsxp.org/spec/1.0&lt;/span&gt;&lt;/a&gt;"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;p jsxp:id="resourcebundle"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Hello &amp;lt;br/&amp;gt; $(name)&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #219493; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Resourcenhandling View-Controller&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;public class ResourceBundleXhtmlController extends ResourceBundleXhtmlControllerGenerated&amp;lt;Object&amp;gt; {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void execute() {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;getElementResourcebundle().setVariableName("Snoopy");&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public List&amp;lt;Resource&amp;gt; getResources() {&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;List&amp;lt;Resource&amp;gt; resources = super.getResources();&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;resources.add(new Resource(&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"ResourceBundlePropertiesFileURL",&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"text/resourcebundle", getElementResourcebundle()));&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return resources;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Beispiel: Resourcenhandling Properties-Datei&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;resourcebundle[]=Hallo|$(name)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #4e00ff; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Resourcenhandling kann auch dazu genutzt werden, Skripte oder CSS-Dateien immer aus einem bestimmten Verzeichnis oder aus der Datenbank zu laden. Mit Resourcehandling sind Elemente beliebig durch Resourcen ersetzbar. Wie dies dargestellt wird, entscheidet der zu einem bestimmten Resourcen-Typ (im Beispiel „text/resourcebundle“) registrierte ResourceHandler. Resource sind insbesondere für die Komponenten-basierte-Entwicklung wichtig. Gibt ein View-Controller so zum Beispiel an, dass er eine bestimmte JavaScript-Datei als Resource benötigt, wird diese Resource für den Client gerendert und an ihn geschickt, auch wenn nur Teile der View nach dem Komponentenimport genutzt werden.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP erlaubt auf komfortable Weise &lt;b&gt;Zustände auf dem Server&lt;/b&gt; zu sichern. Dazu unterstützt JSXP diverse Scopes, wie &lt;b&gt;Application-Scope, Session-Scope, View-Scope, Flash-Scope, ViewFlow-Scope und Request-Scope&lt;/b&gt;. Alle diese Scopes und ihre Inhalte werden automatisch verwaltet und sind über das Context-Object als leicht zu nutzende Maps verfügbar, oder können durch Angabe von Annotationen an Properties des View-Controllers verwendet werden. JSXP prüft automatisch bei den verwendeten View-Controllern, ob das anlegen einer Session notwendig ist und kümmert sich um alles notwendige.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Mit JSXP &lt;b&gt;View Flows&lt;/b&gt; kann man Mengen von View-Komponenten definieren, die ausgezeichnete Start- und Endpunkte haben. JSXP erlaubt dann automatisch den Aufruf dieser Views per Request vom Client nur, wenn als erstes der Start-View aufgerufen wurde. Der View Flow wird automatisch beendet, sobald ein End-View erreicht wird. Springt der User aus einem View Flow nach Start hinaus, wird der View Flow abgebrochen. Während eines View Flows ist der ViewFlow-Scope gültig. ViewFlows kann man dabei wie Formular-Wizards verstehen, mit der Abläufe über mehrere Requests verarbeitet werden können.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP unterstützt &lt;b&gt;AJAX&lt;/b&gt;. Dazu ist eine sehr leichtgewichtige AJAX-JavaScript-API integriert. Aber jede andere AJAX-Bibliothek kann mit JSXP genutzt werden.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Geschwindigkeit ist mit JSXP auch kein Problem. Ein &lt;b&gt;Caching-Mechanismus&lt;/b&gt; sorgt dafür, dass Prototypen der Design-Views stehts auf Abruf bereit stehen. Sie werden automatisch neu geladen, wenn sich das jeweilige Design ändert.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Auch das &lt;b&gt;automatische Setzen von Input-Parametern&lt;/b&gt; (die z.B. in HTTP-GET/POST vom Browser kommen) übernimmt JSXP für den Entwickler. Dazu muss ein Entwickler lediglich eine Bean mit Eigenschaften für erwartete Input-Parameter zur Verfügung stellen.&amp;nbsp; Input-Parameter können dabei auch an importierte Komponenten weitergereicht werden.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Zum &lt;b&gt;Validieren von Input-Parametern&lt;/b&gt; sieht JSXP eine Phase im Lebenszyklus vor. Für die Validierung überschreibt man im View-Controller die „validate“-Methode. Innerhalb der Methode kann man beliebige Frameworks nutzen, um die Daten an der Input-Parameter-Bean zu validieren und bei Fehlern auf entsprechende andere Views weiterzuleiten und die Fehler anzuzeigen/zu melden. Benötigt man kein spezielles Framework kann man mit den JSXP-Validatoren die Daten prüfen, JSXP-Elemente auf der Ergebnisseite markieren und Meldungen anzeigen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Generell ist JSXP nach dem Prinzip gestaltet: &lt;b&gt;Vollständig aber leicht anpassbar&lt;/b&gt;. Jederzeit kann das Verhalten des Frameworks nach den besonderen Projektbedürfnissen angepasst werden. JSXP bietet dazu insbesondere mit der Applikationsklasse und dem Context die Möglichkeit Methoden zu überschreiben und damit das Verhalten von JSXP flexibel zu gestalten. Beispielsweise kann man die Art und Weise wie Elemente bei Fehlern markiert werden um dem Benutzer nach Validierung auf Eingabefehler hinzuweisen, oder wie der zu benutzende Locale ermittelt wird ändern. Aber auch weitreichende Änderungen wie das Parsen von Design-Dateien oder sind einfach möglich. Viele der im Standard genutzten Algorithmen kann man somit austauschen oder anpassen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;JSXP bietet eine Reihe an weiteren Features, wie &lt;b&gt;Project-Stages&lt;/b&gt;, &lt;b&gt;View-Templates&lt;/b&gt; (ein Template-Mechanismus auf View-Ebene wie man ihn u.a. von Apache Struts kennt), &lt;b&gt;View-Aliases&lt;/b&gt;, &lt;b&gt;Command-Pattern&lt;/b&gt; und einiges mehr. Des weiteren ist noch in für dieses Jahr geplant, JSXP vollständig portletfähig zu machen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Momentan wird JSXP von der MATHEMA Software GmbH [5] und der Ciqua [6] unterstützt. Damit gibt es eine breite Basis an erfahrenen Entwicklern, Trainern und Beratern für JSXP. Gern dürfen sich natürlich weitere Freiwillige zu uns gesellen. Das JSXP-Framework steht unter der Apache License Version 2. Es gibt auch erste Referenzprojekte: sowohl der jsxp.org Webauftritt ist über das CMS-System CMSonal mit JSXP implementiert, als auch das JSXP-Wiki und die Internetplattform solacize.com [7].&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Eine Implementierung Ihrer Web-Applikationen mit JSXP steht also nichts mehr im Weg. Warum?&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Damit Design wieder mit den Applikationen stattfinden kann, die dafür gemacht wurden, und nicht in irgendwelchen schwer zu handhabenden Plugins.&lt;/span&gt;&lt;/li&gt;&lt;li style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Damit Design auch nach mehreren Monaten Projektlaufzeit leicht iterativ angepasst werden kann, ohne das ein Entwickler kostbare Zeit vergeudet.&lt;/span&gt;&lt;/li&gt;&lt;li style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Damit Entwickler ihrer Kernaufgabe nachkommen können: Geschäfts- und Prozesslogik in Java-Code umsetzen.&lt;/span&gt;&lt;/li&gt;&lt;li style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Damit Entwickler nicht verzweifelt lange Zeit für Nichtigkeiten vergeuden, die den Projektfortschritt stoppen.&lt;/span&gt;&lt;/li&gt;&lt;li style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;Und sicher auch um stabilere Applikationen zu schaffen, die nicht unvorhersehbar zur Laufzeit auf extrem schwer zu findende Fehler laufen, weil sich bei der Entwicklung jemand nur vertippt hat.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #1900ae; font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;[1] JSXP Website, &lt;a href="http://www.jsxp.org/"&gt;&lt;span style="letter-spacing: 0px; text-decoration: underline;"&gt;http://www.jsxp.org&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="color: #1900ae; font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;[2] JSXP Screencast, &lt;a href="http://mathema.de/unternehmen/aktivitten/jsxp-web-framework/"&gt;&lt;span style="letter-spacing: 0px; text-decoration: underline;"&gt;http://mathema.de/unternehmen/aktivitten/jsxp-web-framework/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="color: #1900ae; font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;[3] JSFDays Website, &lt;a href="http://jsfdays.irian.at/"&gt;&lt;span style="letter-spacing: 0px; text-decoration: underline;"&gt;http://jsfdays.irian.at&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;[4] Herbstcampus Website, &lt;a href="http://www.herbstcampus.de/"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.herbstcampus.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;[5] MATHEMA Software GmbH, &lt;a href="http://www.mathema.de/"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.mathema.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="letter-spacing: 0px;"&gt;[6] Ciqua Pirringer &amp;amp; Tanzer OEG, &lt;a href="http://www.ciqua.com/"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.ciqua.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #1900ae; font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;[7] solacize.com, &lt;span style="letter-spacing: 0px; text-decoration: underline;"&gt;&lt;a href="http://www.solacize.com/"&gt;http://www.solacize.com&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #1900ae;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5564954083815062054?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5564954083815062054/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5564954083815062054' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5564954083815062054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5564954083815062054'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/11/jsxp-just-simple-extensible-pages.html' title='JSXP (Just Simple eXtensible Pages)'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8832278473209661283</id><published>2009-09-28T13:48:00.000-07:00</published><updated>2009-11-03T07:17:44.384-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone ipod apple'/><title type='text'>ShortNotes for iPhone</title><content type='html'>The new iPhone and iPod Touch application &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewArtist?id=320516549"&gt;ShortNotes&lt;/a&gt; is now in the app store. &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GArCft_6WjY&amp;hl=de&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GArCft_6WjY&amp;hl=de&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;English (scroll down for german/s.u. für deutschen Text):&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-------&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to take notes anywhere in an easy and convenient way, ShortNotes is the right app for you. It is optimized for the fast creation of notes.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can quickly take a textline as notes, i.e. when you are in a meeting. You can add additional text to the note for a better description and also add a picture from the camera or media library.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ShortNotes allows you to structure your notes in an hierarchical order to find and group them. You can reorder the hierarchical structure.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And with one click you can export any of your notes (and there child notes in the hierarchical structure) as email. E.g. you can send all the point of a meeting to the participant directly from the meeting.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see a video on the application web site.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Available in english and german.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Deutsch:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-------&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mit ShortNotes kann man auf einfache und sehr bedienungsfreundliche Weise Notizen anlegen und verwalten. ShortNotes is optimiert für die schnelle Eingabe von Notizen.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Notizen sind Textzeilen, die zusätzlichen langen Text als Beschreibung enthalten können. Durch die schnelle Eingabe kann man z.B. die besprochenen Punkte in einem Meeting direkt eingeben. Auch kann man Bilder von der Kamera oder der Medienbibliothek einer Notiz hinzufügen. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Notizen können in ShortNotes hierarchisch gruppiert werden. So kann man diese leicht finden und verwalten. Notizen können auch innerhalb der Hierarchie verschoben werden.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mit einem Klick kann man Notizen (und ihre zugehörigen Notizen in der Hierarchie) als eMail exportieren. Z.B. kann man damit direkt nach einem Meeting allen Teilnehmern die Liste der Todos und besprochenen Punkte mailen.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Auf der Website der App ist ein Video, das die Arbeitsweise von ShortNotes zeigt.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8832278473209661283?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8832278473209661283/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8832278473209661283' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8832278473209661283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8832278473209661283'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/09/shortnotes.html' title='ShortNotes for iPhone'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5226070383283216090</id><published>2009-08-18T02:06:00.001-07:00</published><updated>2009-08-18T02:49:20.795-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Snow Leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>Mac OS X - Snow Leopard</title><content type='html'>Am Donnerstag, 10.09.2009 ab 18:30 stellen wir im Rahmen der &lt;a href="http://www.jug-ern.de/"&gt;Java User Group ER-N&lt;/a&gt; das kommende Betriebssystem Mac OS X Snow Leopard vor.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Man darf sich auf praktische Neuerungen und einige Verbesserungen auch unter der Haube freuen. Gern mit anschließender Frage- und Diskussionsrunde.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5226070383283216090?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5226070383283216090/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5226070383283216090' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5226070383283216090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5226070383283216090'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/08/mac-os-x-snow-leopard.html' title='Mac OS X - Snow Leopard'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-9161900263016815111</id><published>2009-08-18T01:51:00.000-07:00</published><updated>2009-08-18T02:11:06.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Windows 7</title><content type='html'>Hi zusammen,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;gestern war die &lt;a href="http://www.dodned.de"&gt;.NET Gruppe aus Fürth&lt;/a&gt; bei uns zu Besuch und es gab einen regen Austausch und Demonstrationen von Windows 7. Jeder der Windows Vista benutzen muss, wird sich sicher auf einen Umstieg freuen. Ein paar neue graphische Gimmicks, die viele sicher der Geschwindigkeit halber abstellen, ein bischen weniger Sicherheitsabfragen, hoffentlich schneller (aber das weiss man wohl erst nach Monaten Laufzeit, ein frisch installiertes System sieht da ja meist toll aus) und viele Dinge die mich an ein anderes Konkurrenzbetriebssystem erinnern.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Alles in allem vielleicht nicht schlecht, aber sicher auch kein echter Evolutionssprung.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-9161900263016815111?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/9161900263016815111/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=9161900263016815111' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/9161900263016815111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/9161900263016815111'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/08/windows-7.html' title='Windows 7'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4010033750627269882</id><published>2009-08-18T01:43:00.000-07:00</published><updated>2009-08-18T01:51:38.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>iMobile ;)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ich laufe durch London und suche (natürlich erst nachdem ich einige Sehenswürdigkeiten wieder besucht habe) den Apple Store auf. Rein zufällig kam ich daran vorbei versteht sich. Hier schaue ich mir die zum Herumprobieren einladend aufgestellten elektronischen Spielereien an, nichts wirklich neues denke ich mir. Aber natürlich kann ich es nicht lassen mal an den iPhones vorbeizulaufen und meine Apps darin aufzurufen. Nach der letzten Kolumne gibt es nämlich einen Grund zu feiern. Nicht nur das eine damals erwähnte eBook als Applikation wurde freigegeben, sondern einige weitere. Mittlerweile habe ich 17 Applikationen für das iPhone. U.a. eine zur Ernährungsüberwachung. 17 ist zwar keine runde Zahl, aber für mich eine Gelegenheit Revue passieren zu lassen.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:monospace;font-size:medium;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ich denke, der mobile Markt wird in Zukunft immer stärker wachsen, und somit auch die Arbeit von uns als Entwicklern, Architekten und sonst wie in der Softwarebranche Arbeitenden prägen. Immerhin benutzt man mobile Geräte heute bereits weit häufiger als man einen fester installierten PC neben sich hat. Mobile Apps werden gekauft, nicht&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;zuletzt auch wegen den niedrigen Preisen von einigen Cents bis Euro. Potentielle Kunden entschließen sich somit weit häufiger zum Kauf als bei den PC-Softwarepaketen bei den ja gerade mal 50 Euro durchschnittlich als günstig angesehen werden können.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wir haben es also mit wohl schnelleren Entwicklungszeiten, günstigen Endpreisen und gut durchdachten Vermarktungs- und Vertriebsplattformen zu tun. Wo wir gerade bei Vermarktung und Vertrieb sind: wer denkt Software im mobilen Bereich produzieren zu wollen kann sich gern bei mir melden. Nach der vorletzten Kolumne "Deutsch für Informatiker" spare ich mir an dieser Stelle den Smiley. Aber sie können ihn sich denken und mich dennoch gern für Beratung kontaktieren.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Warum diesmal übrigens keine Fußnoten vorhanden sind, auf die ich eigentlich soviel Wert lege, ist leicht zu erklären. Wie zu Beginn erwähnt schlendere ich wirklich durch London. Und auf diesen mobilen handlichen und in die Hose passenden Geräten ist die Eingabe dann do&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ch &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;nicht &lt;/span&gt;&lt;/span&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT186" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT187" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;so&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; komfortabel.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Das sollte auch die diesmalige Kürze der Kolumne entschuldigen (und den Lektoren besänftigen). Immerhin ist der Akku noch weit aufgeladen. Und das trotz des Schreibens nebst parallelem Musikhören, und der &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace, fantasy; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Nutzung von RememberMeal um aufzuzeichnen was ich &lt;/span&gt;&lt;/span&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT188" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT189" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;so&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; alles an &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;geistiger Nahrung (hier auch Sweets genannt) zu mir genommen habe. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sowie der Trackingsoftware, die per GPS meinen zurückgelegten Weg &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace, fantasy; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;protokolliert, &lt;/span&gt;&lt;/span&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT190" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Object" id="OBJ_PREFIX_DWT191" style="color: rgb(0, 0, 139); text-decoration: none; cursor: pointer; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;so&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; dass ich nachher wenigstens weiß wo ich überall &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;gewesen bin. In dem Augenblick, in dem man vor einer Attraktion steht &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;erkennt man das ja glücklicherweise auf Google Maps bzw. Earth. Und &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ein mobiler Blick in das Internet verrät einem, was man sehen würde, &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;wenn man ein Gebäude betritt. Letztens habe ich in einem Restaurant im &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', fantasy; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;mobilen Browser nachgesehen, was auf der Tageskarte steht. Denn die&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;hing zu weit weg und war (auch deshalb) zu unleserlich. Wer weiß, vielleicht maile ich beim nächsten Besuch meine Bestellung vom Tisch aus.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wahrscheinlich kommt irgendwann tatsächlich der Zeitpunkt, ab dem man statt seine Heimat zu verlassen einfach die GPS getrackten und mit Photos, Ton und Videos hinterlegten Wegspuren von anderen nachklickt. Man entschuldige meine weit schweifende Phantasie, es ist mittlerweile schon spät, selbst nach Greenwich-Zeit. Aber die mobile elektronische Welt schreitet ihren Weg voran, und ich fürchte das macht sie mit und ohne uns. Und irgendwie ist es ja auch schön, fern gewesen zu sein, trotzdem effizient ein wenig geschrieben zu haben und später die daheim Gebliebenen mit einer Vielzahl von multimedialen Details versorgen zu können.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Und sollten ein paar Photos fehlen, weil ich zwischendurch zu abgelenkt war, kann man bei all den in London installierten Kameras bestimmt im Internet sicher adäquaten Ersatz finden. Und mit einer wenig Suche vielleicht sogar mit der Sehenswürdigkeit und mir auf dem Bild.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4010033750627269882?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4010033750627269882/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4010033750627269882' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4010033750627269882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4010033750627269882'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/08/imobile.html' title='iMobile ;)'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3705847393808019981</id><published>2009-07-17T04:05:00.001-07:00</published><updated>2009-07-17T04:07:32.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Herbstcampus'/><title type='text'>Eintrittskarten für Herbstcampus-Konferenz zu gewinnen</title><content type='html'>Unter &lt;a href="http://www.mathema.de/quiz"&gt;http://www.mathema.de/quiz&lt;/a&gt; gibt es ein kurzes Gewinnspiel, bei dem man Freikarten für die &lt;a href="http://www.herbstcampus.de/"&gt;Herbstcampus-Konferenz&lt;/a&gt; gewinnen kann.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;David Tanzer und ich werden dort auch &lt;a href="http://www.jsxp.org"&gt;JSXP&lt;/a&gt; demonstrieren.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Viel Glück :)&lt;/div&gt;&lt;div&gt;Oliver&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3705847393808019981?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3705847393808019981/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3705847393808019981' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3705847393808019981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3705847393808019981'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/07/eintrittskarten-fur-herbstcampus.html' title='Eintrittskarten für Herbstcampus-Konferenz zu gewinnen'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-289012271406804335</id><published>2009-06-25T05:46:00.000-07:00</published><updated>2009-06-25T06:17:52.901-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Wicket'/><category scheme='http://www.blogger.com/atom/ns#' term='JSXP'/><title type='text'>JSXP (Just Simple eXtensible Pages)</title><content type='html'>Die existierenden Webframeworks in der Java-Welt bekommen Konkurrenz :-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nach einem Besuch der JSFDays haben sich David Tanzer und Oliver Szymanski Gedanken über die Schwachstellen von JSF 2.0 sowie bereits existierender Webframeworks gemacht. Daraus hat sich ein erster Konzeptentwurf und anschließend ein proof-of-concepts ergeben.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Damit war der Grundstein zu &lt;a href="http://www.jsxp.org/"&gt;JSXP&lt;/a&gt; (Just Simple eXtensible Pages) geboren. Es liegt mittlerweile in der Version 0.3 als Open Source vor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die wesentlichen Features dieses Webframeworks sind:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Typsicherheit / Compile-Time Sicherheit&lt;/li&gt;&lt;li&gt;Änderungen im Design mit Nebenwirkungen werden vom Compiler angezeigt/bemängelt&lt;/li&gt;&lt;li&gt;strikte Trennung von Design und Implementierung (kein Codieren mehr in XML)&lt;/li&gt;&lt;li&gt;Komponenten (eigene Komponenten oder fertige zum Aufbauen komplexer Views)&lt;/li&gt;&lt;li&gt;View und Element-Templating&lt;/li&gt;&lt;li&gt;View Flows&lt;/li&gt;&lt;li&gt;Internationalisierung&lt;/li&gt;&lt;li&gt;lesbare URLs (unterstützt Bookmarking, Redirects)&lt;/li&gt;&lt;li&gt;Server Side States (unterstützt verschiedene Scopes: Flash, Session, Request, ...)&lt;/li&gt;&lt;li&gt;AJAX (inkl. leichtgewichtiger JavaScript-API aber auch beliebige möglich)&lt;/li&gt;&lt;li&gt;Resource-Management&lt;/li&gt;&lt;li&gt;Applikations-Konfiguration&lt;/li&gt;&lt;li&gt;Erweiterbarkeit&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Insbesondere können zur Validierung oder für AJAX beliebige Frameworks eingesetzt werden. Hierzu sieht JSXP simple Anbindungsmöglichkeiten vor. JSXP liefert aber auch Default-Implementierungen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es gibt auch bereits zwei Projekte, welche mit JSXP realisiert wurden: das AJAX-basiertes Wiki-System namens Wikiron und das Content-Management-System CMSonal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mehr zum Thema:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.jsxp.org"&gt;www.jsxp.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.jsxpcommunity.org"&gt;www.jsxpcommunity.org&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-289012271406804335?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/289012271406804335/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=289012271406804335' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/289012271406804335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/289012271406804335'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/06/jsxp-just-simple-extensible-pages.html' title='JSXP (Just Simple eXtensible Pages)'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-293745272606355248</id><published>2009-06-25T05:43:00.001-07:00</published><updated>2009-06-25T05:46:34.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='metriken'/><title type='text'>Java User Group am 18.06.2009</title><content type='html'>Das letzte Treffen der Java User Group hatte "Software-Metriken" zum Thema. Thomas Haug von der MATHEMA Software GmbH war so freundlich, uns seine Erfahrungen in einem Vortrag mitzuteilen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Präsentation findet sich auf der Homepage der &lt;a href="http://www.jug-ern.de"&gt;JUG&lt;/a&gt;. (&lt;a href="http://www.jug-ern.de/downloads/MetrikFuerJUGPrintout.pdf"&gt;Download&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-293745272606355248?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/293745272606355248/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=293745272606355248' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/293745272606355248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/293745272606355248'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/06/java-user-group-am-19032009.html' title='Java User Group am 18.06.2009'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1470637074422852141</id><published>2009-06-25T05:38:00.000-07:00</published><updated>2009-06-25T05:39:17.464-07:00</updated><title type='text'>Hex and the City: Fehlersuche oder Kaugummipapier, 3,5“-Diskette und ein BIOS</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:small;"&gt;&lt;p style="margin-bottom: 0cm; "&gt;Fehlersuche oder Kaugummipapier, 3,5“-Diskette und ein BIOS&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Vor einigen Tagen hatte ein Notebook einen Defekt – es ging nur noch ohne Bild mit Piepsen an. Ohne auf die Details der Fehlersuche einzugehen, höchstwahrscheinlich ist die Grafikkarte defekt, oder aber das BIOS ist mit falschen Daten überschrieben. Die genauen Piepstöne beim Booten in Zusammenhang mit dem BIOS-Hersteller lassen diese beiden Möglichkeiten offen, alle anderen Anzeichen deuten auch darauf hin. Hätte ich zwei weitere Tage bis zur Artikelabgabe, könnte ich mich sicherlich auf eine der beiden Fehlerquellen festlegen, aber letztlich soll dies für uns an dieser Stelle nicht relevant sein.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Warum in zwei Tagen? So lange braucht das externe USB-Diskettenlaufwerk leider noch, bis es geliefert wird. Disketten? Ja, richtig gelesen. 3,5“ um genau zu sein&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-create.do#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Da bei Notebooks die Grafikkarte OnBoard ist, lässt sie sich zur Fehleranalyse nicht austauschen. Somit habe ich mich dazu entschlossen, dass BIOS zuerst zu restaurieren. Einfach, denken Sie jetzt vielleicht, wenn Sie einer von denen sind, die schon des Häufigeren mit Hardwarebauteilen wie Puzzlestücken gespielt haben und den Unterschied von CMOS&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-create.do#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; und BIOS kennen. Aber nicht so einfach, wenn man es mit der aktuellen Evolutionsstufe der Computerhardware zu tun hat. Woran man sehen kann, wozu Evolution gut ist – oder auch nicht.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Früher gab es zum Reset des Basic Input Output System – ja, genau das bedeutet BIOS – manchmal einen Jumper. Leider nicht bei diesem Notebook. Auch keine Batterie die man abklemmen kann (oder irgendwas in dem Sinne, dass Strom liefert, auch wenn der Computer nicht an das eigentliche Stromnetz angeschlossen ist). Somit sind vielleicht falsche Daten im BIOS, aber zurücksetzen geht nicht. Dies hat zur Konsequenz, falls es sich nicht doch um eine defekte Grafikkarte handelt, dass sich eine fehlerhafte Firmware des x86 eingeschlichen hat, die kaum zu entfernen ist. Da das BIOS direkt mit der Hauptplatine verbunden ist, lässt es sich auch nicht als Hardwarekomponente austauschen. Das, was vor dem Start des Betriebssystems dem Computer einen Hauch von Leben schenkt, ist damit erstmal außer Gefecht gesetzt. Bios bedeutet übrigens im griechischen Leben. Leider ist bei diesem Notebook davon nicht mehr viel zu spüren.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Warum jetzt also ein externes USB-Diskettenlaufwerk? Nun, es gibt eine letzte Chance ein BIOS zu retten, ohne das Mainboard auszutauschen. Letzteres ist ja auch nicht mehr so einfach, denn der Versuch ein Mainboard für ein wenige Jahre altes Notebook zu ergattern, muss nicht unbedingt von Erfolg gekrönt sein. Zur Rettung: ein Phoenix-BIOS hat seit 2001 einen speziellen Crisis Recovery Mode, den man während des Startens des Computers mit einem Tastenkombination aktivieren kann. Jetzt wird BIOS-Code von einem sogenannten Boot-Block ausgeführt, der Notfallinstruktionen enthält, die bei BIOS-Flashs nicht überschrieben werden. So weit so gut. Alternativ zur Tastenkombination gibt es auch Versionen, die einen Jumper zum Aktivieren haben, oder – ja, ehrlich – ein bestimmter Dongle&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-create.do#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; muss am Parallel-Port stecken.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Wenn der Crisis Recovery Mode aktiviert ist, kann man neue Firmware ins BIOS flashen. Jetzt kommt das Diskettenlaufwerk ins Spiel. Denn der Boot-Block kann naturgemäß nicht besonders viele Instruktionen enthalten, somit musste man sich auf das Notwendigste beschränken und hat keine optionalen Treiber eingebaut. Es wird lediglich unterstützt, von einer Diskette zu booten. Eine bootfähige CD oder ein USB-Stick funktionieren nicht. Hat man sich also vorher eine solche Diskette erstellt (die entsprechende Firmware für das BIOS sollte man im Internet finden), kann man trotz fehlerhaften BIOS über den Boot-Block booten und mit der Diskette das Flashen einleiten. Super.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Vorbereit ist bereits alles, jetzt muss nur noch das Diskettenlaufwerk ankommen. Was kann man dadurch lernen?&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Nichts ist einfacher geworden.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Verdient eine Firma auch an Reparaturen, macht sie es den Nutzern leider nicht immer leicht, Fehler selbst zu beheben.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;Und ich wette, es ist die Grafikkarte. Murphys Gesetz.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;[1] Wikipedia, Basis Input Output System, &lt;a href="http://de.wikipedia.org/wiki/Basic_Input_Output_System"&gt;http://de.wikipedia.org/wiki/Basic_Input_Output_System&lt;/a&gt;, 27.05.2009&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;[2] How to fix a corrupted Phoenix BIOS using the Crisis Recovery Disk, &lt;a href="http://crd.y1.cc/"&gt;http://crd.y1.cc&lt;/a&gt;, 27.05.2009&lt;/p&gt;&lt;p style="margin-bottom: 0cm; "&gt;[3] Diskettenstifthalter selber bauen, &lt;a href="http://www.expli.de/anleitung/disketten-stifthalter-selber-bauen-249/"&gt;http://www.expli.de/anleitung/disketten-stifthalter-selber-bauen-249&lt;/a&gt;, 27.05.2009&lt;/p&gt;&lt;div id="sdfootnote1"&gt;&lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-create.do#sdfootnote1anc"&gt;1&lt;/a&gt;So flache, beinahe zweidimensionale Datenspeicher, die aber etwas mehr Dreidimensionalität besitzen als ihr 5,25“* Verwandten. Wer sich nicht erinnern kann: es gibt schöne technische Museen im Umkreis fast aller zivilisierten Gebiete. Manchmal trifft man sie auch als Stifthalter an, siehe [3].&lt;/p&gt;&lt;p class="sdfootnote"&gt;* Die man noch mit einem Locher, oder einer Schere, oder einem patentierten Dings beidseitig nutzbar machen konnte. Nostalgie pur.&lt;/p&gt;&lt;/div&gt;&lt;div id="sdfootnote2"&gt;&lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-create.do#sdfootnote2anc"&gt;2&lt;/a&gt;Beim CMOS handelt es sich eigentlich nur um SRAM das die BIOS-Einstellungen speichert. Der Begriff CMOS als Complementary Metal Oxide Semiconductor stammt aus der Elektronik und hat sich beim PC für den speziellen Anwendungsfall (teils fälschlicherweise) eingebürgert.&lt;/p&gt;&lt;/div&gt;&lt;div id="sdfootnote3"&gt;&lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-create.do#sdfootnote3anc"&gt;3&lt;/a&gt;Bzw. nimmt man bei der MacGyver-Methode einen normales Parallel-Port Druckerkabel, schneidet es durch und verbindet Pin 2 mit 15, 3 mit 13, 4 mit 11, 5 mit 12 und 6 mit 10. Nachdem ich früher schon Platinen mit Kaugummipapier überbrückt habe können Sie sich denken, wozu ich raten würde*&lt;/p&gt;&lt;p class="sdfootnote"&gt;* Mein Rat ist, bestellen Sie ein neues Notebook&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1470637074422852141?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1470637074422852141/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1470637074422852141' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1470637074422852141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1470637074422852141'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/06/hex-and-city-fehlersuche-oder.html' title='Hex and the City: Fehlersuche oder Kaugummipapier, 3,5“-Diskette und ein BIOS'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7174837200699838438</id><published>2009-06-25T05:35:00.001-07:00</published><updated>2009-06-25T05:43:11.675-07:00</updated><title type='text'>Hex and the City: Kaffeeklatsch... im Weitesten und im Speziellen</title><content type='html'>&lt;div class="gmail_quote"&gt;&lt;div class="gmail_quote"&gt;&lt;p lang="de-DE" align="LEFT"  style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background- font-style: normal; font-weight: normal; line-height: 16px; text-decoration: none; background-position: initial initial; color:transparent;"&gt;&lt;span class="Apple-style-span"   style="  line-height: normal; border-collapse: collapse; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT"  style="margin-top: 0px; margin-right: 0px; margin-bottom: 0cm; margin-left: 0px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background- font-style: normal; font-weight: normal; line-height: 13px; text-decoration: none; background-position: initial initial; color:transparent;"&gt;&lt;span class="Apple-style-span"   style="  line-height: normal; font-family:arial;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "&gt;&lt;span class="Apple-style-span"  style="font-family:Helvetica, -webkit-fantasy;"&gt;&lt;span class="Apple-style-span" style="font-size: -webkit-xxx-large;"&gt;&lt;span class="Apple-style-span"   style="font-family:Helvetica, fantasy;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:Helvetica, -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"   style="font-family:Helvetica, fantasy;font-size:100%;"&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Kaffeeklatsch... im Weitesten und im Speziellen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Vor kurzem musste ich lesen, was einen Menschen ausmacht, der sich einen doppelten Espresso bestellt. Im Zeit Magazin [1] wird behauptet, dass man demnach eigentlich todmüde ist und arbeitstechnisch immer verfügbar sein muss. Und das die zwei Espressi vereint als doppelte Ladung ein Ersatz für stärkere Aufputschmittel sind.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Nachdem zumindest die Java-Gemeindemitglieder unter uns Informatikern sich ja stark auf der Kaffeeseite des Lebens befinden – nicht umsonst stammen viele Symbole bei Java aus der Kaffeewelt, wie die berühmte Java-Kaffee-Bohne – denke ich, ist es wert einen Blick auf die Analogien zu werfen. Ist Java ein Espresso? Nachdem das Bild von Informatikern in der Allgemeinheit ja gerne einmal Menschen zeigt, die spät nachts noch vor Bildschirmen hocken&lt;/span&gt;&lt;sup&gt;&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="#sdfootnote1sym"&gt;&lt;sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; und wilde Wörter und kryptische Zeichenkombinationen eingeben, passt der Vergleich mit dem Espresso gegen die Müdigkeit. Wenn wir mit Java 2 den doppelten Espresso hatten, was haben wir dann heute?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java 2 gab es ja nach Java. Das klingt trivial. Aber es geht ja weiter. Java 2 existierte vor Java 5. Mathematisch ohnehin korrekt. Verwirrend wird es erst, wenn man weiß, dass Java 3 oder 4 nie (bislang) existiert hat&lt;/span&gt;&lt;sup&gt;&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="#sdfootnote2sym"&gt;&lt;sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. Java 2 heißt Java auch bereits seit der JDK 1.1. Das ging bis zur Version 1.4.x so. Danach erst kam der Begriff Java 5 auf – wer weiß, ob da nicht eine fünffache Version Espresso im Spiel war.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Aber da wo wir eine Zahl dazu bekommen haben, nämlich hinter Java, wurde sie uns im Enterprise-Umfeld, der Java Enterprise Edition, weggenommen. J2EE wurde parallel zu Java 5 zu JEE. Jetzt also ohne Nummer im Namen. Dafür gibt es jetzt die JEE Version 5, wenn man es genau nimmt.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Bei den Enterprise JavaBeans als Teil der JEE ist es simpler. Während EJB 1.0 im Jahre 1998 die Welt erblickte, kam mit J2EE auch EJB 2.0 und später 2.1. Dann aber hört die Vergleichbarkeit der Versionsnummern auch auf. EJB 3 ist Teil von JEE Version 5 und wozu die künftige Version EJB 3.1 gehören wird, steht wohl noch in den Sternen.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Und das waren jetzt nur die Versionsnummern von Basistechnologien, von den Abkürzungen selbst wollen wir mal besser gar nicht sprechen.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wenn also Java 2 ein doppelter Espresso war – und das war es bei der Vielzahl an Verbesserungen mindestens, dann war die Zeit dafür nicht mehr als ein Espresso. Oder ein Espresso macchiato für Leute, die eine extra VM genutzt haben. Wieviel Koffein erwartet uns denn bei Java 7? Oder wird vielleicht nur mehr Milch hinein gegossen?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Wenn Milch als Extras zählt, dann haben wir eine große Zahl an möglichen Varianten bzgl. der Analogie in der Java-Historie.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java 5 könnte ein Milchkaffee sein – für Leute die solide Basistechnologien lieben und keinen exotischen Kram. Wer es ein bisschen außergewöhnlicher mag, vielleicht ab und an einmal die J2ME (hier steht die 2 noch immer fest an ihrem Platz) als Mobile Edition nutzt, der nimmt vielleicht einen Café au Lait. Mit Java 5 kamen ja auch die Annotationen dazu, wer diese selbst verwendet hat, bestellt wohl am ehesten eine Latte macchiato&lt;/span&gt;&lt;sup&gt;&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="#sdfootnote3sym"&gt;&lt;sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/sup&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; und geht was die Milch anbelangt dann Richtung Java 6, besonders lecker auch mit Milchschaumhaube. Eine Latte macchiato wird auch schichtweise ausgeliefert – zumindest wenn sie gut gemacht ist. Auch das kennen wir in Java mittlerweile durch die Trennung in Standard, Enterprise und Mobile Edition.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Was ist dann Java 7? Was bleibt denn noch? Von den gängigen Begriffen könnte noch der Cappuccino als Symbol herhalten. Hier fehlt aber einiges an Milch im Vergleich zu einigen der vorher genannten Koffeingetränken. Macht ja nichts, weniger könnte ja auch mehr sein. Zum Beispiel durch Verzicht auf all die Sachen, die man durch ihren deprecated-Status ohnehin nicht nutzen kann. Aber das wäre wohl zu schön um wahr zu sein.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ich bleibe nach wie vor bei meinem Lieblingsgetränk. Double mocca macchiato. Wieviel Milch und Schaum dabei ist, dass muss jeder selbst enträtseln. Aber es ist (subjektiv betrachtet) die perfekte Zusammenstellung an Effizienz, Effektivität und Genuss mit wertvollen Extras. Natürlich spreche ich von dem Getränk. Alles andere ist kalter Kaffee. Übrigens: Fußnoten sind der Kaffeesatz.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;[1] Zeit Magazin, Nr. 18, 23.04.2009, S. 31, „Coffee to show“, Tillmann Prüfer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div id="sdfootnote1"&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="#sdfootnote1anc"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Unter Umständen ist es auch Tag, aber die Jalousien sind geschlossen. Licht bremst ja bekanntlich.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div id="sdfootnote2"&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="#sdfootnote2anc"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;2&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Vielleicht eine Hommage an die Leisure Suite Larry Spiele ursprünglich von Sierra On-Line (später Codemaster). Al Lowe, der Erschaffer dieser Adventure-Spiel-Reihe, hatte wohl zu früh versichert, dass nach Teil 3 kein vierter herauskommt. Somit hieß der Nachfolger direkt Leisure Suit Larry 5. Von Teil 4, auch als Leisure Suit Larry – The Missing Floppies bekannt, war niemals etwas gesehen. *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;span style="background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; background-position: initial initial; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;* Selbst Larry, der Hauptprotagonist des Spiel, kann sich in den Nachfolgeteilen nicht erinnern, was ihn im vierten Teil passiert sein mag. Das mag manchmal auch auf Entwickler zutreffen – hauptsächlich wenn man bei der Frage nach dem Grund der Implementierung hört: „Das ist historisch gewachsen“.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div id="sdfootnote3"&gt;&lt;p lang="de-DE" align="LEFT" style="margin-bottom: 0cm; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; font-style: normal; font-weight: normal; line-height: 12px; page-break-inside: auto; widows: 2; orphans: 2; text-decoration: none; page-break-before: auto; page-break-after: auto; background-position: initial initial; "&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, sans-serif;"&gt;&lt;span&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="#sdfootnote3anc"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;3&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Oder einen Caffé e Latte in der fälschlichen Annahme, das dies dasselbe ist. Hier sind zwei Espressi statt nur einem drin und der tolle Milchschaum fehlt. Zumindest wenn der Verkäufer Ahnung hat, was er da zusammen brüht. Und ja, es heisst eine Latte, denn diese gefleckte Milch ist im italienischen weiblich. Aber ich sag es auch immer so, wie es gerade über die Zunge kommt.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7174837200699838438?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7174837200699838438/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7174837200699838438' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7174837200699838438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7174837200699838438'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/06/hatc.html' title='Hex and the City: Kaffeeklatsch... im Weitesten und im Speziellen'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3253001136518460287</id><published>2009-06-10T13:25:00.000-07:00</published><updated>2009-06-28T14:17:21.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RememberMeal'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>RememberMeal</title><content type='html'>&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:'Lucida Grande';font-size:11px;"&gt;&lt;div&gt;RememberMeal für das Apple iPhone:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Mit RememberMeal erinnert man sich an jedes Essen und das lästige Kalorienzählen hat ein Ende. Bei RememberMeal macht man ein schnelles Photo von jedem Essen/Getränk, dass man zu sich nimmt und legt mit 2 Klicks fest, in welche Kategorie das Essen fällt.  RememberMeal schätzt die Kalorienzahl und gibt Warnungen an, wenn man über bzw. unter eine konfigurierbare Kalorienzahl an einem Tag kommt.  Das integrierte Journal gibt einem Auskunft über die Mahlzeiten und Getränke der letzten Wochen. Dabei kann man festlegen, wie lange RememberMeal die Informationen speichert.  Somit hilft es auf unterhaltsame und lustige Art Diäten zu kontrollieren, beim Zu- oder Abnehmen zu helfen und lehrt den Benutzer Selbstkontrolle.  Denn die Slideshow beim Starten, in der die Mahlzeiten des Tages gezeigt werden, hilft beim Entscheiden, ob man mehr oder weniger zu sich nehmen will.  RememberMeal - erinnern Sie sich an alle Mahlzeiten auf einfache spaßige Weise.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Lucida Grande', -webkit-fantasy;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap;font-size:-webkit-xxx-large;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'Lucida Grande';font-size:11px;"&gt;With RememberMeal you will remember any drinks and meals in an easy way. The annoying calorie counting is over.  In RememberMeal you make a quick photo of each food / drink that one takes to himself and set out with 2 clicks, in which category the food falls.   RememberMeal estimates the number of calories and provides warnings if you are above or below a configurable number of calories in a day. The integrated journal gives information about the meals and beverages in recent weeks.   You can specify how long RememberMeal stores the information.  Thus it helps in an entertaining and funny way to control diets, adding or losing weight and teaches self-control.   The slideshow shown at start of the application, in which the meals of the day are shown, helps to decide whether you really want more or less food at this day.  RememberMeal - remember all the meals in a simple funny way.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3253001136518460287?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3253001136518460287/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3253001136518460287' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3253001136518460287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3253001136518460287'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/06/remembermeal.html' title='RememberMeal'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4636829141202508608</id><published>2009-04-01T07:17:00.001-07:00</published><updated>2009-06-25T05:11:40.295-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Web 3.1415... Die Zukunft des Web (Ed Burns, Werner Eberling und Oliver Szymanski)</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Hier noch die Präsentation zur Diskussionsrunde: "Web 3.1415... Diskussion über die Zukunft des Web" von Ed Burns, Werner Eberling und mir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="https://mail.mathema.de/home/osz@mathema.de/Briefcase/Public/Fruehjahrscampus2009/Web31415.pdf"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Web 3.1415 - Diskussion über die Zukunft des Web&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;br /&gt;Bei Bedarf gibt es auch noch das Video der Diskussion.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4636829141202508608?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4636829141202508608/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4636829141202508608' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4636829141202508608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4636829141202508608'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/04/web-31415-die-zukunft-des-web-ed-burns.html' title='Web 3.1415... Die Zukunft des Web (Ed Burns, Werner Eberling und Oliver Szymanski)'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-6932784620322187813</id><published>2009-04-01T07:05:00.001-07:00</published><updated>2009-04-01T07:14:28.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><title type='text'>JSF 2.0 Workshop mit Ed Burns und Oliver Szymanski</title><content type='html'>Hallo zusammen,&lt;br /&gt;&lt;br /&gt;anbei die Folien vom JSF 2.0 Workshop, dem weltweit ersten Workshop mit dem Preview zur kommenden JavaServer Faces Version. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://mail.mathema.de/home/osz@mathema.de/Briefcase/Public/Fruehjahrscampus2009/20090319_JSF20.pdf"&gt;&lt;br /&gt;JSF 2.0 Workshop Präsentation&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hiermit bekommt man einen ersten Überblick über die neuen Features, die Historie und Design-Prinzipien von JSF. Alle Änderungen am Request-Processing-Lifecycle sind enthalten, sowie die neuen Facetten von Komponenten, Resourcen und Konfiguration. Auch Erweiterungen wie Project Stage, View Scope, Flash Scope, FacesContext.AttributeMap, Resource-Handling, View Parameters, neue Tags und die Anpassungen an der Ereignisverarbeitung, EL und AJAX-Unterstützung werden erklärt.&lt;br /&gt;&lt;br /&gt;Ciao,&lt;br /&gt;Oliver&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-6932784620322187813?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/6932784620322187813/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=6932784620322187813' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6932784620322187813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6932784620322187813'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/04/jsf-20-workshop-mit-ed-burns-und-oliver.html' title='JSF 2.0 Workshop mit Ed Burns und Oliver Szymanski'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5009939910872831001</id><published>2009-03-11T09:22:00.000-07:00</published><updated>2009-03-11T09:27:00.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Java User Group am 19.03.2009</title><content type='html'>Das nächste JUG-Treffen findet am 19.03.2009 statt. Diesmal gibt es eine Diskussionsrunde über die Zukunft des Webs mit Werner Eberling und mir.&lt;br /&gt;&lt;br /&gt;Als besonderen Gast haben wir Ed Burns (Spec. Lead von JSF, Sun Senior Staff Engineer) dabei.&lt;br /&gt;&lt;br /&gt;Das Treffen findet in den Schulungsräumen der MATHEMA (Henkestr. 91, 91052 Erlangen) statt. Beginn ist diesmal: 18:30h (eine halbe Stunde später als normalerweise!). Dauer bis ca. 20:00. Diesmal gibt es sicher auch ein deutlich pünktlicheres Ende als beim letzten Mal :)&lt;br /&gt;&lt;br /&gt;Bitte um Anmeldung bis zum Dienstag, 16h, 17.03.2009. Eine Mail an mich reicht dazu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5009939910872831001?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5009939910872831001/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5009939910872831001' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5009939910872831001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5009939910872831001'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/03/java-user-group-am-19032009.html' title='Java User Group am 19.03.2009'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3621872546360260172</id><published>2009-03-11T09:10:00.000-07:00</published><updated>2009-03-11T09:19:09.803-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wirtschaftskrise'/><category scheme='http://www.blogger.com/atom/ns#' term='Weltwirtschaftskrise'/><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><category scheme='http://www.blogger.com/atom/ns#' term='Finanzkrise'/><category scheme='http://www.blogger.com/atom/ns#' term='Krise'/><title type='text'>Rein in die Krise...</title><content type='html'>&lt;p style="margin-bottom: 0cm"&gt;Hex and the City: Rein in die Krise…&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Die Atmosphäre schwingt angetrieben von den Wellen der Finanzkrise. Wir lesen von „schlechten" Nachrichten, doch können Nachrichten als solche überhaupt gut oder schlecht sein? Zitieren wir, wie viele andere es im Laufe der Geschichte immer wieder taten, doch einfach Konrad Adenauer: „Die Lage war noch nie so ernst". Doch gerade, dass dieses Zitat zu so vielen Gelegenheiten immer wieder genutzt wurde, zeigt doch: &lt;i&gt;die Lage ist auch nicht ernster, als zuvor so oft&lt;/i&gt;.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Auch die IT-Branche hat die herrschende Weltwirtschaftskrise getroffen. IT-Projekte gibt es in nahezu allen Branchen. Und selbst Branchen, die unabhängig von den betroffenen zu sein scheinen, sind durch die allgemeine Wirtschaftsvernetzung unter den Einfluss der Krise geraten. IT-Dienstleister spüren eine Flaute bei ihren Projekten. Es herrscht Sparkurs, laufende Projekte werden auf Sparflamme weiter betrieben und die Freigabe für Budgets zu neuen Projekten verschoben.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Entgegen der Dramatik mancher Medienberichterstattung will ich hier einfach mal über Krise und Bewältigung ein paar Fakten und Thesen nennen. Ich kenne sowohl Menschen, die sagen, es gibt keine Krise, als welche, die nach der These „nichts wird so heiß gegessen, wie es gekocht wird" mit Bedacht planen, oder andere, die der kollektiven Kopflosigkeit vorsorglich nachrennen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Panik&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Widmen wir uns zuerst der Panik. Prognosen nach unten gab es in letzter Zeit viele. Nicht umsonst hatte das Deutsche Institut für Wirtschaftsforschung einige Zeit alle Prognosen eingestellt – gerade wegen der Gefahr der „Selbsterfüllenden Prophezeiung". Dann kam Anfang des Jahres wieder eine Prognose, die zwar einen Wirtschaftsleistungsrückgang in Deutschland von 1,1 Prozent verkündet, allerdings auch ein Wachstum für 2010 vorhersieht [1, 2]. Leider verankert sich Negatives ja meist stärker als Positives in unserem Gedächtnis. Außerdem können manche die schlechte Stimmung nutzen, um sich zu sanieren, wie immer in Zeiten, in denen der Staat „Geschenke" zur Rettung verteilt.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Sicherlich gibt es Personen, die blind der überall vertretenen These „alles ist in Gefahr" folgen. Aber auch Menschen, die solche Thesen kritisch hinterfragen und sich eigene Gedanken machen, folgen der Vorsicht. Woher bekommen letztere ihren Antrieb? Solange wir in einem stabilen Staat in einer erschütterungsfesten Wirtschaftsunion leben, kann doch nichts passieren. Oder? Warum kaufen dann so viele Menschen Gold ein? Gold ist eine der wenigen Ressourcen, die ihren Wert in gewissen Schwankungen immer behalten hat. Schon vor Jahrtausenden war es Zahlungsmittel. Gold ist also sicherlich eine der ungefährdetsten Schattenwährungen&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. Gold jetzt einzukaufen, bedeutet folglich in Sicherheit zu investieren und nach einem Staatsbankrott und einem Reset der Währung weiterhin etwas von Wert zu besitzen. Betrachten wir kurz diese Bankrotte und Währungsreformen, bevor wir uns wieder dem Goldschatz widmen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Staatsbankrott&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Staatsbankrotte hatten bisher eine zu hohe Verschuldung, Staatsuntergang oder Regierungswechsel ohne Schuldenübernahme als Kausalität  [2]. Ein Staatsbankrott in einer Welt wie der unsrigen scheint unwahrscheinlich. Ein derartiger Regimewechsel oder Staatsniedergang ist dies vielleicht, zumindest innerhalb der EU. Aber Zahlungsunfähigkeit kann auch Europäischen Mitgliedsstaaten geschehen, gerade seid dem Maastricht-Vertrag, der es der Europäischen Zentralbank verbietet Staatsanleihen von Mitgliedsstaaten aufzukaufen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Deutschland war in den letzten 90 Jahren bereits zweimal bankrott, 1923 und 1948. Andere neuere Beispiele sind Russland 1998, Argentinien 2002 und Island 2008. Dabei gilt Island als erster Staat, den die Finanzkrise in den Ruin treibt  [4, 5, 6]. Allerdings ist Island mit seinen 300.000 Einwohnern vielleicht ein schlechtes Beispiel, da es lange Zeit auf einer Kapital-Seifenblase lebte. Immerhin war es größtenteils von externen Geldgebern abhängig, deren Vertrauen im Zuge der Finanzkrise leider verloren ging. Allerdings strahlt der isländische Finanzminister Zuversicht aus, wenn er sagt, dass sein deutscher Kollege Peer Steinbrück ihn beneiden dürfte, da er in Island Finanzminister „einer kleinen, aber äußerst prosperierenden Nation mit einem gut aufgestellten Finanzhaushalt und soliden jährlichen Wachstumsrate" ist. Das ist dann wohl ein versteckter Seitenhieb in unsere Richtung. Island mag gerettet werden, aber Experten sehen auch andere Staaten in Gefahr. Australien und Neuseeland leiden unter ähnlichen Umständen, wenngleich auch nicht so schwerwiegend wie Island. Auch Ungarn, Polen und die Tschechische Republik, Südafrika im Allgemeinen und die Türkei kann es treffen. Und in der vernetzten Weltwirtschaft reicht unter Umständen der richtige Faden um die EU vom Netz fallen zu lassen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Wie wahrscheinlich es ist, dass ein Staat Bankrott anmeldet, lässt sich auch an der Credit Default Swap Prämie (CDS) ablesen [7]. Dies ist eine Versicherungsprämie gegen das Bankrottrisiko eines Staates. Deutschland liegt in der Liste mit 17% Wahrscheinlich eines Bankrottes in den nächsten 10 Jahren vergleichsweise sehr gut  [3]. Die Ukraine mit 100% Wahrscheinlichkeit kommt da deutlich schlechter weg, ist aber damit nicht allein.  &lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Gegen des drohenden Bankrottes kann ein Staat versuchen seine Ausgaben&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; zu senken oder die Inflation z.B. mit Hilfe niedriger Zentralbankzinsen anzukurbeln. Es gibt auch die verschleierte Form des Staatsbankrottes, wenn der Staat zwar seine Schulden bezahlt, aber das Geld dazu im Wert verfallen ist. Dies läuft häufig auf eine Hyperinflation oder auf eine Währungsreform hinaus. Letztere oft mit Nicht-Konvertierbarkeit, dass heißt die alten Geldmittel können nicht getauscht werden, sondern verfallen und Kapitalflucht wird unterbunden.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Währungsreformen&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Eine Währungsreform muss nicht immer angekündigt werden. Die Währungsreform 1948 in Westdeutschland war geheim vorbereitet worden. Die neuen Banknoten waren in den USA heimlich gedruckt und in der Operation Bird Dog mit Schiffen hergebracht worden [8]. Zwar kursierten Gerüchte, aber erst direkt vor der Reform wurde die Öffentlichkeit informiert. Gerade die Gerüchte im Vorfeld hatten die alte Währung noch instabiler gemacht, ein Grund mehr, dass ein Staat der aus der Geschichte lernt, noch weniger an die Öffentlichkeit dringen lässt. Vor allem, da eine Währungsreform nicht unbedingt bedeutet, dass man seine alten Werte in die neue Währung komplett überführt.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;3 Tage nach der Reform in Westdeutschland führte diese zu einer Blitzaktion in der Sowjetischen Besatzungszone, der durch hohe Mengen an eintreffenden in Westdeutschland wertlosem Geld Inflation drohte. Hier wurden alte Geldnoten mit Aufklebecoupons zu neuen gültigen Zahlungsmitteln, der Deutschen Mark der Deutschen Notenbank. Sie wechselte in die Mark der Deutschen Notenbank (1964), über die Mark der Deutschen Demokratischen Republik (1968) bis zur Einführung der deutschlandweiten gemeinsamen D-Mark 1990. Der Euro passt übrigens nicht in das Schema, denn bei seiner Einführung handelte es sich nicht um eine Reform, sondern um eine Währungsumstellung [9]. Der Unterschied ergibt sich, da alle Wertbestände ohne Wert zu verlieren oder gewinnen umgestellt wurden. Subjektiv erfahrene Wertänderungen ergaben sich dann wohl eher über Preisanpassungen und geschickte Rundungen.  &lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Der große Gewinner eines Staatsbankrottes ist somit der Staat als solches, der seine Schulden verliert, nicht aber Banken, Unternehmen und Privatbürger. Gläubiger bekommen entweder gar nichts, oder ihnen wird nur ein geringer Anteil durch Umschuldung wiedererstattet. Auch Staatsanleihen sind also nur so sicher, wie man in die Zukunft des Staates vertrauen kann. Und die 17% Risiko in den nächsten 10 Jahren des CDS sind ja nicht wenig.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Gold&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Ist Gold wirklich sicher? Nicht, wenn man sich die Geschichte der Vereinigten Staaten von Amerika ansieht. 1933 ließ Präsident Roosevelt Gold beschlagnahmen und der Besitz war nur noch in Form von Münzen und Schmuck erlaubt [10]. Das erklärt auch, warum Amerika in Fort Knox&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; so hohe Goldreserven hatte. Wenn man jetzt denkt, dass ist doch ganz alte Geschichte, sei darauf hingewiesen, dass dieses Gesetz in Amerika bis in die 70er Jahre gültig war, und das jederzeit wieder eine Regierung auf diese Idee kommen könnte. Daher sollte man, wenn man schon Gold aufgrund der Sicherheit kaufen möchte, dies ohne Angabe von Personendaten tun. Wer jetzt ein Schmunzeln auf den Lippen hat – ich selbst fand dies paranoid. Fakt ist aber, dass man beim Einkauf von Gold in immer mehr Banken seinen Personalausweis zeigen muss, angeblich weil dies neuerdings vom Staat gefordert wird. Noch vor einigen Monaten war dies nicht nötig. Außerdem bekommt man Gold meist nur noch gegen Vorbestellung, obwohl man noch im letzten Jahr die in der Regel handelsüblichen fingergroßen Barren direkt mitnehmen konnte. Wird das Gold knapp? Sagen wir es einmal so: die gesamte Menge an gefördertem Gold passt derzeit in einen Würfel mit 20 Metern Kantenlänge&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;. Klingt nicht nach so viel Gold, oder? Über 50% davon ist zu Schmuck verarbeitet, ca. 12% zu Kunstgegenständen, der Rest teilt sich zu gleich teilen in Privat- und Währungsinstitutionen-Besitz auf.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Gold wird übrigens, außer in sehr geringen Anteilen in der Mikroelektronik, nicht verbraucht. Die Goldmenge bleibt somit konstant. Wobei man zwischen der bereits geförderten und der noch in der Erde verbliebenen Menge unterscheiden muss. Obwohl die existente Menge recht konstant ist, ist der Preis sehr volatil. Diese starken durch die Nachfrage getriebenen Schwankungen haben Gold längst zur Währungsdeckung ungeeignet gemacht. Dazu kommt, das die momentan vorhandene Goldmenge gerade mal die Staatsschulden Deutschlands decken könnte. Aus diesem Grund wurde auch nach dem ersten Weltkrieg in Deutschland eine nicht von Gold gedeckte Währung eingeführt – was die damalige Hyperinflation erst ermöglichte. Dies muss aber nicht jeder nicht durch Gold gedeckten Währung passieren, teilweise werden Währungen durch Immobilien oder andere Werte gesichert&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;. Und ein Nachteil von Gold: man kann es nicht essen und einen Barren gegen einen Sack Kartoffeln zu tauschen ist in ganz schlechten Zeiten wohl auch nicht erstrebenswert.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Immobilien&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Sind Immobilien sicherer? Nicht wirklich. Wer bezahlte Immobilien besitzt, mag diese zwar nach einem Staatsbankrott oder einer Währungsreform noch besitzen, und wer noch Restschulden hat, mag glauben diese zu verlieren, wie auch der Staat seine Schulden verliert. Auf den ersten Blick richtig, doch die Tücke liegt im Detail. Der Staat macht die Gesetze und die Erfahrung zeigt, dass meist Zwangshypotheken für Immobilienbesitzer im Zuge der anderen Maßnahmen eingeführt wurden, um die entstehende Armut „gerecht" zu verteilen. So oder so, am Ende hat man zwar Immobilien, aber auch (wieder) Schulden.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Geheimtipp&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Eine gute Geldanlage sind Güter, die man nach Vollendung welcher Maßnahmen auch immer direkt braucht. Aber sicher nicht verderbliche Lebensmittel. Ein Geheimtipp, den ich im Zuge meiner Recherchen verraten bekommen habe, ist die Investition in Seife. In rauen Mengen aufgekauft und im Keller gelagert, kann man sie zum Einen selbst nutzen und zum Anderen immer gut als Tauschmittel verwenden, wenn kein Geld der Welt mehr sicher ist. Falls Sie dies nicht glauben, fragen Sie einmal die erfahrenen Senioren, die bereits die schlimmen Zeiten nach dem ersten und zweiten Weltkrieg erlebt haben. Und wie medizinisch, psychologisch und sonstwie-isch wichtig es für die Damenwelt und zunehmend auch für das meinige Geschlecht ist, sich sauber zu halten.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Gute Streuung der Anlagen ist notwendig zur Sicherheit, wenn man vorbeugen und nicht planlos dem kollektiven Sicherungswahn hinterher rennen will.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Selber denken&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Aber wie Eingangs erwähnt, gibt es ja auch die Gattung der Menschen, die sagen „nichts wird so heiß gegessen, wie es gekocht wird". Auf sie treffe ich in diesen Zeiten am meisten. Und das schenkt mir Hoffnung. Denn ob privat oder geschäftlich, meist sagen meine Gegenüber, ihnen und ihren Unternehmen geht es gut oder zumindest nicht schlecht, und sie haben für die nahe Zukunft vorgebaut. Schön zu spüren, dass es in Deutschland keine Katastrophenstimmung gibt. Und eine bessere Prognose kann es doch nicht geben. Zwar starten sie defensiv in das Jahr, verschieben Projekte und sparen Budgets an, doch irgendwann muss jedes Projekt starten. Und der Startschuss wird dann sein, wenn die Krise mental überwunden ist. Wir müssen nur noch lernen, dass auch die jeweils anderen positiv gestimmt sind.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Leider ist in unserem genetischen Code verankert, Entscheidungen schnell zu treffen, bzw. nach Vorurteilen zu handeln. Solche Bauchgefühle waren in Zeiten wichtig, als wir hinter einem Baum plötzlich auf Säbelzahntiger trafen. Damals hatten wir keine Zeit zum Denken, allerdings sollten wir dieser Form des Menschen entwachsen sein, zumindest wenn wir nicht gezwungen sind schnell zu handeln. Denn Situationen werden dabei leider oft nicht genau genug auf ihre Komplexität untersucht und alle Faktoren berücksichtigt. Bauchgefühl ist dann eine Entschuldigung für fehlende Analyse. Schach zu lernen kann helfen solche Fehler zu vermeiden, nicht der Genetik zum Opfer zu Fallen und rein nach dem Bauchgefühl zu handeln. Vielleicht bestätigt sich nach Analyse unser Bauchgefühl. Aber dies zu prüfen sollte immer angestrebt sein, denn dies macht den Unterschied aus zwischen reagierenden und somit nahezu fremdgesteuerten Gedankenabläufen und bewussten Denkens. Immerhin haben wir einen komplexen Denkapparat – jetzt haben wir auch die Verantwortung ihn selbst zu nutzen, und erste Ängste bei schlechten Nachrichten zu hinterfragen. Selber denken ist wichtig, zugunsten von echten Strategien statt Panik.  &lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Konstruktive Planung ist angesagt, z.B. intensiv in die Fortbildung von gerade nicht ausgelasteten Mitarbeitern investieren, damit diese die Zeit der Krise nutzen können und beim Startschuss über alle erforderlichen Fähigkeiten verfügen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;b&gt;Chancen&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Zu guter Letzt bleiben noch die Leugner. Was bringt es eine Krise zu verleugnen? Sicherlich ein tolles Gefühl, denn man kann sich selbst weiter in positiver Euphorie treiben lassen. Aber wie lange wird das anhalten? Immer zu sagen, es gibt kein Problem ist sicherlich keine optimierte Handlungsweise für eine chancenreiche Zukunft. Gibt es tatsächlich keine Krise, hat man zwar Recht – doch das wird man erst im Nachhinein wissen.  Aber man geht die Gefahr ein, sich blind noch tiefer in die Not zu manövrieren und letztlich in einer Zwangslage handeln zu müssen. Schachspieler hassen solche Situationen, in denen sie sich in Zugzwang befinden. Daher ist ein Großteil der Gedanken in einer Partie gewidmet, den Gegner in eine solche Lage zu bringen und für sich selbst die Planungsfreiheit zu behalten. Denn Planungsfreiheit bedeutet Chancen. Ist die Krise also echt oder nicht – unwichtig. Es gibt dennoch Gewinner&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt;. Wir müssen uns weiterhin frei bewegen können, daher sollte jede Strategie, ob defensiv oder offensiv, eine Krise nicht ignorieren. Jede Krise hat auch Chancen. Also „Rein in die Krise" und diese nutzen, und wir stehen nach jeder Krise stärker da als vorher. Und zumindest dann können wir mit Sicherheit sagen, dass die Krise „eigentlich" keine war.&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;Literatur:&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[1] Deutsches Institut für Wirtschaftsinstitut, DIW Berlin, &lt;a href="http://www.diw.de/deutsch"&gt;http://www.diw.de/deutsch&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[2] Welt Online, DIW rechnet mit Ende der Rezession noch 2009,   &lt;a href="http://www.welt.de/wirtschaft/article2985432/DIW-rechnet-mit-Ende-der-Rezession-noch-2009.html"&gt;http://www.welt.de/wirtschaft/article2985432/DIW-rechnet-mit-Ende-der-Rezession-noch-2009.html&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[3] Wikipedia, Staatsbankrott, &lt;a href="http://de.wikipedia.org/wiki/Staatsbankrott"&gt;http://de.wikipedia.org/wiki/Staatsbankrott&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[4] DiePresse.com, Finanzkrise: Island voll erwischt, &lt;a href="http://diepresse.com/home/wirtschaft/finanzkrise/375594/index.do"&gt;http://diepresse.com/home/wirtschaft/finanzkrise/375594/index.do&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[5] Spiegel Online, Island gerät ins Visier der Spekulanten, &lt;a href="http://www.spiegel.de/wirtschaft/0,1518,544707,00.html"&gt;http://www.spiegel.de/wirtschaft/0,1518,544707,00.html&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[6] Focus Online, Geldattacke auf Island, &lt;a href="http://www.focus.de/finanzen/boerse/finanzkrise/finanzkrise-geldattacke-auf-island_aid_269133.html"&gt;http://www.focus.de/finanzen/boerse/finanzkrise/finanzkrise-geldattacke-auf-island_aid_269133.html&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[7] Wikipedia, Credit Default Swap, &lt;a href="http://de.wikipedia.org/wiki/Credit_Default_Swap"&gt;http://de.wikipedia.org/wiki/Credit_Default_Swap&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[8] Wikipedia, Währungsreform 1948 (Westdeutschland),&lt;a href="http://de.wikipedia.org/wiki/W%C3%A4hrungsreform_1948_(Westdeutschland"&gt; &lt;/a&gt;&lt;a href="http://de.wikipedia.org/wiki/W%C3%A4hrungsreform_1948_(Westdeutschland)"&gt;http://de.wikipedia.org/wiki/Währungsreform_1948_(Westdeutschland)&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[9] Wikipedia, Währungsreform, &lt;a href="http://de.wikipedia.org/wiki/W%C3%A4hrungsreform"&gt;http://de.wikipedia.org/wiki/Währungsreform&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;[10] Wikipedia, Gold, &lt;a href="http://de.wikipedia.org/wiki/Gold"&gt;http://de.wikipedia.org/wiki/Gold&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm"&gt;&lt;br /&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote1anc"&gt;1&lt;/a&gt;Nicht  ohne Grund war der Wunsch der Alchimisten Gold zu transmutieren *&lt;/p&gt;  &lt;p class="sdfootnote"&gt;* Was übrigens heutzutage künstlich mit der  Kerntechnik machbar ist – allerdings ist die erforderliche Energie  zu teuer&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote2anc"&gt;2&lt;/a&gt;Aber  das wäre ja zu schön um war zu sein&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote3anc"&gt;3&lt;/a&gt;Was  ja sogar den Erzbösewicht Goldfinger in der gleichnamigen James  Bond-Geschichte verführte&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote4anc"&gt;4&lt;/a&gt;Bei  24 Karat = pures Gold. Karat ist linear, d.h. 6 Karat entsprechen  25%. **&lt;/p&gt;  &lt;p class="sdfootnote"&gt;** Bei den Azteken hieß Gold „teocuitlatl",  was soviel wie göttliche Ausscheidung bedeutet. Das zum Thema  Reinheit...&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote5anc"&gt;5&lt;/a&gt;Wie  man eine Währung am sichersten durch Reserven decken kann, sollte  jede einmal in Making Money von Terry Pratchett nachlesen, wenn in  dem Stadtstaat Ankh-Morphok das erste Papiergeld gedruckt wird. Und  das kurz nach der Einführung der Briefmarken...   &lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt;  &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=3621872546360260172#sdfootnote6anc"&gt;6&lt;/a&gt;Z.B.  denken viele Unternehmen gerade jetzt über die Einführung von  Open-Source-Software nach, oder das Unternehmen Durex, das 50%  Gewinnsteigerung im zweiten Halbjahr 2008 aufwies*&lt;/p&gt;  &lt;p class="sdfootnote"&gt;* Durex ist Kondomhersteller und jetzt sollte  jeder für sich darüber nachdenken, wohin es führt, wenn Menschen  in Zeiten der Krise mehr daheim bleiben **&lt;/p&gt;  &lt;p class="sdfootnote"&gt;** Was wohl auch Entspannung in die Zukunft  der Rentenversicherung bringen könnte, wenn die Produkte des  Unternehmens Mängel aufweisen sollten&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3621872546360260172?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3621872546360260172/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3621872546360260172' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3621872546360260172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3621872546360260172'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/03/rein-in-die-krise.html' title='Rein in die Krise...'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2715293473198330282</id><published>2009-02-17T05:37:00.000-08:00</published><updated>2009-02-17T05:57:49.120-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DreamTeam'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>JUG: Swing Application Framework, BeansBinding und JPA</title><content type='html'>Hallo zusammen,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;am Donnerstag, 12. Februar 2009 fand wieder ein Treffen der Java User Group Erlangen-Nürnberg statt. Diesmal war die ING DiBa so nett, sich als Gastgeber zur Verfügung zu stellen. Mit ca. 40 Zuhörern war der Vortrag von Aljoscha Rittner vom NetBeans DreamTeam gut besucht. Eigentlich wollten wir "nur" den GUI-Builder v&lt;/div&gt;&lt;div&gt;on NetBeans sehen, aber Aljoscha war so nett das in Java 7 kommende Swing Application Framework, die Möglichkeiten des Bean Bindung (auch unter Verwendung von JPA) vorzustellen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_mRBkB83mYIU/SZrACf24q8I/AAAAAAAAAbg/-jswFhvVuGQ/s320/IMG_0047.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5303762660326157250" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hier sind die drei Foliensätze:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sepix.de/fileadmin/appframework_de.pdf"&gt;Swing Application Framework&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sepix.de/fileadmin/beansbinding_de.pdf"&gt;Beans Binding&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sepix.de/fileadmin/jpabeansbinding_de.pdf"&gt;JPA, BeansBinding und das SAF&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Und &lt;a href="http://www.sepix.de/blogs/blogrittner/blog/archive/2009/february/15/vortraege_zum_swing_application_framework_beansbinding_und_jpa/index.html"&gt;hier&lt;/a&gt; geht es zu Aljoschas eigenem Blog-Eintrag zur JUG.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vielen Dank an unsere Gastgeber und den Vortragenden&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2715293473198330282?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2715293473198330282/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2715293473198330282' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2715293473198330282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2715293473198330282'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/02/jug-swing-application-framework.html' title='JUG: Swing Application Framework, BeansBinding und JPA'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_mRBkB83mYIU/SZrACf24q8I/AAAAAAAAAbg/-jswFhvVuGQ/s72-c/IMG_0047.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5471681758925092777</id><published>2009-02-09T09:09:00.001-08:00</published><updated>2009-02-17T05:52:54.903-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC Spiele Computerspiele Spiel Game'/><title type='text'>Computerspiele - Die Klassiker</title><content type='html'>&lt;div style="text-align: left;"&gt;"Spiel ist eine freiwillige Handlung oder Beschäftigung, die [...] nach freiwillig angenommen, aber unbedingt bindenden Regeln verrichtet wird, ihr Ziel in sich selbst hat [...]."&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Diese Definition vom Spiel hat der niederländische Kulturanthropologe Johan Huinzinga aufgestellt.&lt;br /&gt;&lt;/div&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Der letzte Leserbrief zu dem Computerspiel-Klassiker "To Be On Top" von Chris Hülsbeck [2] hat mich dazu angeregt, über die spielerischen Erlebnisse mit Computern zu reflektieren. Gerade in unserer elektronischen Welt haben Spiele weitreichend zum Erfolg und Weiterentwicklung der Computerindustrie beigetragen.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Mit welchen Spielen sind wir groß geworden? Ursprünglich stammt das Wort Spiel aus dem &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;althochdeutschen "spil" &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;und stand für "Tanzbewegung". Da Tanzen offensichtlich nicht jedermanns Sache ist, musste etwas passieren und es entwickelten sich Würfel-, Karten- und Brettspiele. Je nachdem sind sie mehr vom Glück oder von Taktik geprägt, ersteres lag mir nie besonders, aber es gibt ja unterschiedliche Geschmäcker.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBm6AKZW2I/AAAAAAAAAbY/LgVCoKpsyus/s1600-h/0.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBm6AKZW2I/AAAAAAAAAbY/LgVCoKpsyus/s320/0.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849908077124450" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 239px; height: 180px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Und dann kam die Elektronik. Wir wurden mit Arcade-Münzautomaten versorgt, was in japanischen Pachinko-Hallen immer noch groß in Mode ist. Dann kamen die ersten Telespiele. Wir erinnern uns sicher noch an die ROMs, die man einsteckte, um wenige Punkte und Linien auf dem Fernseher auszumachen – teils Schwarz-Weiß, Monochrom oder selten in auch für Kinder abzählbaren Farben. Wer denkt nicht gleich an "Pong" [3], dass 1972 von Atari veröffentlicht wurde, und erst einige Jahre in Spielhallen vertreten war. Es mag zwar nicht das eigentliche Urvideospiel sein, gilt aber als solches. Und wie hätte man Tischtennis jemals realistischer und besser umsetzen können?&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn1" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Übrigens gab es um dieses Spiel einen Patent-Rechtsstreit mit Magnavox, der damit endete, dass Atari $700.000 zahlen musste.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Heute Konsolen mögen mehr können, allerdings schauen Unbeteiligte wohl noch skeptischer, wenn Spieler mit virtuellen Gitarren vorm Fernseher eine Ektase bekommen und andere mutig und mal mehr mal weniger talentiert in Mikros kreischen.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Dann erhielten die Heimcomputer Einzug in unsere Häuser, und somit mehrten sich auch die Spiele. Viele Wirtschaftssimulation waren graphisch vielleicht bei weitem nicht so ausgeprägt wie heutzutage, allerdings fesselten sie uns. &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;1984 erschien z.B. aus dem Label Ariolasoft "Kaiser" von Claudio Kronmüller und Dirk Beyelstein. Worum es ging ist leicht erklärt. Man musste im Wettstreit mit bis zu 8 Personen Kaiser des "Heiligen Römischen Reiches Deutscher Nationen" werden. Und das war ein langer "wirtschaftlicher" Weg.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Oder denke an "Hanse", wo man vom Startpunkt Lübeck aus Niederlassungen und mit Hansestädten Handel treibt. "Hanse" wurde 1986 in BASIC programmiert, gemischt mit ein wenig Maschinencode bei Performanzengpässen&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn2" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. 1995 gab es sogar eine Remake.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Vom selben Entwickler (Ralph Blau) stammte auch "Vermeer" aus dem Jahr 1987, das sich hauptsächlich um Kunsthandel drehte. Ich wurde da allerdings immer mit Devisen-Handel reich.&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn3" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Später wurden solche Spiele dann deutlich effektreicher. Eines der wichtiges (Global-) Strategiespiele war sicher "Sid Meier's Civilization". 1991 erschien der erste Teil der beliebten Serie, von der auch heute noch regelmäßig Nachfolger veröffentlicht werden. Man begleitete dabei sein Volk durch die ganze Menschheitsgeschichte von der Jungsteinzeit bis hin zur Besiedelung anderer Planeten.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;"Sim City" aus dem Jahre 1997 erlaubte uns Städte zu bauen und fasziniert dabei zuzusehen, wenn sie durch übliche und weltweit gängige Naturkatastrophen wie Einmarsch von Godzilla oder Erdbeben vernichtet wurden.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ich persönlich war immer mehr ein Freund vom Rollenspiel und somit auch seiner elektronischen Vertreter. Spiele wie "Champions of Krynn" (AD&amp;amp;D) werde ich wohl nie vergessen, vor allem wegen eines Erlebnisses: Nach 2,5 Tagen Dauerspielen gemeinsam mit einem Freund (wirklich durchgehend – kein Schlaf, und Essen nur während des Spielens) knallte nachts die Bildröhre durch. Bereits damals wurde eine für pragmatische Informatikerlösung gewählt. Wir schleppten aus dem Wohnzimmer meiner Eltern den großen Fernseher herbei und spielten weiter&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn4" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[4]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. Noch in dieser Nacht beendeten wir das Spiel erfolgreich.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmfbBoRgI/AAAAAAAAAag/4-yRJefvtDI/s1600-h/1.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmfbBoRgI/AAAAAAAAAag/4-yRJefvtDI/s320/1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849451431642626" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 187px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;"The Bard's Tale" [13] ist eine alternative Rollenspielreihe von Interplay (heute Electronic Arts). Lustiger Weise sollte es von Interplay an Activision verkauft werden, die sich dann allerdings weigerten, weil eine Diskette mehr benötigte als geplant. Auch bei Bard's Tale führte man eine Gruppe unterschiedlicher Helden durch zahlreiche Kämpfe. Vor wenigen Jahren erschien ein neuer Teil, der mit viel Humor glänzte und mehr als ein Schmunzeln über das gesamte Genre hervorrief. "Might and Magic" [14] von New World Computing war eher nicht mein Fall, aber sicher auch eine bekannte und interessante RP-Reihe.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmg9z-IzI/AAAAAAAAAaw/TIHxsegdroA/s1600-h/3.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmg9z-IzI/AAAAAAAAAaw/TIHxsegdroA/s320/3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849477949465394" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 288px; height: 212px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmgYg4BGI/AAAAAAAAAao/j_KjGO75v0c/s1600-h/2.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmgYg4BGI/AAAAAAAAAao/j_KjGO75v0c/s320/2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849467937260642" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 200px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Meine RPG-Lieblingserie war und bleibt aber immer noch Ultima [12] von Lord British persönlich (alias Richard Gariott von Origin). Angefangen mit Strichgrafiken, bei denen eine Karte oder ein Dungeon nur mit mehr als viel Phantasie erkennbar waren, gehörten spätere Ultima-Fortsetzungen immer mit zu den Spielen, die die Hardware eines Computers absolut ausnutzten, und für deren Spielgenuss man sich häufig einen neuen Rechner kaufen musste. Nach den rudimentären ersten Teilen gab es eine dreidimensionale Sicht von oben, später eine Third-Person-Perspektive. Mittlerweile gibt es Ultima sogar als Online Rollenspiel.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_mRBkB83mYIU/SZBmhFS6ZBI/AAAAAAAAAa4/4wByyXz7YZo/s1600-h/4.png"&gt;&lt;img src="http://1.bp.blogspot.com/_mRBkB83mYIU/SZBmhFS6ZBI/AAAAAAAAAa4/4wByyXz7YZo/s320/4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849479958291474" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 302px; height: 200px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Diverse Actionspiele und Jump&amp;amp;Runs durften natürlich auch nicht fehlen. Ein Meilenstein war z.B. das erste Auftauchen des Klempners Mario im Spiel "Donkey Kong" [4]. Diesen Klempner wurden wir ja nie wieder los, allerdings war er im Spiel "Donkey Kong" noch Zimmermann&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn5" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[5]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Nachdem er dann seinen Beruf gewechselt hat – wohl weil er einfach mehr nach einem Klempner aussah, wie ein Kollege des Entwicklres meinte – trat er mit seinem Bruder Luigi wieder auf den Monitor. Und noch heute dürfen wir diese Protagonisten immer wieder in Spielen sehen.&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftn6" name="_ftnref" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;[6]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; "The Great Giana Sisters" [5] wurde von der deutschen Firma Time&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Warp dagegen ins Rennen geführt. Auf der Verpackung stand der prägnante Satz " The Brothers are History!". Der Satz war Programm, es gab direkt einen Rechtsstreit mit Nintendo, da viele Bestandteile, u.a. der komplette erste Level direkt von den "Super Mario Bros." übernommen war. Der Verkauf des Spiels wurde verboten, und dies machte es noch populärer. Noch heute zahlen Sammler für Originalversionen horrende Preise.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Irgendwann kamen dann auch Egoshooter. Darunter 1992 "Wolfenstein 3D" auf Basis des alten 2D-Spieles "Castle Wolfenstein" von 1981. Hier befreit sich der amerikanische Soldat "Willim 'B.J.' Blazkowicz aus den Fängen des Nazi-Regimes. Da Nationalsozialistische Symbole und selbst der Diktator selber als ein Gegner auftrat, wurde der Vertrieb und die Verbreitung verboten. Trotzdem ist das Spiel wohl eines der bekanntesten ersten Egoshooter. So schnell werde ich den schlecht gesprochen und häufig erklingen Ausruf "Mein Leben!" nicht vergessen. Dann folgte "Doom" [6] 1993 und setzte als erstes Spiel einer ganzen Serie aus dem Hause id Software ganz neue Maßstäbe an diese Art von Spielen. &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmhaeI1II/AAAAAAAAAbA/W3o-viwCmAw/s1600-h/5.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmhaeI1II/AAAAAAAAAbA/W3o-viwCmAw/s320/5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849485642519682" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 240px; height: 192px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Neben Rollenspielen mochte ich Adventures. Unterschiedliche Gegenstände einsammeln und herausfinden wozu diese gut sind, wie man sie kombiniert oder benutzt hat mir immer viel Spaß gemacht. Da diese Rätsel nicht jedermanns Sache sind, gab es hier meist nach Veröffentlichung eines Spiel immer schnell Lösungsbeschreibungen in Magazinen. "Manic Mansion" [7] erschien 1987 von Lucasfilm Games. Die nennen sich übrigens heute LucasArts. In "Manic Mansion" musste man in einem gruseligen und skurrilen Haus mit meinem Team von Freunden ein verschwundenes Mädchen retten. Aus sechs Charakter musste man 2 wählen, einer war fest vorgegeben. Je nachdem welche Zusammenstellung das eigene Team hatte, gab es unterschiedlichste Lösungswege. Denn jeder der Charakter hatte besondere Fähigkeiten für eine Lösungsmöglichkeit. Abgesehen vom Surfer-Boy, der gar nicht zur Lösung des Spiels beitragen konnte. Woran das wohl lag? Dieses Spiel von Ron Gilbert war mit seiner Point&amp;amp;Click-Bedienung deutlicher nutzerfreundlicher, als die Adventures von Sierra. &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Bei den Sierra-Titeln [8] wie der "Space Quest"-Reihe über den Weltraum-Hausmeister Roger Wilco (erstmal 1986), der "Police Quest"-Reihe von Jim Walls über den Polizisten Sonny Bonds (erste Veröffentlichung 1987)&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;oder den "Leisure Suit Larry"-Spielen als Parodie der 80er Sexfilme gab es nämlich einen Textparser, der erst spät gegen reine Maussteuerung eingetauscht wurde. Manchmal musste man lange probieren, bis man die richtigen englischen Begriffe fand. Auch starb man bei Titeln &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;von Sierra On-Line (oder später Sierra Entertainment) damals immer bei einer falschen Entscheidung. In Lucasfilm Games/LucasArts spielen gab es eigentliche keine Tode oder Sackgassen. Mir gefielen vor allem deshalb deren Adventures immer mehr.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmyZjARpI/AAAAAAAAAbI/yV2wCoPeGtA/s1600-h/6.png"&gt;&lt;img src="http://4.bp.blogspot.com/_mRBkB83mYIU/SZBmyZjARpI/AAAAAAAAAbI/yV2wCoPeGtA/s320/6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849777452271250" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 242px; height: 129px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Nach "Manic Mansion" muss man noch "Zak McKracken and the Alien Mindbenders" [9] erwähnen, welches 1988 auch von Lucasfilm Games erschien. Der Reporter Zak deckt eine geplante Invasion von Außerirdischen auf. Bemerkenswert ist, dass es in "Manic Mansion" eine Kettensäge gab, den man in dem Spiel aber nicht nutzen konnte, weil das Benzin fehlte. In "Zak McKracken" gibt es dazu den passenden Benzinkanister, zu dem aber nur lapidar der Kommentar erscheint "der ist für ein anderes Spiel". Wer im ersten Spiel lange Zeit nach dem fehlenden Benzin gesucht hat, wird hier einige Momente verharren.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Mit "Loom" [10] erfreute uns Lucasfilm Games 1990, in der man einen jungen Weber namens Bobbin Threadbare spielt, der in einer von Gilden bestimmten magischen Welt lebt und eine Verschwörung aufdeckt. Bemerkenswert war hier die Steuerung von Zaubern über Melodien, die man vorgespielt bekam und dann im Laufe des Spiels bei Bedarf nachspielen musste.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_mRBkB83mYIU/SZBmyhTRGBI/AAAAAAAAAbQ/Z9K582rPkwM/s1600-h/7.png"&gt;&lt;img src="http://2.bp.blogspot.com/_mRBkB83mYIU/SZBmyhTRGBI/AAAAAAAAAbQ/Z9K582rPkwM/s320/7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300849779533748242" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 200px; " /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt; &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Im selben Jahr kam auch das meiner Meinung nach beste Adventure aller Zeiten. " The Secret of Monkey Island" [11], in dem der junge Möchtegern Guybrush Threepwood sich auf den Weg macht um Pirat zu werden. Stimmungsvolle Musik, eine wunderbare Geschichte, schön gezeichnete Kulissen und Charakter ergaben eine perfekte Komposition. Übrigens stimmte meine Behauptung nicht ganz, dass man in Spielen von LucasFilm Games nicht sterben konnte. Hier ist die Ausnahme: Guybrush kann nur 10 Minuten tauchen. Und das stimmt auf die Sekunde genau. In einer Szene, in der er ins Wasser geworfen wird (man sich aber sehr leicht befreien kann), kann man dies austesten. Grandios auch der Schlusssatz von Guybrush, nachdem er mit Hilfe des Spielers den bösen Geisterpiraten LeChuck erledigt: " Zahle nie mehr als 50 Mark für ein Computerspiel."&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ich bin unschlüssig, ob die zahlreichen tollen graphischen Effekte und der heutige Aufwand mit dem Computerspiele entwickelt werden, tatsächlich den Spielspaß erhöht. Auf jeden Fall freue ich mich auch manchmal über eine einfache Spielrunde mit Freunden ohne Elektronik. Und schwelge gern in Erinnerungen an die "alten" Spiele – echte Klassiker.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;[1] Huinzinga: 1938/1991, S. 37, &lt;/p&gt;  &lt;p class="MsoNormal"&gt;[2] &lt;a href="http://de.wikipedia.org/wiki/Chris_H%C3%BClsbeck"&gt;http://de.wikipedia.org/wiki/Chris_Hülsbeck&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[3] &lt;a href="http://de.wikipedia.org/wiki/Pong"&gt;http://de.wikipedia.org/wiki/Pong&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[4] &lt;a href="http://de.wikipedia.org/wiki/Donkey_Kong"&gt;http://de.wikipedia.org/wiki/Donkey_Kong&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[5] &lt;a href="http://de.wikipedia.org/wiki/The_Great_Giana_Sisters"&gt;http://de.wikipedia.org/wiki/The_Great_Giana_Sisters&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[6] &lt;a href="http://de.wikipedia.org/wiki/Doom"&gt;http://de.wikipedia.org/wiki/Doom&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[7] &lt;a href="http://de.wikipedia.org/wiki/Maniac_Mansion"&gt;http://de.wikipedia.org/wiki/Maniac_Mansion&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[8] &lt;a href="http://de.wikipedia.org/wiki/Sierra_Entertainment#Adventures"&gt;http://de.wikipedia.org/wiki/Sierra_Entertainment#Adventures&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[9] &lt;a href="http://de.wikipedia.org/wiki/Zak_McKracken_and_the_Alien_Mindbenders"&gt;http://de.wikipedia.org/wiki/Zak_McKracken_and_the_Alien_Mindbenders&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[10] &lt;a href="http://de.wikipedia.org/wiki/Loom_(Computerspiel)"&gt;http://de.wikipedia.org/wiki/Loom_(Computerspiel)&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[11] &lt;a href="http://de.wikipedia.org/wiki/The_Secret_of_Monkey_Island"&gt;http://de.wikipedia.org/wiki/The_Secret_of_Monkey_Island&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[12] &lt;a href="http://de.wikipedia.org/wiki/Ultima_(Computerspiel)"&gt;http://de.wikipedia.org/wiki/Ultima_(Computerspiel)&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[13] &lt;a href="http://de.wikipedia.org/wiki/The_Bard%E2%80%99s_Tale"&gt;http://de.wikipedia.org/wiki/The_Bard's_Tale&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;[14] &lt;a href="http://de.wikipedia.org/wiki/Might_and_Magic"&gt;http://de.wikipedia.org/wiki/Might_and_Magic&lt;/a&gt;&lt;/p&gt;  &lt;div style="mso-element:footnote-list"&gt;   &lt;hr align="left" size="1" width="33%"&gt;    &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn1" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Außer vielleicht mit dem einzigartigen Computer "Hex" aus Terry Pratchetts Scheibenwelt. *&lt;/p&gt;  &lt;p class="MsoFootnoteText"&gt;* Dieser magiebetriebene "Anthill Inside"-Computer, der hauptsächlich aus Glasröhren mit herumlaufenden Ameisen und Bienenwabenspeichern besteht ist in seiner fiktionalen Welt unseren weit überlegen. **&lt;/p&gt;  &lt;p class="MsoFootnoteText"&gt;** Aber unerwartete Fehler treten auch bei ihm auf, z.B. "+?????++ &lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;Out of Cheese Error. Redo From Start" oder " +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++"&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn2" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Wo auch immer die aufgetreten sein mögen.&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn3" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Wenngleich mir das Wort Devisen damals noch nicht viel sagte.&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn4" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[4]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Echte gegen Drachen kämpfende Helden kann nichts aufhalten, wenn sie die Welt retten!&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn5" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[5]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Ein wichtiger Fakt, denn Sie nie vergessen sollten^^&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5471681758925092777#_ftnref" name="_ftn6" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character: footnote"&gt;[6]&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; Es gibt halt Sünden, die einen ein Leben lang verfolgen.&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5471681758925092777?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5471681758925092777/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5471681758925092777' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5471681758925092777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5471681758925092777'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2009/02/computerspiele-die-klassiker.html' title='Computerspiele - Die Klassiker'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mRBkB83mYIU/SZBm6AKZW2I/AAAAAAAAAbY/LgVCoKpsyus/s72-c/0.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-372550741307368822</id><published>2008-12-17T02:38:00.000-08:00</published><updated>2008-12-17T02:40:30.806-08:00</updated><title type='text'>Frohe Weihnachten!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Clifton_Mill_Christmas_2005.JPG/800px-Clifton_Mill_Christmas_2005.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 800px; height: 600px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Clifton_Mill_Christmas_2005.JPG/800px-Clifton_Mill_Christmas_2005.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-372550741307368822?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/372550741307368822/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=372550741307368822' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/372550741307368822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/372550741307368822'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/12/frohe-weihnachten.html' title='Frohe Weihnachten!!'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2523754344419372346</id><published>2008-12-17T02:22:00.001-08:00</published><updated>2008-12-17T02:23:14.257-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geronimo'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Apache Geronimo Vortrag</title><content type='html'>Vielen Dank an Frank Pientka für seinen sehr interessanten Vortrag über Apache Geronimo. Ich denke wir haben gesehen, dass dieser Application Server durchaus das Potential hat, JBoss seinen Rang abzulaufen. Zumindest werden wir ihn in Zukunft beachten müssen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://195.110.18.10/home/osz@mathema.de/Briefcase/Public/JUG/Pientka_Geronimo_v0.1.pdf"&gt;Hier gibt es des die Folien zum Vortrag&lt;/a&gt; .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ein schönes Weihnachtsfest allen,&lt;/div&gt; &lt;div&gt;Oliver&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2523754344419372346?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2523754344419372346/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2523754344419372346' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2523754344419372346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2523754344419372346'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/12/apache-geronimo-vortrag.html' title='Apache Geronimo Vortrag'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-938153423549820018</id><published>2008-12-04T02:53:00.001-08:00</published><updated>2008-12-04T02:59:49.957-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Java User Group: Apache Geronimo</title><content type='html'>&lt;div&gt;&lt;div&gt;Das nächste Treffen ist am: Donnerstag, 11.12.2008, 18:00-19:45 Uhr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Der Ort ist: &lt;/div&gt;&lt;div&gt;Friedrich-Alexander-Universität Erlangen&lt;/div&gt;&lt;div&gt;Seminarraum 0.031 (Aquarium)&lt;/div&gt;&lt;div&gt;Martensstraße 1&lt;/div&gt;&lt;div&gt;91058 Erlangen&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es wird um Anmeldung gebeten (kurze Mail an info &amp;lt;at&amp;gt; &lt;at&gt; jug-ern.de).&lt;/at&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Informationen zu den vergangenen Treffen finden sich &lt;a href="http://sourceknights.blogspot.com/search/label/JUG"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aktuelles Thema: Apache Geronimo - Startrampe für Web-2.0-Anwendungen&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apache Geronimo steht mit seinem modularen Plug-In-Konzept für eine neue Generation von Java-EE-Anwendungsserver. Als Einziger unterstützt er zwei alternative JAX-WS-Web-Services-Implementierungen. Außerdem bringt er bereits einen Portalcontainer und AJAX-Bibliotheken mit, wodurch er sehr gut für Web-2.0-Anwendungen eingesetzt werden kann. Dieser Vortrag stellt Konzepte für Web-2.0/SOA-Anwendungen vor und zeigt welche Rolle Geronimo als Integrationsprojekt für andere Apache-SOA-Projekte spielt. Dipl.-Inform. Frank Pientka hat zu diesen Themen mehrere Vorträge, Artikel und ein Buch im DPUNKT-Verlag veröffentlicht.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Referent: Frank Pientka, Autor des Buches "Apache Geronimo" aus dem dpunkt Verlag&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Beste Grüße,&lt;/div&gt;&lt;div&gt;Oliver&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-938153423549820018?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/938153423549820018/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=938153423549820018' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/938153423549820018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/938153423549820018'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/12/java-user-group-apache-geronimo.html' title='Java User Group: Apache Geronimo'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8255210377320057527</id><published>2008-11-17T01:42:00.000-08:00</published><updated>2008-12-17T02:57:16.839-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='RCP'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Java User Group: RCP mit NetBeans</title><content type='html'>Vielen Dank an Toni Epple für seine schöne Einführung in NetBeans-RCP, und dass er dafür extra den Weg aus München zu uns auf sich genommen hat. Ich denke mit ca. 55 Teilnehmern war das ein voller Erfolg und sicher auch ihm zu verdanken. Auch war es sehr freundlich von der &lt;a href="http://www.teambank.de/"&gt;TeamBank&lt;/a&gt;, uns so kurzfristig den Raum zur Verfügung zu stellen. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/JUG/RCP6.5_ASQF_Nuernberg.pdf"&gt;Hier geht es zu den Folien des Vortrages.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://eppleton.sharedhost.de/blog/?p=287"&gt;Hier ein paar Photos.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Das nächste &lt;a href="http://www.jug-ern.de/"&gt;JUG-Treffen&lt;/a&gt; findet dann am 11.12.2008 statt. Näheres per &lt;a href="http://sourceknights.blogspot.com/2008/09/neuer-java-user-group-newsletter.html"&gt;JUG-Newsletter&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8255210377320057527?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8255210377320057527/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8255210377320057527' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8255210377320057527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8255210377320057527'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/11/java-user-group-rcp-mit-netbeans.html' title='Java User Group: RCP mit NetBeans'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7799776459370664288</id><published>2008-10-09T12:21:00.001-07:00</published><updated>2008-10-09T12:52:48.066-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Versionierung'/><category scheme='http://www.blogger.com/atom/ns#' term='Konfiguration'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Build'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Java User Group: Maven 2 Präsentation</title><content type='html'>Vielen Dank an Sascha für den interessanten Einblick in die Welt von Maven 2, den er uns gegeben hat. Besonders interessant war natürlich die Live-Demonstration.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hier gibts die Folien: &lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/JUG/T03_einfuehrung_in_maven.slide.xml.pdf"&gt;Maven 2&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7799776459370664288?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7799776459370664288/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7799776459370664288' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7799776459370664288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7799776459370664288'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/10/java-user-group-maven-2-prsentation.html' title='Java User Group: Maven 2 Präsentation'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-6907012118626416</id><published>2008-10-07T07:46:00.000-07:00</published><updated>2008-10-07T07:50:20.883-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Java User Group: Maven 2</title><content type='html'>Das nächste Treffen der Java User Group Erlangen / Nürnberg findet diesen Donnerstag, 09.10.2008 von 18h - 19:45 statt.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Das Thema ist Maven 2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Der Vortrag ist öffentlich, jeder darf also gern kommen. Um eine kurze Anmeldung bei oliver.szymanski@jug-ern.de wird gebeten, damit wir die Personenzahl planen können.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Der Ort des Treffens ist:&lt;/div&gt;&lt;div&gt;MATHEMA Software GmbH&lt;/div&gt;&lt;div&gt;Henkestr. 91&lt;/div&gt;&lt;div&gt;91052 Erlangen&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-6907012118626416?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/6907012118626416/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=6907012118626416' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6907012118626416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6907012118626416'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/10/java-user-group-maven-2.html' title='Java User Group: Maven 2'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5812505422627343083</id><published>2008-09-30T02:09:00.000-07:00</published><updated>2008-09-30T02:25:52.263-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><category scheme='http://www.blogger.com/atom/ns#' term='Closures'/><category scheme='http://www.blogger.com/atom/ns#' term='Superpackages'/><category scheme='http://www.blogger.com/atom/ns#' term='Module'/><title type='text'>Hex and the City: Java 7 Gerüchteküche</title><content type='html'>&lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Hex and the City: Java 7 Gerüchteküche&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Welche Neuerungen erwarten uns in Java 7?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;br /&gt;Folgendes ist natürlich bloß als mögliche Neuerungen zu verstehen. Was tatsächlich in Java veröffentlicht wird (und wie es dann im Detail aussieht), werden wir wohl erst erfahren, wenn Java 7 erscheint&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. Aber die folgenden Neuerungen sind im Gespräch.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Neuerungen allgemein&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Während eine Applikation möglichst vollständig sein sollte, um dem Nutzer viele Featues zu bieten, sollte eine Sprache dagegen simpel aber ausreichend sein. Wir sollen kreativ mit der Sprache umgehen, aber nicht in ihr&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;. Und wir dürfen nicht vergessen, die Vergangenheit muss weiter leben&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;. Wir müssen also möglichst abwärtskompatibel bleiben. Jeder erinnert sich vielleicht, wie schlimm es war &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style=""&gt;enum&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt; als neues Schlüsselwort einzuführen - zumindest die, welche einst Variablen mit diesem Namen benutzt hatten. Daher wird mit der Weiterentwicklung und Auswahl neuer Features in der Sprache Java sehr vorsichtig umgegangen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Superpackages&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Diese neuen Module können "normale" Pakete und Klassen enthalten, und definieren, welche davon veröffentlicht werden (JSR 294). So kann ein Modul z.B. aus drei Paketen bestehen, die ihrerseits "public"-Klassen enthalten. Obwohl die Klassen durch eine "public"-Sichtbarkeit dann untereinander in den Paketen sichtbar sind, sind sie als Teil des Moduls vor der Öffentlichkeit versteckt, wenn das Modul selbst sie nicht zusätzlich als "public" definiert.&lt;br /&gt;&lt;br /&gt;Ein Java Modul kann man dann als eine Art Jar (vielleicht ".JAM") mit erweiterten Metadaten, z.B. bessere Versionierung, verstehen (JSR 277). Die Versionierung schliesst zum Beispiel ein, dass man definiert, ein Modul A hängt von einem Modul B in der genauen Version 1.2.0 ab, während Modul B von Modul C in Version 2.0.3 oder höher abhängt. Durch die Module soll es dann auch möglich sein, eine Bibliothek in mehreren Versionen gleichzeitig in einem Prozeß zu haben, je nach Abhängigkeiten der Module. Ein Modulk welches wir benutzen könnte somit Log4J in einer alten Version nutzen, während unser eigener Code bereits die neues Version nutzt. Teilweise ist dies ja gerade dann wichtig, wenn Versionen nicht kompatibel sind. Mich erinnert das ganze sehr an die schöne Umsetzung der Assemblies in .NET, aber warum sollten Technologien auch nicht voneinander abgucken&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dank Module haben wir dann auch Laden on Demand und einen kleinen Memory Footprint. Die Java Laufzeit-Bibliotheken selbst werden dann vermutlich in Module getrennt, und bei Bedarf geladen. Auch Webstart-Anwendung können dann beschleunigt geladen werden, da wir besser regulieren können, was wirklich übertragen werden muss.&lt;br /&gt;&lt;br /&gt;Ein Beispiel wie so ein Superpackages aussehen könnte:&lt;br /&gt;&lt;br /&gt;src/com/foo/super-package.java:&lt;br /&gt;&lt;br /&gt;superpackage com.foo {&lt;br /&gt;   member package com.foo.api,&lt;br /&gt;       com.foo.model, com.foo.util;&lt;br /&gt;   export com.foo.api; // public&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Swing&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Ein neues Swing-Applikations-Framework ist geplant, wie man es aus diversen anderen Rich-Client-Plattformen kennt (JSR 296). Dieser Container für Desktop-Anwendungen beinhaltet einen mächtigen ApplicationContext, der dann Tasks, Eventverarbeitung uvm. unterstützt. Da ich eher selten in der Client-Entwicklung tätig bin, werde ich dies nicht weiter ausführen&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Annotationen&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Die Annotationen aus Java 5 werden uns öfter begegnen. Demnächst sollen sie beinahe überall benutzt werden können, z.B. bei der Definition von Variablen in Methoden, mitten in Ausdrücken, bei Typ-Deklarationen... (JSR 308). &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;Auch wird Java um deutlich mehr Standard-Annotationen erweitert: @NonNull String, @Existing File, @UnmodifiableList, @NonEmpty Map (JSR 305). Diese sollen weit mehr Prüfungen durch den Compiler und automatisch zur Laufzeit ermöglichen. Demnächst sagen wir also nur noch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;@NonNull String ichWerdeNieNull = "helloWorld" &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;und müssen uns über NullPointerExceptions nie wieder Gedanken machen&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt;. Wir werden sehen, ob das holde Ziel wirklich erreicht wird. Ob die Annotationen den Code (gerade für "Nicht-Profis") besser lesbarer macht, stelle ich auch noch in Frage.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Generics&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Das Problem, welches die Einführung von Generics in Java 5 und die gewünschte Abwärtskompabilität brachte, war das zur Laufzeit "ArrayList&amp;lt;String&amp;gt;" der gleiche Typ wie "ArrayList&amp;lt;Integer&amp;gt;" war. Per Reflection konnte man keinen Unterschied feststellen. Ebenso gab es bei generischen Konstruktoraufrufen oder erzeugen eines generischen Arrays Probleme. Dies soll mit einer besseren Laufzeitunterstützung von generischen Typen gelöst werden.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;NIO2&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Native IO 2 kommt (JSR 203) und bietet u.a. asynchrone APIs für den Zugriff auf Dateien und Sockets. Eine neue Filesystem API schenkt uns erweiterte Funktionalität im Bereich der Filesystem-spezifischen Daten (z.B. POSIX-Dateirechte). Desweiteren beinhaltet es Multicast-Unterstützung und Buffergrößen &amp;gt; int werden möglich sein.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;JavaBeans&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Innerhalb von JavaBeans gibt es einen neuen Bindungsmechanismus, der automatische Synchronisation zwischen JavaBeans-Properties ermöglicht. Die Bindungen sollen per Java-Code oder per JSP Expression Language definiert werden (JSR 295). Property-Typen die nicht direkt kompatibel sind, können dabei konvertiert werden. Zusätzlich wird ein Beans-Validierungs-Framework integriert, so dass Constraints auf Beans per Annotationen definiert werden können, wie man die bei Hibernate Validatoren kennt (JSR 303). Z.B. @Length(max=20) um festzulegen, dass ein Property maximal 20 Zeichen aufnehmen kann.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Um endlich von der Namenskonvention über get- und set-Methoden wegzukommen, mit der man Properties ja in Java momentan definiert&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt;, sollen Properties in Java demnächst syntaktisch unterstützt werden. Dies wird letztlich wohl eine neue Schreibweise für solche Properties bedeuten, ermöglicht dann aber auch leichtere Analyse (z.B. für Designertools), was wirklich Properties sind, und leichte Kontrollierbarkeit, dass beim "get" auch wirklich nur gelesen wird.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Closures&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Funktionen, die rumgereicht werden können. So könnte man Closures lapidar bezeichnen. Closures sind eine Art von Codeblöcke, die man ähnlich Funktionen definieren kann, und die man dann wie einen Parameter verwenden kann. Ein Closures besteht dabei aus einer Liste von möglichen formalen Parametern (oder keine, wenn keine benötigt werden) und eine Folge von Ausdrücken. Das ganze in geschweiften Klammern und getrennt durch "=&amp;gt;". Also sieht ein Closure folgendermaßen aus:&lt;br /&gt;&lt;br /&gt;{ formale Parameter =&amp;gt; Ausdrücke }&lt;br /&gt;&lt;br /&gt;Ein Closure, welches einer Funktion ohne Parameter und "void" als Rückgabetyp entspricht, wäre:&lt;br /&gt;&lt;br /&gt;{ =&amp;gt; System.out.println("Hello World"); }&lt;br /&gt;&lt;br /&gt;Soll das Closure einen String als Parameter bekommen, müssen wir es entsprechend anpassen:&lt;br /&gt;&lt;br /&gt;{ String s =&amp;gt; System.out.println(s); }&lt;br /&gt;&lt;br /&gt;Jetzt können wir eine Variable definieren, der genau ein solches Closure zugewiesen werden kann:&lt;br /&gt;&lt;br /&gt;{ String =&amp;gt; void } print =&lt;br /&gt;   { String s =&amp;gt; System.out.println(s); };&lt;br /&gt;&lt;br /&gt;Diese Variable können wir jetzt entsprechen an Methoden, etc. weiterreichen und letztlich die darin "gekapselte" Funktion aufrufen:&lt;br /&gt;&lt;br /&gt;print.invoke("Hello World");&lt;br /&gt;&lt;br /&gt;Die Schreibweise war an dieser Stelle beispielhaft. Wie das genau aussehen wird, falls Closures eingeführt werden, ist noch ungewiss, aber es gibt bereits dergleich gestalte Umsetzungen.&lt;br /&gt;&lt;br /&gt;Zusatz zu den Closures: Nach einem Gespräch mit James Gosling (der "Vater" von Java) auf dem Herbstcampus, scheinen Closures wohl doch nicht in Java 7 zu erscheinen. Josh Bloch hat wohl sein Veto dagegen erhoben, nachdem er trotz anfänglicher Begeisterung Closures plötzlich nicht mehr mochte. Diese Erkenntnis hatte Bloch wohl bei einem Frühstück, bevor er auf einer Konferenz über Closures (positiv) reden wollte. Kurzerhand hat er seinen Vortrag dann umgeworfen und war gegen die Einführung von Closures in Java 7&lt;a class="sdfootnoteanc" name="sdfootnote8anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote8sym"&gt;&lt;sup&gt;8&lt;/sup&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Skriptsprachen und Co.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Zusätzlich wird es vermutlich mehr Skriptsprachen geben, die auf der Java VM laufen sollen&lt;a class="sdfootnoteanc" name="sdfootnote9anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote9sym"&gt;&lt;sup&gt;9&lt;/sup&gt;&lt;/a&gt;. Um gerade die Sprachen ohne starke Typprüfung (also z.B. JavaScript, Ruby, Python) besser zu unterstützen, muss eine Möglichkeit geschaffen werden, das Ziel eines Methodenaufrufes dynamisch zu bestimmen. Dazu muss der Java-Bytecode um ein "invokedynamic" erweitert werden (JSR 292).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Uhrzeiten&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Na endlich. Es soll Aufräumarbeiten bei Date/Time geben. Man kann es kaum glauben, das ist ja, als wenn der Osterhase um den Weihnachtsbaum tanzt. Endlich nicht mehr Monate von 0 – 11 trotz Tage von 1 - 31. Und nicht mehr tausende von deprecated-Methoden, die dennoch genutzt werden, weil es eigentlich nichts besseres gibt. Und dann nach dieser halbgare &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style=""&gt;Calendar&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;, welch ein Graus. Jetzt besteht also Hoffnung für alle, die meine Meinung da teilen (JSR 310). Dazu vgl. man die JodaTime-Bibliothek.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Einheiten&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Die Physiker unter uns werden sich freuen. Es gibt Chancen darauf, dass in die Libraries neue Pakete aufgenommen werden, die (physikalische) Einheiten und Quantitäten und das Umrechnen/Konvertieren dieser von Haus aus ermöglichen (JSR 275). Ich finde ja, dass ganze ist zu speziell um in Java direkt integriert zu werden, aber solange es Module gibt und die VM diese nur bei Bedarf nachlädt, kann ich damit leben. Das Ganze könnte dann wie folgt aussehen:&lt;br /&gt;&lt;br /&gt;KILO(METER).getConverterTo(MILE).convert(10);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;JMX 2.0&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Die neue Version soll kommen. Und neue Annotation mit sich bringen, mit der man viel Schreibarbeit sparen kann (JSR 255). Desweiteren gibt es einen neuen Remote Connector, der die Anbindung als Webservices möglich macht (JSR 262).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;BigDecimal&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Endlich arithmetische Operatoren ("+", "-", ...) für BigDecimal-Typen. Juchuuu. Das brauchte die Welt ja schon lange.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;String &amp;amp; Switch&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;String-Literale für Case kommen als Erweiterung der Syntax. Gar nicht mal so schlecht.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;XML&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Als besonderer "Freund" von XML&lt;a class="sdfootnoteanc" name="sdfootnote10anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote10sym"&gt;&lt;sup&gt;10&lt;/sup&gt;&lt;/a&gt; (), musste ich Arg die Stirn runzeln, als ich von folgender Neuerung gehört habe. Allerdings bin ich auf der anderen Seite ein Liebhaber von allem, was wir uns der Compiler prüfen kann. XML soll syntaktisch in Java integriert werden können. Das sieht dann ungefähr wie folgt aus:&lt;br /&gt;&lt;br /&gt;void addReviewer (XML feature,&lt;br /&gt;       String reviewer, Timestamp time) {&lt;br /&gt;   DataCoder dc = DataCoder.XSD;&lt;br /&gt;   feature.add(&amp;lt;reviewed&amp;gt;&lt;br /&gt;               &amp;lt;who&amp;gt;{ reviewer }&amp;lt;/who&amp;gt;;&lt;br /&gt;               &amp;lt;when&amp;gt;{ dc.encode(time) }&amp;lt;/when&amp;gt;;&lt;br /&gt;                &amp;lt;/reviewed&amp;gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Nachdem ich LINQ in C# liebe, gerade weil man keine Strings mehr schreibt, die einem zur Laufzeit irgendwann um die Ohren schlagen, sondern vom Compiler geprüft werden, kann ich den Ansatz hier irgendwie wohl nicht verteufeln. Allerdings ist LINQ eine Query Language, und das hier ist XML!!! Gebt uns lieber eine Query Language (quasi wie SQL nur nicht bloß auf Datenbanken beschränkt), die Syntaxgeprüft werden kann, statt XML. Aber das ist meine Meinung.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;b&gt;Enumerationen&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style=""&gt;&lt;br /&gt;Vergleichsoperatoren bei Enumerationen sollen nutzbar werden.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Insgesamt freuen wir alle uns bestimmt schon auf das neue (siebte) Spielzeug ;-)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;Links:&lt;br /&gt;&lt;/p&gt;&lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt; &lt;/p&gt;&lt;p align="LEFT" style="margin-bottom: 0cm; border: none; padding: 0cm; widows: 2; orphans: 2"&gt; &lt;a href="http://tech.puredanger.com/java7"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: medium"&gt;http://tech.puredanger.com/java7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0cm; border: none; padding: 0cm; widows: 2; orphans: 2"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: medium"&gt;&lt;a href="http://gafter.com/~neal/"&gt;http://gafter.com/~neal/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="LEFT" style="margin-bottom: 0cm; border: none; padding: 0cm; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Georgia, serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: medium"&gt;&lt;a href="http://de.wikipedia.org/wiki/LINQ"&gt;http://de.wikipedia.org/wiki/LINQ&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="border: medium none ; padding: 0cm; margin-bottom: 0cm; widows: 2; orphans: 2;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote1anc"&gt;1&lt;/a&gt;Aber wie ja bekannt sein dürfte, was geschrieben steht ist wahr. Also definieren wir doch einfach einmal die Wahrheit.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote2anc"&gt;2&lt;/a&gt;Wobei ich das selbst manchmal ja auch tue: Entschuldigung. Ich verweise da insbesondere auf die Kolumne Deutsch für Informatiker in der letzten Ausgabe von Norbert Petsch.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote3anc"&gt;3&lt;/a&gt;Was man so unter leben versteht. Aber immerhin laufen auch noch Computerprogramme, die vor Jahrzehnten entwickelt wurden. Und die will niemand (naja, kaum jemand) umbauen, bloß weil eine neue Version der Sprache erscheint.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote4anc"&gt;4&lt;/a&gt;Gerade wo momentan die verantwortlichen Personen ja auch so schön herum wandern, Neil Gafter geht ja jetzt auch zu Microsoft von Google und noch früher von Sun.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote5anc"&gt;5&lt;/a&gt;Und davon abgesehen, wer will schon Swing-Applikationen bauen?^^&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote6anc"&gt;6&lt;/a&gt;Ähnlich wie jeder Java-Umsteiger aus der C++-Welt lernte: Du musst Dir um Pointer keine Gedanken machen. Und dann kam die erste NullPointerException.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote7"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote7sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote7anc"&gt;7&lt;/a&gt;Was ich ziemlich grausig finde, aber die Gründe sprengen jetzt hier den Rahmen und meine Zeit^^&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote8"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote8sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote8anc"&gt;8&lt;/a&gt;Ich recherchiere noch, was er gefrühstückt hat.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote9"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote9sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote9anc"&gt;9&lt;/a&gt;Wems Spaß macht ;-)&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote10"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote10sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=5812505422627343083#sdfootnote10anc"&gt;10&lt;/a&gt;Wo es Sinn macht, sehe ich es ja ein, leider wird es so oft ohne entsprechenden Sinn benutzt.&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5812505422627343083?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5812505422627343083/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5812505422627343083' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5812505422627343083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5812505422627343083'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/hex-and-city-java-7.html' title='Hex and the City: Java 7 Gerüchteküche'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1456692694732124683</id><published>2008-09-25T03:51:00.000-07:00</published><updated>2008-09-25T04:01:15.366-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferenz'/><title type='text'>SourceTalk</title><content type='html'>In Göttingen bei den &lt;a href="http://www.sourcetalk.de/"&gt;Source-Talk-Tagen&lt;/a&gt; darf ich heute 2 Vorträge zu Java zu halten. Diese Konferenz findet am Mathematischen Institut der Universität Göttingen statt, und ich freue mich dabei sein zu dürfen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Java7_secure.pdf"&gt;Java 7 - Gerüchteküche&lt;/a&gt; (Closures, Module, NIO 2, XML, ...)&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/java_puzzles.pdf"&gt;Java Puzzles&lt;/a&gt; (Code-Rätsel aus der Java-Welt)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1456692694732124683?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1456692694732124683/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1456692694732124683' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1456692694732124683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1456692694732124683'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/sourcetalk.html' title='SourceTalk'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7066695541496899438</id><published>2008-09-23T06:04:00.000-07:00</published><updated>2008-09-23T07:58:37.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Nachschlag: JBoss die Fünfte</title><content type='html'>Kurz nach der Herbstcampus-Session "JBoss die Fünfte" hat JBoss das zweite Candidate-Release ihres neuen Applicationservers veröffentlicht (Nein, das war nicht abgesprochen ,)). Unter &lt;a href="http://www.jboss.org/jbossas/downloads/"&gt;http://www.jboss.org/jbossas/downloads/&lt;/a&gt; ist seit dem 17. September die Version 5.0.0.CR2 verfügbar. Grund genug die auf dem Herbstcampus angeprangerten Bugs direkt mit der neuen Version zu testen.&lt;br /&gt;&lt;br /&gt;Die gute Nachricht lautet: Dependency-Injection in Managed-Beans funktioniert. Und zwar genauso, wie man es sich wünscht. Einfach mit &lt;span style="font-style: italic;"&gt;@EJB&lt;/span&gt; annotieren und glücklich sein (eine Angabe des JNDI-Namens ist nicht notwendig). Einfach schön :).&lt;br /&gt;&lt;br /&gt;Die schlechte Nachricht ist: nur weil etwas mit JSF funktioniert bedeutet dies wohl noch lange nicht, dass es im Rahmen der guten alten Webentwicklung (sprich in einem einfachen Servlet) auch funktionieren muss. Hier bleibt es bei der Notwendigkeit des in der Session vorgestellten Workarounds über die Angabe des &lt;span style="font-style: italic;"&gt;mappedName&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;@EJB(mappedName="xyz")&lt;/span&gt;). Schade eigentlich :(.&lt;br /&gt;&lt;br /&gt;Alles in allem sind wir erkennbar auf dem Weg zu einer 5.0.0.GA (ein weiteres Candidate-Release ist bei JBoss für die 5.0.0 nicht mehr in Planung), die wir mit Spannung erwarten.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7066695541496899438?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7066695541496899438/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7066695541496899438' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7066695541496899438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7066695541496899438'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/nachschlag-jboss-die-fnfte.html' title='Nachschlag: JBoss die Fünfte'/><author><name>Werner Eberling</name><uri>http://www.blogger.com/profile/17604840901930472031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_z7pwmG_0TwU/TBouzc0Gl3I/AAAAAAAAAFQ/EgaERm79DdU/S220/a047a2ee0.4319268,1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8710229318546750449</id><published>2008-09-23T04:18:00.000-07:00</published><updated>2008-09-23T04:32:50.785-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Tournament'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Source Nights Tournament: Ruby on Rails</title><content type='html'>&lt;div&gt;Hier der Screencast der Ruby on Rails Lösung des Newsletter-Anwendungsfalles. Siehe &lt;a href="http://source-knights.com/2008/09/herbstcampus-source-knights-tournament.html"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt; &lt;object type="application/x-shockwave-flash" data="http://www.jug-ern.de/hc08/flvplayer.swf" width="320" height="240"&gt;&lt;br /&gt;  &lt;param name="movie" value="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/flvplayer.swf" /&gt;&lt;br /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;&lt;br /&gt;  &lt;param name="FlashVars" value="flv=https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/ror.flv&amp;amp;title=Ruby on Rails Screencast&amp;amp;showfullscreen=1&amp;amp;margin=0" /&gt;&lt;br /&gt; &lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8710229318546750449?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8710229318546750449/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8710229318546750449' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8710229318546750449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8710229318546750449'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/source-nights-tournament-ruby-on-rails.html' title='Source Nights Tournament: Ruby on Rails'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4328788233091572223</id><published>2008-09-19T02:45:00.001-07:00</published><updated>2008-09-26T16:30:27.202-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='Tournament'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferenz'/><title type='text'>Herbstcampus 2008 Shortcuts</title><content type='html'>Die Folien zum Herbstcampus gibt es &lt;a href="http://source-knights.com/2008/09/erste-folien-zum-herbstcampus.html"&gt;hier&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Lösungen zum Source-Knights-Tournament sind &lt;a href="http://source-knights.com/2008/09/herbstcampus-source-knights-tournament.html"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Alle Einträge zum Herbstcampus sind &lt;a href="http://source-knights.com/search/label/Herbstcampus"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Photos sind &lt;a href="http://picasaweb.google.com/naciron/HerbstcampusPublic#"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Videos sind &lt;a href="http://www.youtube.com/user/naciron"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Konferenz-Website ist &lt;a href="http://www.herbstcampus.de"&gt;hier&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4328788233091572223?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4328788233091572223/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4328788233091572223' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4328788233091572223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4328788233091572223'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/die-folien-zum-herbstcampus-gibt-es.html' title='Herbstcampus 2008 Shortcuts'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8184442967846247068</id><published>2008-09-19T02:45:00.000-07:00</published><updated>2008-09-23T04:31:03.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE'/><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Herbstcampus: Source-Knights-Tournament Sourcen</title><content type='html'>Anbei die Folien zum Technologie-Turnier (die Sessions "Außer Konkurrenz I-V") auf der &lt;a href="http://www.herbstcampus.de/"&gt;Herbstcampus-Konferenz&lt;/a&gt; 2008)&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Innerhalb des Turniers wurde anhand des Newsletter-Anwendungsfalles live versucht, das Problem mit verschiedenen Technologien zu lösen. Dabei hatte jede Gruppe (jeweils ein Entwickler und ein Speaker, der erläuterte was der andere live vorführte) 60 Min. Zeit das Problem zu lösen (und vorab 10 Min. um die Aufgabenstellung zu erläutern). Somit wurde der Anwendungsfall als eine Art "Kleinprojekt" in einem Rundlauf live entwickelt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zuletzt gab es noch eine Diskussionsrunde mit den Beteiligten Gruppen. Dabei hat sich gezeigt, dass die Gruppen mit den Technologien &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;.NET mit LINQ2SQL zur Persistence, ServiceComponents (COM+) und Webservices für Remote-Zugriff auf die  Business-Schicht, einer ASP.NET-Webclient Anwendung und einem Rich-GUI-Client unter Windows Form (im Beispiel zusätzlich auch mit Windows Presentation Layer), sowie Konsolenanwendung für die Batch-Steuerung&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ruby on Rails inklusive Ruby-Debug und mit Ruby TK für den Rich-GUI-Client&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;In-Time eine Lösung präsentieren können. Zwei Technologien haben das Problem ebenfalls gelöst, brauchten aber mehr Zeit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Ercatons präsentierte eine Lösung nach 10 zusätzlichen Min. Allerdings gab es hier die Kritik, dass sie bereits ein Projektgerüst vorgefertigt hatten, was der Anforderung alles ohne Templates und von Scratch an zu entwickeln wiedersprach. An diese Anforderungen hatten sich die anderen gehalten. &lt;/li&gt;&lt;li&gt;Spring unter Java präsentierte eine Lösung nach 25 zusätzlichen Min.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eine Technologie wurde im Rahmen des Technologie-Turniers abgebrochen:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;JEE Lösung mit Maven als Build-Environment wurde nach Überziehung abgebrochen, weil eine schnelle Lösung nicht mehr zu sehen war.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Generell gab es das Fazit, dass alle Technologien gleichwertige Probleme lösen können. Darüber herrschte größtenteils Einigkeit. Jede Technologie hat dabei natürlich Vor- und Nachteile. Die Stärken der einzelnen Technologien zu sehen, kann allen helfen sich zu verbessern.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hier die Folien und Lösungen:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_Aufgabe_Newsletter.pdf"&gt;Die Aufgabe: Newsletter-Anwendungsfall&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_I_dotnet_source.zip"&gt;dotnet&lt;/a&gt; (Oliver Szymanski, David Tanzer)&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament-II_ercaton_source.zip"&gt;Ercatons&lt;/a&gt;, &lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_II_ercaton_screenshots.zip"&gt;Screenshots&lt;/a&gt; (Dr. Falk Langhammer, Oliver Imbusch)&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_III_JEE-source.zip"&gt;Java Enterprise Edition (JEE)&lt;/a&gt; (Sascha Groß, Pourya Harirbafan)&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_IV_Spring-source.zip"&gt;Spring unter Java&lt;/a&gt; (Werner Eberling, Dr. Shota Okujava)&lt;/li&gt;&lt;li&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Source-Knights-Tournament_V_Ruby_on_Rails-source.zip"&gt;Ruby on Rails&lt;/a&gt; (Andreas Schubert, Thomas Wittpahl), &lt;a href="http://sourceknights.blogspot.com/2008/09/source-nights-tournament-ruby-on-rails.html"&gt;Screencast&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Screencast folgen in Kürze. Ich nehme auch gern Lösungen und Screencast zu anderen Technologien (die nicht im Herbstcampus 2008 gezeigt wurden) auf. Sie dürfen gern Vorschläge einreichen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wir freuen uns auf Kommentare zu den Technologien. Danke^^&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8184442967846247068?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8184442967846247068/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8184442967846247068' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8184442967846247068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8184442967846247068'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/herbstcampus-source-knights-tournament.html' title='Herbstcampus: Source-Knights-Tournament Sourcen'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-1721867501269456291</id><published>2008-09-17T17:49:00.000-07:00</published><updated>2008-09-19T05:42:18.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><title type='text'>Herbstcampus: Middle-Tier^^</title><content type='html'>Der Tag in der Mitte des Herbstcamps ist vorbei, die Teilnehmer und Speaker haben den Mittwoch überstanden ;-) Ich hoffe doch positiv - aber ich bin da guter Dinge. Mit einigen Aussteigern aus dem Kickerturnier waren wir dann noch in der Sneak im Kino... Dabei muss man wissen, dass man in der Sneak bis zum Start nicht weiß, welcher Film denn gezeigt wird.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Naja, es sei denn man geht hier wirklich oft ins Kino und bekommt Informationen unter der Hand *g*&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Leute, die sich von mir mitschleppen ließen, wurden mit einer ergreifenden Liebesgeschichte beglückt: ein ganz normales 90er-Jahre Handy verliebt sich in ein iPhone. Zumindest Designtechnisch war dies so, denn gezeigt wurde:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.walle-derfilm.de"&gt;Wall-e&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Der süße kleine Roboter, der auf der Erde für Ordnung sorgt. Denn: "der Letzte räumt den Müll weg". Sicherlich nur ein Highlight für die Besucher des Herbstcampus. Ein Photo des Kinobesuches findet man unter &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ich wünsche allen einen freudigen Start in den finalen Herbstcampus 2008 Tag.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-1721867501269456291?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/1721867501269456291/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=1721867501269456291' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1721867501269456291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/1721867501269456291'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/herbstcampus-middle-tier.html' title='Herbstcampus: Middle-Tier^^'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2309359553539765551</id><published>2008-09-16T11:41:00.000-07:00</published><updated>2008-09-21T10:35:12.505-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><title type='text'>Folien zum Herbstcampus</title><content type='html'>Hi zusammen,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;hier sind die Folien zu den Sessions. Die Lösungen des Technologie-Turniers sind &lt;a href="http://source-knights.com/2008/09/herbstcampus-source-knights-tournament.html"&gt;hier&lt;/a&gt; erhältlich. Wir werden auch alle verlinken, die uns zusätzlich geschickt werden.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Keynote_Glaubenskrieger.pdf"&gt;Keynote: Glaubenskrieger und Evangelisten (Oliver Szymanski, Werner Eberling)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/dotnet_puzzles.pdf"&gt;.NET: Puzzeln.Net (Oliver Szymanski)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/JSF-Hacks.pdf"&gt;JSF-Hacks (Sascha Groß, Christian Beranek)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Einfuehrung_in_maven_2.pdf"&gt;Einführung in Maven 2 (Sascha Groß)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Mal_ganz_anders-Google-Web-Toolkit.pdf"&gt;Mal ganz anders - Google Web Toolkit (Adrian Bürki)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Geruechtekueche_EJB31.pdf"&gt;Gerüchteküche - EJB 31 (Werner Eberling)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/JBoss-Die_Fuenfte.pdf"&gt;JBoss - Die Fünfte (Werner Eberling)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/Naehkaestchenplauderei_JBoss-Seam.pdf"&gt;Nähkästchenplauderei - JBoss Seam (Werner Eberling, Francis Pouatcha)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/CSharp30_Noch_schaerfer.pdf"&gt;C# 3.0 - Noch schärfer (Oliver Szymanski)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;und dann mal noch dazu die Java-Puzzles aus der letzten &lt;a href="http://sourceknights.blogspot.com/search/label/JUG"&gt;Java User Group Erlangen-Nürnberg&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;a href="https://mail.mathema.de/home/osz/Briefcase/Public/Herbstcampus2008/java_puzzles.pdf"&gt;Java Puzzles (Oliver Szymanski, Werner Eberling)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die nächsten Photos sind auch bereits mit Klick auf die Bilder-Slideshow links ersichtlich.&lt;/div&gt;&lt;div&gt;Einen schönen Abend allen^^&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2309359553539765551?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2309359553539765551/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2309359553539765551' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2309359553539765551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2309359553539765551'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/erste-folien-zum-herbstcampus.html' title='Folien zum Herbstcampus'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-3581297088702346523</id><published>2008-09-15T07:30:00.000-07:00</published><updated>2008-09-15T16:35:32.307-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Dotnet'/><title type='text'>Herbstcampus</title><content type='html'>Willkommen auf dem Herbstcampus!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Heute beginnt der Herbstcampus 2008 in Nürnberg. Gestartet wird die Java- und .Net-Konferenz mit den Tutorien von Max Katz (RichFaces), Sascha Groß (Maven), Isabella Kneissl und Pourya Harirbafan (Java ServerFaces).&lt;br /&gt;&lt;br /&gt;Die ersten Bilder von unserer "Nachtwanderung" - der Stadtführung durch die abendliche Nürnberger Altstadt - sind auch schon ersichtlich (siehe links^^).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wir freuen uns auf zahlreiche Kommentare der Herbstcampus-Besucher!&lt;br /&gt;(Dazu bitte diesen Post kommentieren - auch anonym möglich)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-3581297088702346523?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/3581297088702346523/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=3581297088702346523' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3581297088702346523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/3581297088702346523'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/herbstcampus.html' title='Herbstcampus'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4814497288679557645</id><published>2008-09-13T06:38:00.000-07:00</published><updated>2010-06-19T07:03:44.484-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Java User Group Newsletter</title><content type='html'>&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;Die Java User Group Erlangen-Nürnberg hält ihre Mitgliederliste in der &lt;a href="http://www.xing.com/net/jug-ern"&gt;Xing-Gruppe&lt;/a&gt;&amp;nbsp;oder per eMail-Newsletter.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;Die "Mitgliedschaft" ist formlos und kostenfrei.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;Um sich am Newsletter anzumelden bitte eine eMail mit dem Betreff&lt;br /&gt;"subscribe JUG" an&amp;nbsp;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;jug@source-knights.com&lt;/a&gt;&amp;nbsp;senden.&lt;br /&gt;Um sich am Newsletter abzumelden bitte eine eMail mit dem Betreff&lt;br /&gt;"unsubscribe JUG" an&amp;nbsp;&lt;a href="mailto:jug@source-knights.com" style="color: #0658b5;"&gt;jug@source-knights.com&lt;/a&gt;&amp;nbsp;senden.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_mRBkB83mYIU/TBzOJua5fhI/AAAAAAAAAuU/TNf9ltikhdw/s1600/JUG_Logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_mRBkB83mYIU/TBzOJua5fhI/AAAAAAAAAuU/TNf9ltikhdw/s320/JUG_Logo.png" style="cursor: move;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4814497288679557645?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4814497288679557645/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4814497288679557645' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4814497288679557645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4814497288679557645'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/neuer-java-user-group-newsletter.html' title='Java User Group Newsletter'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_mRBkB83mYIU/TBzOJua5fhI/AAAAAAAAAuU/TNf9ltikhdw/s72-c/JUG_Logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5805328328821567640</id><published>2008-09-12T05:03:00.000-07:00</published><updated>2008-09-19T08:17:40.860-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Herbstcampus'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Java User Group Erlangen-Nürnberg bei Consors</title><content type='html'>So, am Donnerstag war wieder &lt;a href="http://www.jug-ern.de/"&gt;JUG&lt;/a&gt;-Treffen. Diesmal waren wir bei &lt;a href="http://www.consors.de/"&gt;Consors&lt;/a&gt; in Nürnberg, die uns netterweise ein Treffen in ihren Räumen erlaubt haben. Die Stimmung war sehr angenehm (hoffe ich zumindest) und der Raum vollständig gefüllt. Etwas über 40 Personen waren wohl anwesend.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zusammen mit meinem Kollegen habe ich Java Puzzles im Vortag "&lt;a href="http://www.okarina.de/home/source-knights.com/download/java_puzzles.pdf"&gt;Java Wars: Episode IV - Don't lose hope&lt;/a&gt;" vorgestellt, und gemeinsam haben die Anwesenden versucht rauszufinden, was die Code-Beispiele wohl tun. Dabei war die Lösung nicht immer das, was man glaubte.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hoffentlich hat es allen so gefallen, wie uns als Speaker^^&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jetzt freuen wir uns schon auf den &lt;a href="http://www.herbstcampus.de/"&gt;Herbstcampus&lt;/a&gt; nächste Woche, und ich auch auf den &lt;a href="http://www.sourcetalk.de/"&gt;Java Source Talk Day&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5805328328821567640?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5805328328821567640/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5805328328821567640' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5805328328821567640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5805328328821567640'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/java-user-group-erlangen-nrnberg-bei.html' title='Java User Group Erlangen-Nürnberg bei Consors'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4212540649064221031</id><published>2008-09-10T09:57:00.000-07:00</published><updated>2008-09-13T17:15:04.978-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Browser'/><title type='text'>Hex and the City: Google Chrome Browser</title><content type='html'>Der neue Google Chrome Browser ist als Beta verfügbar. Ich habe mir mal die Mühe gemacht ihn zu testen und nutze ihn seitdem sogar sehr gern. Meine Kritik und mein Fazit ist in der September-Ausgabe des kostenlosen Magazin &lt;a href="http://www.bookware.de/"&gt;KaffeeKlatsch&lt;/a&gt; zu lesen. Wer es noch nicht abonniert hat, kann meine Kolumne auch hier lesen (wenn auch nicht so schön im Layout^^):&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Hex and the City: Der Google Chrome Browser&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Warum sollen wir eigentlich reisen, wenn wir die Welt doch googlen können?&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Ein neuer Browser erobert die Welt. Ein Comic [1] hat ihn wie eine Prophezeiung verkündet.&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Da wird in freundlichen Bildern erklärt, das die Welt sich verändert hat. Quasi eine ganz eigene Internet-Welt im Aufbruch. Wir schauen uns keine Web-Seiten mehr an, wir bedienen Web-Applikationen. Na ja, ich für meinen Part würde mir teilweise gern mal wieder „Web-Seiten“ ansehen, aber heutzutage laufen ja beinahe überall Filmchen, es wird Musik gespielt, und das &lt;span style="color:#800000;"&gt;mir&lt;/span&gt; bereits vor Jahren verhasste Wort „Multimedia“ breitet sich aus. Wahrscheinlich ist es das elektronische Synonym zur Pest oder dem Schwarzen Tod des 14. Jahrhunderts.&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Vor allem, wenn man an die Bandbreitenverschwendung und Wartezeiten denkt.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Aber Recht haben sie in diesem Comic. Denn das Internet ist nicht mehr gefüllt mit statischen Inhalten. Die Web-Auftritte der meisten Domains haben ein multimediales Eigenleben und machen sich breit auf unseren Computern. Sehr zur Freude jedes Menschen, der Ergonomiestudien betreibt. Denn solange es diese Entwicklung gibt, wird sein Job gesichert sein. Je bunter, schriller ein Web-Auftritt wird, desto mehr entfernt er sich meist vom Standard. Gerade in der Bedienung. Und das ist nicht immer zum Wohl der Besucher der Web-Seiten. Manchmal ist weniger mehr.&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Aber so ist der Fortschritt eben. Und solange wir solche Seiten anklicken, werden sie wohl kaum weniger werden. Also: es ist ein Fakt, dass Web-Seiten heute oft Applikationen gleichen. Gerade bei diversen Internet-Shops ist das so. Und wer würde da motzen. Bevor ich einen Akku in einem lokalen, großen Elektronikmarkt für 49 € kaufe, bestelle ich ihn doch lieber im Internet. Da habe ich erst kürzlich für solch einen Akku nur 19 € bezahlt, dazu 3 € Versand. Und die ca. 35 Minuten Weg inklusive Parkplatzsuche gespart.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Webapplikationen&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Was genau ist denn jetzt anders, wenn Web-Seiten eher Applikationen sind? Sie verbrauchen weit mehr Ressourcen. Dazu gehört Hauptspeicher und CPU-Last – ganz zu schweigen von Platz auf dem Bildschirm. Und statt einfach nur dem Browser zu sagen, wie Bilder, Texte und Videos angezeigt werden sollen, laufen mit JavaScript viele dynamische Effekte ab. Sichtbare und nicht sichtbare. Auf mathematischer Ebene betrachtet&lt;span style="color:#800000;"&gt; sind das nur &lt;/span&gt;irgendwelche Berechnungen. Teilweise werden Browser „ausgebremst,“ durch schlecht geschriebenen JavaScript-Code einer Web-Seite die angezeigt werden soll. Ausserdem brauchen wir weit mehr Stabilität, denn wenn wir in einer Applikation (Online-Office-Anwendung, eMail-Client) einen Text schreiben, wollen wir diesen ungern wegen eines Fehlers verlieren. Und falls doch ein Absturz auftritt, wollen wir den Text wiederherstellen können.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Prozesse&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Ein Hauptaugenmerk in der Architektur des Google-Chrome-Browsers war daher, nicht nur alles linear zu verarbeiten. Eine Web-Seite die ewig rechnet, soll uns nicht mehr aufhalten. Statt einfach einen Multithreaded-Browser zu entwickeln, ging Google allerdings einen Schritt weiter. Jede Seite (und damit auch jedes Tab, was im Browser angezeigt wird) wird als eigener Prozess gestartet. Ein eigener Prozess bedeutet noch mehr Unabhängigkeit untereinander. Allerdings auch den Nachteil, dass gewisse Basisdatenstrukturen in jedem dieser Prozesse als Kopie vorliegen. Wir verlieren also ein wenig Speicher je Tab zu Gunsten der Stabilität. Aus Sicht des Software-Architekten lasse ich mir das aber gern gefallen, vor allem wenn man bedenkt, dass der gesamte Speicher, den eine Web-Seite belegt, so ohne Rückstände freigegeben wird, wenn ich sie schließe. Und aus Benutzersicht bedeutet es, ich kann alle anderen Tabs problemlos bedienen, selbst wenn ein Tab (eine Webseite) gerade beschäftigt ist. Jedes neu geöffnete Tab bedeutet einen geregelten Neustart dieser Seite. Und wenn ein Fehler auf genau einer Webseite vorliegt, droht kein Absturz des gesamten Browsers, sondern nur des einen Prozesses.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Selbst wenn man innerhalb eines Tabs die Domain wechselt, wird der alte Prozess geschlossen und ein neuer begonnen. Die Startzeit ist im Google-Browser überraschender Weise dennoch minimal. Ein nettes Feature des Browsers ist sein eingebauter Task-Manager für die Webseiten-Prozesse. Man sieht genau, welche Web-Seite wie viel Speicher und CPU „frisst.“ Da ist es schon erschreckend zu sehen, dass selbst simple Web-Seiten um die 20 MByte Hauptspeicher haben oder die Wikipedia-Hauptseite [2] ca. 10 MByte. Kein Wunder, dass manche minder dimensionierte Rechner bei vielen Tabs immer so langsam werden.&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Wiederherstellung nach Absturz&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Google Chrome kann den letzten Zustand bei komplettem Absturz der Prozesse wiederherstellen. Dies geht sowohl, wenn ein Prozess für ein einzelnes Tab abstürzt, als auch, wenn der Hauptprozess verloren geht. Dies beinhaltet die geöffneten Tabs, die Liste der kürzlich geschlossenen Tabs, die Browserhistorie und noch viel wichtiger: unsere Eingaben!&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Test-First&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Was mich gerade bei dem Comic (dem Browser selbst sieht man den eigentlichen Entwicklungsprozess ja nicht direkt an) als Software-Architekt gefreut hat, war die Betonung des Tests bei der Entwicklung. Ja, auf diese Strips im Comic sollte ein jeder mal genau schauen der an Software-Entwicklung beteiligt ist. Bugs finden sich frühzeitig leichter als weit später, wenn man bereits ganz andere Module der Software entwickelt. Außerdem gilt wie immer: Fehler frühzeitig erkennen hilft, sie im Rest des Projektes zu unterlassen.&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt; Google Chrome ist also laut Comic ein Beispiel für Test-Driven-Design.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Engines&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Zum Rendern und für JavaScript griff das Projektteam von Google Chrome auf existierende Software zurück. WebKit als Renderer und V8 als JavaScript Virtual Machine. Letzteres ist gerade so interessant, weil es statt interne Repräsentation von JavaScript-Code immer wieder zu interpretieren, Maschinen-Code generiert und im Gegensatz zu vielen anderen JavaScript-VMs inkrementelle Garbage-Collector-Algorithmen nutzt.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Drag &amp;amp; Drop&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Was gibt es außer den Interna noch für Features? Insbesondere die Bedienbarkeit der Tabs hat mir gefallen. Da kann man Drag und Drop beinahe ohne Grenzen nutzen, somit die Tabs verschieben oder sie aus dem Fenster lösen und damit ein eigenständiges Fenster anlegen. Auch lassen sich Tabs in existierende Browser-Fenster verschieben. Ich konnte selbst ein Tab aus dem Mozilla Firefox in Google Chrome ziehen, da geht dann einfach ein neues Tab mit gleicher URL auf.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Das ganz neue Design beim Google-Browser setzt die Tabs übrigens ganz nach oben, Menüs und Adresseingabe sind Teil des Tabs und nicht übergeordnet. Gerade die Adresseingabe ist gut gelöst, es gibt ein Eingabefeld für alles (Adressen, Suchbegriffe, alles mit Autovervollständigung). Und als Suchmaschine ist selbstverständlich nicht nur Google nutzbar, sondern dies ist frei konfigurierbar.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Neue Tab-Seite&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Öffnet man ein neues leeres Tab hat man direkt Zugriff auf die am häufigsten genutzten Adressen, seine Lesezeichen, die Historie und die kürzlich geschlossenen Tabs (hilfreich wenn man sich verklickt hat). Das ist sinnvoll, denn wenn man ein neues Tab öffnet, will man ja meist irgendwohin navigieren und ist somit ein netter Ersatz zu der sonst üblichen Startseite.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Inkognito-Modus&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Und für Leute die gerade mal nichts über ihr Tun im Internet abspeichern wollen,&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt; gibt es extra die Möglichkeit ein Fenster „inkognito“ zu öffnen. Dies bedeutet, alles was jetzt in diesem Fenster passiert bleibt insoweit anonym, als das es auf dem Computer nicht vermerkt wird (Caches, Cookies etc. werden beim Schließen direkt gelöscht). Dies ist sicherlich ein wichtiges Feature für pubertierende Jugendliche, die den Computer der Eltern nutzen.&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt; Das hat natürlich keinen Einfluss auf die Seiten, welche wir besuchen, und was sich diese über uns merken.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Anwendungsverknüpfungen&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Außerdem lassen sich Seiten als Anwendungen betrachten. Dafür kann man für die Seiten sogar Verknüpfungen (z. B. auf dem Desktop) anlegen lassen. In diesem Modus fehlt die URL-Leiste und sämtliche andere Menüs, die Web-Applikation wird dann in einem ansonsten leeren Fenster angezeigt. Gerade für eine Mail-Applikation oder Kalenderanwendung sieht das sehr schön aus, oft würde der „Zurück“-Button inklusive seiner Funktionalität ja ohnehin nur stören und Fehlerfälle provozieren.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Sicherheit&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Auch Sicherheit wird versucht in dem neuen Browser effektiv zu lösen. Jede Web-Seite läuft in einer eigenen Sandbox, darin enthaltene Plugins (z. B. Video-Player) in einem eigenen Prozess. Bei der Ausführung von Plugins muss man immer noch sehr vorsichtig sein, da diese außerhalb der Sandbox laufen. Außerdem prüft Google Chrome bei der Eingabe von Adressen, ob diese auf „Schwarzen Listen“ stehen, weil sie bösartige Dinge zu tun versuchen und warnt den Benutzer dann, bevor die Seite geladen wird. Außerdem ist selbst die Anzeige der Adresszeile hilfreich bei der Sicherheit: Wird beispielsweise das führende „&lt;a class="moz-txt-link-freetext" href="https://xn--hvg/"&gt;https://“&lt;/a&gt; durchgestrichen und rot dargestellt, wenn das Zertifikat einer Seite für die SSL-Verschlüsselung abgelaufen ist.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Datenschutz [3]&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Der Browser übermittelt zum prüfen ob eine Seite „bösartig“ ist, die URL an Google zum Abgleich mit den „Schwarzen Listen“. Außerdem werden die Eingaben in der Adresszeile an Google gesendet, um die Autovervollständigung von Domain-Namen anbieten zu können. Sind wir bereit Nutzungsstatistiken und Absturzberichte an Google zu senden, gehen auch diese Daten hinüber. Das alles kann man in den Optionen deaktivieren, hat dann natürlich auch die Funktionalitäten die darauf basieren nicht mehr. Viel problematischer dürfte sein, dass jede Kopie des Google Chrome Browsers, welche man installiert, eine eindeutige Anwendungs-ID bekommt. Damit sind für Google alle Daten und Anfragen eines Browsers auch eindeutig diesem Browser zuordbar. Es wird momentan für die Nutzungsstatistik und Absturzberichte und bei Updates des Browsers genutzt. Dies ist nicht deaktivierbar. Als Verfechter von Datenschutz muss ich das strikt ablehnen. Da der Browser Open Source ist, gibt es vielleicht bald gepatchte Version ohne letzteres fragwürdige „Feature“. Aber wer hat schon Bedenken beim Datenschutz, wir beichten ja auch in der Kirche.&lt;a class="sdfootnoteanc" name="sdfootnote8anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote8sym"&gt;&lt;sup&gt;8&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Mein Fazit&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Meines Erachtens ist der Browser selbst jetzt in der Beta bereits „top“. Viele seiner Funktionen landen hoffentlich (gerade aufgrund seines OpenSource-Charakters) in anderen Browsern. Immerhin sind auch die erforderlichen Webdienste wie die „Schwarzen Listen“ frei zugänglich. Ich nutze Google Chrome ab sofort gern, bin mir aber auch bewusst über den Datenschutz, bzw. seine Abwesenheit. Auf meinen Firefox greife ich dann zurück, wenn ich ein Add-on zwingend benötige. Auf meinen Safari, wenn ich mit meinem Apple in der weiten Welt des Internets unterwegs bin. Und auf den Microsoft Internet Explorer, wenn ich in Outlook Web Access E-Mails lesen will. Das hat nämlich noch kein anderer Browser schön hinbekommen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Meine größte Kritik ist, dass der Browser noch nicht auf meinem Apple-Notebook läuft – zumindest nicht nativ. Und diese lästige Anwendungs-ID.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Referenzen&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;[1] Google &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;Google Chrome&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;, &lt;a href="http://www.google.de/googlebooks/chrome"&gt;http://www.google.de/googlebooks/chrome&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; [2] Wikipedia &lt;a class="moz-txt-link-freetext" href="http://de.wikipedia.de/"&gt;http://de.wikipedia.de&lt;/a&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;[3] Datenschutzbestimmungen &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;Google Chrome&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="text-decoration: none;"&gt;&lt;span style=""&gt;, &lt;a href="http://www.google.de/chrome/intl/de/privacy.html"&gt;http://www.google.de/chrome/intl/de/privacy.html&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote1anc"&gt;1&lt;/a&gt;Und das Prinzip von Selbsterfüllenden Prophezeiungen dürfte ja jedermann bekannt sein. Spätestens seit Harry Potter, denn Voldemort versucht Harry als Baby zu töten, weil er durch eine Prophezeiung erfahren hat, dass ihn der Junge vernichten wird. Doch Harry überlebt und die Prophezeiung erfüllt sich selbst.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote2anc"&gt;2&lt;/a&gt;Wobei nicht einwandfrei nachgewiesen ist, ob die Pandemie des 14. Jahrhunderts in Europa wirklich auf Pesterregern basierte – aber ebenso wenig wissen wir, ob Multimedia tatsächlich von den Usern gewünscht ist, zumindest in der Menge, in der wir damit überschwemmt werden&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote3anc"&gt;3&lt;/a&gt;Und das gilt auch in vielen anderen Bereichen&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote4anc"&gt;4&lt;/a&gt;Das sind dann die Bekannten, die ständig anrufen und sich beschweren (nicht zu Unrecht) ihr Rechner wäre zu langsam*&lt;/p&gt; &lt;p class="sdfootnote"&gt; * Je nach Gemütslage gönne ich mir dann schonmal den Spass und führe einen Exkurs in die O-Notation und Grundlagen der Theoretischen Informatik**&lt;/p&gt; &lt;p class="sdfootnote"&gt; ** Die Anrufe werden dann auch spürbar weniger^^&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote5anc"&gt;5&lt;/a&gt;Hoffentlich – wobei ich durchaus auch Erfahrungsresistente Menschen kenne, die immer wieder dieselben Fehler machen. Ich z.B. verlasse jeden Tag aufs neue mein Bett. Oder noch plastischer: ich lasse den Schlüssel liegen, breche durchs Fenster ein, lasse wieder den Schlüssel liegen ...&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote6anc"&gt;6&lt;/a&gt;Vielleicht weil sie Geschenke für Personen suchen und bestellen, die den Computer auch benutzen*&lt;br /&gt;* Man soll ja stets ans gute im Menschen glauben&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote7"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote7sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote7anc"&gt;7&lt;/a&gt;Für den Fall, dass auch sie Geschenke suchen. Wie gesagt, man soll ja stets ans gute im Menschen glauben&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote8"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote8sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4212540649064221031#sdfootnote8anc"&gt;8&lt;/a&gt;An dieser Stelle Weise ich nochmal auf meinen Text über Datenschutz in der Februarausgabe des KaffeeKlatsch hin. Datenschutz und -Sicherheit geht alle an und ist meiner Meinung nach essentiell!&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-4212540649064221031?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/4212540649064221031/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=4212540649064221031' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4212540649064221031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/4212540649064221031'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/google-chrome-browser.html' title='Hex and the City: Google Chrome Browser'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-8405583813193733883</id><published>2008-09-07T11:04:00.000-07:00</published><updated>2008-09-13T17:15:21.841-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><title type='text'>Hex and the City: Datenschutz und Datensicherheit</title><content type='html'>&lt;p&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Meine Kolumne Hex and the City zum Thema Datenschutz und -Sicherheit war bereits im kostenlosen Magazin KaffeeKlatsch zu lesen. Wer es noch nicht abonniert hat, kann meine Kolumne auch hier lesen (wenn auch nicht so schön im Layout^^):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Hex And the City: Datenschutz und Datensicherheit&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Gibt man in der weiten Welt der Datenverarbeitung eine Information ein, besteht immer die Gefahr, dass unbekannte Dritte ein weiteres Puzzlestück zusammenfügen können. Häufig gehen wir mit Daten nicht sensibel um. Bei eigenen Daten ist das schlimm genug, doch für die sind wir selbst verantwortlich. Aber bei Daten anderer ist dies meiner Meinung nach - und diese Ansicht teilt der Gesetzgeber&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; - unverzeihlich. Selbst bei simplen Anwendungsfällen dürfen wir &lt;i&gt;Sicherheit nicht unterschätzen&lt;/i&gt;. Stellen wir uns eine völlig unkritische Anwendung vor, beispielsweise ein harmloses&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Internetforum, mit Name und Passwort als Zugangsdaten. Außerdem ist dort die eMail-Adresse ausschließlich für Administratoren sichtbar hinterlegt. Völlig simpel. Vielleicht denkt sich der Entwickler dieses Forums: "Häufig vergessen User ihre Passwörter.&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; Passwörter nach Sicherheitsfragen&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; neu zu generieren oder zu mailen ist mir zu aufwendig. Wir hinterlegen alle Passwörter lesbar für unsere Administratoren, und die können sie den Nutzern bei Bedarf mitteilen." Er hat ein entscheidendes Detail nicht beachtet. Oft genug haben User dasselbe Passwort für ein Forum und den eMail-Zugang. Administratoren des Forums haben somit Zugang zu den eMail-Postfächern einiger User. Wenig Phantasie reicht aus, was für &lt;i&gt;Missbrauch&lt;/i&gt; betrieben werden kann - Newsletter der Online-Bank, anderer Internetdienste, vielleicht wieder mit dem gleichen Passwort geschützt ... und wenn nicht, naja, solange der Mailaccount bekannt ist, kann ich jetzt bei Diensten Passwörter neu generieren und zuschicken lassen. Die eMails können wir schließlich lesen. &lt;i&gt;Datenschutz und Datensicherheit ist wichtig, auch und gerade bei den weniger sensiblen Diensten.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Datenschutz&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Als Datenschutz bezeichnen wir den Schutz personenbezogener Daten vor Missbrauch. Zu personenbezogenen Daten gehören alle Daten, die persönliche oder sachliche Verhältnisse eine Person wiedergeben. Kernpunkte des Datenschutzes sind Datensparsamkeit und Datenvermeidung (so wenig wie möglich sammeln), Erforderlichkeit (brauchen wir die Daten wirklich) und Zweckbindung (für was brauchen wir die Daten eigentlich). Häufig wird in diesem Zusammenhang in Deutschland auf das Recht auf informationelle Selbstbestimmung hingewiesen, doch was ist das für ein Recht und woher stammt es?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;1983 sollte in Deutschland eine Volkszählung durchgeführt werden, zu der die Beantwortung von Fragebögen gehörte. Dazu sollte die Zählung durch Beauftragte, die an der Haustür klingelten, erfolgen. Die Volkszählung bestand auch aus einer Erhebung von Gebäude- und Wohnungsstatistiken und einer Berufszählung. Es ging um detaillierte Angaben zum Lebenslauf, Religion, alleinige Nutzung der Wohnung, Quelle des Lebensunterhaltes, Art/Größe/Eigentümer des Wohnraumes, soziale Förderungen für den Wohnraum, evtl. Miethöhe, Dauer des Leerstehens bei nicht benutzten Wohnungen. Die beruflichen Fragen umfassten u.a. Daten zum Telefonanschluss, Anzahl der Telefone, Art der ausgeübten Tätigkeit und des Unternehmens als solches, Zahl der beschäftigten Personen nach Geschlecht und Stellung im Betrieb, Summe der Gehälter. Die Fragen gaben Anlass zur Sorge, dass die Volkszählung zu einem Überwachungsstaat führte und der &lt;i&gt;Gläserne Bürger&lt;/i&gt; wurde ein Begriff. Nach mehreren Verfassungsbeschwerden gab es eine einstweilige Verfügung, die die Volkszählung vorübergehend aussetzen ließ. Das Bundesverfassungsgericht bestätigte im selben Jahr, dass Vorschriften der Volkszählung die Grundrechte des Einzelnen verletzten. Aus diesem Urteil stammt das Recht auf Informationelle Selbstbestimmung, welches das Bundesverfassungsgericht in Artikel 2 Absatz 1, in dem Recht auf freie Entfaltung der Persönlichkeit aus dem Grundgesetz erkannte. Damit haben wir in Deutschland folglich eine Art Grundrecht auf Datenschutz, das direkt nicht im Grundgesetz erwähnt wird. Hier ein Auszug der Entscheidungsbegründung des Bundesverfassungsgerichtes:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;„&lt;span style="font-size:85%;"&gt;Mit dem Recht auf informationelle Selbstbestimmung wären eine Gesellschaftsordnung und eine diese ermöglichende Rechtsordnung nicht vereinbar, in der Bürger nicht mehr wissen können, wer was wann und bei welcher Gelegenheit über sie weiß. Wer unsicher ist, ob abweichende Verhaltensweisen jederzeit notiert und als Information dauerhaft gespeichert, verwendet oder weitergegeben werden, wird versuchen, nicht durch solche Verhaltensweisen aufzufallen. […] Dies würde nicht nur die individuellen Entfaltungschancen des Einzelnen beeinträchtigen, sondern auch das Gemeinwohl, weil Selbstbestimmung eine elementare Funktionsbedingung eines auf Handlungsfähigkeit und Mitwirkungsfähigkeit seiner Bürger begründeten freiheitlichen demokratischen Gemeinwesens ist. Hieraus folgt: Freie Entfaltung der Persönlichkeit setzt unter den modernen Bedingungen der Datenverarbeitung den Schutz des Einzelnen gegen unbegrenzte Erhebung, Speicherung, Verwendung und Weitergabe seiner persönlichen Daten voraus. Dieser Schutz ist daher von dem Grundrecht des Art 2 Abs. 1 in Verbindung mit Art 1 Abs. 1 GG umfaßt. &lt;i&gt;Das Grundrecht gewährleistet insoweit die Befugnis des Einzelnen, grundsätzlich selbst über die Preisgabe und Verwendung seiner persönlichen Daten zu bestimmen&lt;/i&gt;.&lt;span style="font-style: normal;"&gt;“&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Diese Entscheidung hat alle Gesetze zum Thema Datenschutz, wie das Bundesstatistikgesetz und das Bundesdatenschutzgesetz sowie der Europäischen Datenschutzrichtlinie geprägt und wirkt sich auf alle Bereiche unserer Arbeit in der Informatik aus, sobald wir Verfahren entwickeln, die auf personenbezogenen Daten angewendet werden. An dieser Entscheidung ist die Rasterfahndung in Nordrhein-Westfalen 2006 gescheitert, da sie als verfassungswidrig erklärt wurde. Auch gibt es demnach keine unwichtigen Daten, jedes Datum als solches kann in einer per elektronischer Datenverarbeitung leicht mit anderen Daten verknüpft werden und damit bereits relevant sein. Daraus folgt, dass jedes Datum für sich betrachtet bereits schützenswert ist und immer hinterfragt werden muss, ob eine Erhebung tatsächlich (personenbezogen) notwendig ist.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Datensicherheit&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Während Datenschutz regelt, wann und welche Daten gesammelt und verarbeitet werden, bezieht sich Datensicherheit auf die Daten, welche nach dem Datenschutz erhoben wurden. Technische Schutzmaßnahmen zur Vermeidung von Manipulierung und Datenverlust sowie Gewährleistung von Vertraulichkeit bezeichnen wir als Datensicherheit.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Techniken zur Sicherheit sind vielen in unserer Branche geläufig&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;: symmetrische und asymmetrische Kryptographieverfahren, Demilitarisierte Zonen mit Firewalls, VPN zu Schnittstellenpartnern für Zugriff auf zu schützende System, wechselnde Passwörter&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt; deren Komplexität geprüft und gefordert wird, Schlüsselanhänger mit wechselnder PIN, UUID-Verwendung bei Serialisierung von Klassen damit niemand die Implementierung auf Clientseite beliebig austauschen kann, uvm. Auch organisatorische Aspekte die zur Sicherheit beitragen sollte man nicht unterschätzen, z.B. darf ein Sachbearbeiter Teile eines Passwortes sehen? Man denke an das Szenario in der Einleitung.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Aber alle diese Techniken sind lediglich so sicher, wie wir es erlauben. Nur durch die durchdachte Kopplung der Verfahren können wir sicherstellen, dass Schutzmechanismen nicht ausgehebelt werden. Eine kleine Anekdote: in einem europäischen Nachbarland war bei Bankgeschäften im Internet das TAN-Verfahren nicht eingeführt, weil man um die Akzeptanz der Nutzer fürchtete. Lange Zeit galt es als sicher genug, das man sich mit der Kontonummer und einer PIN anmelden musste und nach drei Fehlversuchen das Konto gesperrt wurde. Es ist schließlich unwahrscheinlich, dass man bei drei Versuchen die richtige Nummer rät. Denkt man kurz darüber nach, wird man vielleicht eine andere Missbrauchsmöglichkeit finden. Warum nicht einfach die PIN einmal zufällig bestimmen, und einfach alle Kontonummern ausprobieren, bis man eine findet, welche diese PIN hat? D.h. pro Konto ein Versuch, und höchstwahrscheinlich am Ende mindestens ein Konto auf das man vollen Zugriff hat.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Rechtliches&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Durch die internationalen Gegebenheiten des Internets entstehen rechtliche Kollisionen, da inhaltliche Kontrolle der Medien bisher ein Reservat nationaler und kultureller Besonderheiten war. Dennoch: das Internet ist zweifelsohne kein rechtfreier Raum. Betrachten wir die in Frage kommenden Gesetze:&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Der BTX-Staatsvertrag (für Bildschirmtext) schließt bewegte Bilder aus und scheidet daher für die Multimediawelt namens Internet aus, das Fermeldeanlagengesetz wurde mit dem Telekommunikationsgesetz aufgehoben. Letzteres gilt für den „technischen Vorgang des Aussendens, Übermittelns und Empfangens von Nachrichten jeglicher Art in der Form von Zeichen, Sprache, Bildern oder Tönen mittels Telekommunikationsanlagen“ und ist im weitesten Sinne auf Online-Dienste anwendbar. Es fordert angemessene technische Sicherheit zum Schutz von personenbezogenen Daten, führt aber die Art und Weise nicht aus. Generell erlaubt es die Erhebung von Daten zur betrieblichen Nutzung, nicht aber darüber hinaus. Die Telekommunikations-Dienstunternehmen-Datenschutzverordnung von 1996 zählt nicht für Online-Dienste sondern nur für lizenzpflichtige Telekommunikationsdienste und hat somit keinen Belang für das Internet. Das Presserecht gilt lediglich für (nichtelektronische) Druckwerke, und das Rundfunkrecht widerspricht dem Gedanken des Sendens von Informationen bei Abruf im Internet, da es vorsieht, dass Daten öffentlich stets übermittelt werden, unabhängig davon ob jemand sie empfangen möchte.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Das Informations- und Kommunikationsdienste-Gesetz (IuKDG) regelt die Verantwortlichkeit von Providern für eigene und fremde Inhalte, klärt die Anwendbarkeit digitaler Signaturen, fordert Pseudonymisierung und beinhaltet wie das Bundesdatenschutzgesetz den Schutz personenbezogener Daten.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:85%;"&gt;Das Bundesdatenschutzgesetz (BDSG) und die Landesdatenschutzgesetze sind unsere Hauptquelle für die juristischen Grundlagen, auf denen unsere Arbeit mit Daten basiert. Im Einzelfall ist sicherlich die Beratung durch Juristen zu empfehlen, grob beschrieben gibt es allerdings einige Grundprinzipien, an die man sich laut diesen Gesetzen halten muss:&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;&lt;span style="font-size:85%;"&gt;Im Allgemeinen ist die Erhebung, Verarbeitung und Nutzung personenbezogener Daten nicht erlaubt&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p&gt;&lt;span style="font-size:85%;"&gt;Ausnahme: eine Rechtsgrundlage liegt vor, d.h. ein Gesetz erlaubt die Datenverarbeitung in dem spezifischen Kontext&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p&gt;&lt;span style="font-size:85%;"&gt;Ausnahme: der Betroffene stimmt ausdrücklich der Erhebung zu, oder der Betroffene hat die Daten selbst offenkundig öffentlich gemacht&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p&gt;&lt;span style="font-size:85%;"&gt;Weitere Ausnahme: §13 Abs. 2 ff BDSG (für uns nicht so interessant)&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p&gt;&lt;span style="font-size:85%;"&gt;Datenvermeidung und Datensparsamkeit wird gefordert, so dass wir nur erforderliche und so wenig wie möglich Daten erheben dürfen und dazu angeleitet sind Daten anonymisiert zu speichern. Die Sicherheit der Daten muss gewährleistet sein.&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Die genannten Gesetze beziehen sich auf personenbezogene Daten natürlicher Personen. Auch wenn der Name der Person selbst nicht gespeichert wird, liegt unter Umständen keine Anonymisierung vor, wenn sie bestimmbar ist. Dazu muss nur ein Kriterium gespeichert sein, dass auf die Person schließen lässt (Telefonnummer, Personalnummer, etc.).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Bei den meisten unserer Projekten bedeutet dies, wir müssen evtl. Betroffene parallel zur Dateneingabe darum bitte die Einwilligung zum Umgang mit seinen Daten zu geben. Dabei reicht es nicht mehr, eine Checkbox auf einer Internetseite vorzusehen, die per Standard vorgewählt ist. Außerdem sieht das Gesetz vor, dass &lt;i&gt;auf den Daten angewendete Verfahren vom jeweiligen Datenschutzbeauftragten geprüft werden&lt;/i&gt;. Sollte ein solcher nicht vorhanden sein, muss man sich beim Landesdatenschutzbeauftragen melden. Gern wird dies belächelt, aber im Ernst: jedes private (also nicht-öffentliche) Stelle, und damit jedes Unternehmen, muss ab 10 Personen, die ständig per elektronischer Datenverarbeitung mit personenbezogenen Daten arbeiten, einen Datenschutzbeauftragten haben. Ab 20 Mitarbeitern sogar wenn die Daten nur manuell bearbeitet werden.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Jeder Betroffene hat das Recht, Auskunft zu erhalten, welche personenbezogenen Daten über ihn erhoben wurden, woher die Daten stammen und zu welchem Zweck sie persistent gehalten werden. Er kann verlangen, dass Daten über ihn korrigiert werden, sie nicht an dritte weitergegeben werden, sie gelöscht oder gesperrt werden (letzteres z.B. wenn eine Löschung wegen gesetzlicher Aufbewahrungsfristen nicht erfolgen kann). Reagiert ein Unternehmen nicht (z.B. wenn man sich in Folge eintreffender Werbeanschreiben meldet, und die Auskunft über die Herkunft der Quelle und die Löschung verlangt), so kann man es durch einen Rechtsanwalt Abmahnen lassen.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size:85%;"&gt;Firmen mit Sitz im Ausland können Daten in Deutschland erheben und fallen nicht unter die deutschen Gesetze, sondern müssen sich an die Bestimmungen des Landes halten, in dem sie ihren Sitz haben. Falls jedoch Niederlassungen in Deutschland existieren, gilt auch für sie das BDSG.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Eine Ausnahme zu den Datenschutzgesetzen bilden übrigens die katholischen und evangelischen Kirchen. Noch aus den Zeiten der Weimarer Republik können sie nach dem kirchlichen Selbstbestimmungsrecht eigene Rechtsordnungen für sich festlegen, was sie bezüglich Datenschutz und Datensicherheit getan haben. Diese Regelungen stehen in ihrer Anordnung über den kirchlichen Datenschutz (KDO) der römisch-katholischen Kirchen und dem Datenschutzgesetz der Evangelischen Kirchen in Deutschland (DSG-EKD). Nach diesen Verordnungen werden viele personenbezogene Daten erhoben, z.b. von Patienten in einem katholischen Krankenhaus, Eltern die kirchliche Beratungsstellen aufsuchen, Pflegebedürftigen die von kirchlichen Stellen versorgt werden. Auch haben die Kirchen eigene Datenschutzbeauftragte, die nur dem kirchlichen Recht und dem für die Kirchen verbindlichen staatlichen Recht untergeordnet sind.&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Widersprüche&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Leider geschieht in der heutigen Zeit auch in Deutschland eine Entwicklung, in der der Staat selbst, der uns zwar durch die Datenschutzgesetze vor Unternehmen schützt, immer mehr darauf besteht, dass er Zugriff auf unsere Daten erhalten kann. Daher sind bereits einige der sieben Grundprinzipien verletzt, die Herbert Damker und Günter Müller 1997 in ihrem Artikel gefordert haben: Vertraulichkeit, Anonymität, Pseudonymität, Unbeobachtbarkeit, Unverkettbarkeit (abgerufene Seiten nicht miteinander in Beziehung bringen), Unabstreitbarkeit (z.B. durch digitale Signaturen) und Übertragungsintegrität. Denn seit dem 1.1.2008 gilt in Deutschland das „Gesetz zur Neuregelung der Telekommunikationsüberwachung [...]“ und damit die sogenannte Vorratsdatenspericherung. &lt;/span&gt; &lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Das Gesetz wird bereits angefechtet, da die Vermutung besteht, dass es gegen das Grundgesetz verstößt. Es verpflichtet Telekommunikationsanbieter und Internetprovider alle Verkehrsdaten für mindestens sechs Monate zur eventuellen Strafverfolgung zu speichern. Verkehrsdaten sind hier Telefonverbindungen, Verbindungsaufbau mit dem Internet (Inhalt noch nicht), E-Mail-Verkehr (u.a. Sender, Empfänger inklusive IPs, Zeitstempel, nicht der Inhalt), Fax und SMS (dabei auch der Standort durch verwendete Mobilfunkzelle). Es bedeutet nicht, dass die Justiz Kriminelle im Visier hat, und die dann gezielt überwacht werden, sondern es bedeutet von jedem (auch der Leser) werden &lt;b&gt;alle Verkehrsdaten immer&lt;/b&gt; gespeichert. Unwichtig, ob man jemals das Gesetz übertreten hat. Das heißt, das soziale Netz eines jeden wird sichtbar, und wir haben somit die erste Stufe einer Telekommunikationsüberwachung. Demnächst gelten wir dann vielleicht als potentiell verdächtig, weil wir mit jemanden (den wir vielleicht nur bzgl. einer Internet-Versteigerung anschreiben mussten) in eMail-Verkehr gestanden haben und geraten in ein Strafverfahren. Da bei eMails der Inhalt und Betreff nicht gespeichert wird, weiß ja niemand, das die eMail harmlos war. Durch Analysen der Kommunikationbeziehungen können leicht soziale Netze entdeckt werden, und wer garantiert uns, dass wir nicht in einigen Jahren zu den politischen Gegnern der dann vorhandenen Regierung zählen und die angefallenen Daten gegen uns genutzt werden. Vorratsdatenspeicherung widerspricht dem Erforderlichkeitsgrundsatz, dem Informantenschutz für Journalisten, der Schweigepflicht von Rechtsanwälten und Ärzten und dem Beichtgeheimnis. Ich bin nicht der Meinung, dass unter dem Deckmantel der Strafverfolgung und der Terrorbekämpfung jeder Bundesbürger ausspioniert und protokolliert werden sollte. Genau dies passiert aber seit dem 1. Januar 2008. Bislang war ich immer froh, in einem Land zu leben, in dem solche Zustände nicht herrschen.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Die kriminellen können solche Gesetze leichter ertragen, als der normale Bürger. Denn ein Krimineller, welcher eine Straftat plant (z.B. Betrug durch Verkäufe im Internet) kann einen öffentlichen Internetzugang nutzen, etc. Eine abschreckende Wirkung durch Vorratsspeicherung konnte bislang statistisch auch in anderen Staaten nicht nachgewiesen werden, ebenso ist die Zahl der Strafdaten, die wegen fehlender Daten nicht aufgeklärt werden konnte verschwindend gering (siehe Studie des Max-Planck-Institutes zur Vorratsdatenspeicherung 2007 und Studie des Bundeskriminalamtes von 2005). Auch keine der letzten Terroranschläge wäre durch Vorratsdatenspeicherung verhindert worden. Dagegen ist das Mißbrauchs- und Irrtumsrisiko erschreckend hoch.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Meiner Meinung nach ist Datenschutz und Datensicherheit und die damit gekoppelten Datenschutzgesetze die wichtigsten Schutzmechanismen für die Freiheit eines jeden einzelnen Menschen. Die Bedeutung des Datenschutzes und der Datensicherheit wird mit fortschreitender Entwicklung immer wichtiger, weil Daten die wir heute für unkritisch halten vielleicht bereits in naher Zukunft sehr effizient mit anderen in Zusammenhang gebracht und ausgewertet werden können. Identitätsdiebstahl, meist per Internet eingeleitet, geschieht bereits heute und endet häufig mit hohen Rechnungen für die Opfer, die kaum nachweisen können, Waren nicht bestellt zu haben. Oder im Zuge einer Recherche für die Universität oder sogar durch belangloses Surfen landet man in einem Internetforum, in dem kritische Äußerungen in Bezug auf Terrorismus und Bombenattentate ausgetauscht werden, und dank der neuen Speicherung der Daten auf Vorrat landen wir später in einer Rasterfahndung, weil unsere IP Rückschlüsse auf unseren Besuch der Seite hinterlassen hat. Sicherlich gibt es hier die Denkweise, dass man nicht zufällig auf einer solchen Seite landet. Mir ist genau dies aber erst kürzlich passiert, als ich lediglich im Internet nach den Bedeutungen von Vornamen gesucht habe. Man sollte nicht vergessen, Kriminelle finden Wege um ihre Daten zu schützen, Terroristen können ausgebildet werden eMails verschlüsselt zu versenden, selbst Fingerabdrücke am Flughafen sind leicht zu fälschen, aber der normale Bürger hat meist nicht genug technisches Wissen um sich zu schützen. Benutzt ein Terrorist daher unseren Fingerabdruck, den er sich an vielen Geldautomaten besorgen kann, können wir im Nachhinein evtl. mit einer Straftat in Zusammenhang gebracht werden. Wir müssen vorsichtig sein, was wir preisgeben. Vor allem als Verantwortliche für den Umgang mit Daten anderer. Daher sind wir in unserer täglichen Projektarbeit gefordert den Schutz und die Sicherheit zu gewährleisten und mit Daten verantwortungsvoll umzugehen.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;Literatur&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: normal;"&gt;DuD Datenschutz und Datensicherheit, Fachzeitung, siehe &lt;a href="http://www.dud.de/"&gt;http://www.dud.de&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: normal;"&gt;Wikipedia: &lt;a href="http://de.wikipedia.org/wiki/Datenschutz"&gt;http://de.wikipedia.org/wiki/Datenschutz&lt;/a&gt;, &lt;a href="http://de.wikipedia.org/wiki/Datensicherheit"&gt;http://de.wikipedia.org/wiki/Datensicherheit&lt;/a&gt;&lt;a href="http://de.wikipedia.org/wiki/Datensicherheit"&gt;, &lt;/a&gt;&lt;a href="http://de.wikipedia.org/wiki/Datensicherheit"&gt;http://de.wikipedia.org/wiki/Vorratsdatenspeicherung&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Bundesdatenschutzgesetz, Landesdatenschutzgesetzte&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Anordnung über den kirchlichen Datenschutz (KDO) &lt;/span&gt; &lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Datenschutzgesetz der Evangelischen Kirchen in Deutschland (DSG-EKD)&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Damker, Herbert; Müller, Günter (1997): Verbraucherschutz im Internet. In: Datenschutz und Datensicherheit 21 (1997). S. 24-29.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Reif, Holger (1995): Netz ohne Angst. Sicherheitsrisiken des Internets. In: c’t 9/95. S. 174.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;Kauffels, Dr. Franz-Joachim (1998): Sichere Transaktionen – Standards und Verfahren für digitalen Handel. In: Gateway April 1998. S. 68-72.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: normal;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a class="moz-txt-link-freetext" href="http://www.vorratsdatenspeicherung.de/"&gt;http://www.vorratsdatenspeicherung.de&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote1anc"&gt;1&lt;/a&gt;Zumindest so weit er es durchschauen kann. Oft tut er das – meist Jahre zu spät. &lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote2anc"&gt;2&lt;/a&gt;Ja, das soll es auch geben.*&lt;/p&gt; &lt;p class="sdfootnote"&gt;* Zur Not mit dem Hinweis, dass alles Besprochene nur zu wissenschaftlichen Zwecken dient.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote3anc"&gt;3&lt;/a&gt;Und damit hat er schonmal Recht, denn auch das soll es geben.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote4anc"&gt;4&lt;/a&gt;So sicher wie "wie lautet der Mädchenname Ihrer Mutter" oder "In welchem Ort sind Sie geboren"... Wer denkt, die dazu gehörigen Antworten sind geheim, braucht seine Haustür gar nicht erst abzuschließen.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote5anc"&gt;5&lt;/a&gt;Ich hoffe dies inständig^^&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote6anc"&gt;6&lt;/a&gt;Was ich übrigens hasse... und was meist bei Usern dazu führt, dass hinten eine Nummer am Passwort hochgezählt wird oder es auf einem Zettel am Bildschirm hängt. Somit ist der Sinn direkt in Frage gestellt.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote7"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote7sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=8405583813193733883#sdfootnote7anc"&gt;7&lt;/a&gt;Allerdings: wer kann der Kirche nicht vertrauen, hat sie doch schon seit 1215 n. Chr. das Seelsorge- und Beichtgeheimnis im Kirchenrecht aufgenommen und damit wahrscheinlich schon vor allen anderen an Datenschutz gedacht. Ob die Intention dahinter die richtige war, naja, wer weiß.&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-8405583813193733883?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/8405583813193733883/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=8405583813193733883' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8405583813193733883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/8405583813193733883'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/datenschutz-und-datensicherheit.html' title='Hex and the City: Datenschutz und Datensicherheit'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-7816768146711030950</id><published>2008-08-14T07:22:00.000-07:00</published><updated>2008-09-13T07:40:36.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Vermeidung von Fehlern bei Java-Fallstricken in der Java User Group</title><content type='html'>In den Räumen der MATHEMA in Erlangen fand die erste Runde mit den Rätseln aus der Java-Welt statt. Bei unserem Vortrag ""Kaffeesatzlesung: Was tut dieser Codeblock eigentlich? - Vermeidung von Fehlern bei Java-Fallstricken" versuchten die Teilnehmer der &lt;a href="http://www.jug-ern.de/"&gt;JUG&lt;/a&gt; u.a. zu ergründen was folgender Codeblock tut:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;public static void main(String[] args) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;System.out.println(3.00 - 1.10);&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Na, wer weiss es?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-7816768146711030950?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/7816768146711030950/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=7816768146711030950' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7816768146711030950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/7816768146711030950'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/08/java-puzzles-in-der-java-user-group.html' title='Vermeidung von Fehlern bei Java-Fallstricken in der Java User Group'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-6310920386620368205</id><published>2008-08-13T10:13:00.000-07:00</published><updated>2008-09-17T03:10:10.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><title type='text'>Hex and the City: Model View Controller</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Mal wieder eine Ausgabe meiner Kolumne aus dem kostenlosen IT-Magazin &lt;a href="http://www.bookware.de/"&gt;KaffeeKlatsch&lt;/a&gt;:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;In der heutigen Welt verschaffen sich Großteile der Bevölkerung&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Erleichterung des Freizeitstresses durch hypnotische Einwirkung von Fernsehsendungen. Kurz zum Wort Freizeitstress: es gibt tatsächlich viele Menschen, die mit ihrer Freizeit nichts anfangen können. Die trifft man meist morgens und abends auf der Arbeit, und sie sind beim Chef so lange gern gesehen, bis sie im Alleingang alles dermaßen „refactored“ haben, dass sich niemand mehr auskennt.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Die Fernsehsendungen, die sich hauptsächlich für eine kurzlebige Freizeitvernichtung eignen, sind meist davon gekennzeichnet, dass sie möglichst wenig zur Weiterbildung beitragen. Eher zur Fort-Bildung, womit an dieser Stelle explizit gemeint ist, dass die Bildung nach und nach verschwindet, die man sich vorher vielleicht (mehr oder weniger mühsam) angeeignet hat. Und unsere Gesellschaft tummelt sich mittlerweile auf der Basis eines solchen TV-Modells.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Tja, wir sind Modelle in der Informatik ja gewöhnt. Im Kleinen wie im Großen. Da gibt es Model Driven Architecture, oder das Model View Controller Konzept. Auch aus der Physik kennt man Modelle und nutzt sie um die Welt zu erklären. Was können wir aus dem Fernsehmodell lernen, bzw. damit erklären?&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Man stelle sich an dieser Stelle eine der üblichen Castingshows vor, in dem Frauen&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; auf Laufstegen laufen, vor tollen Landschaften oder auf Elefanten posieren, und zwischendurch in Interviews mit „interessanten“ Antworten für Gesprächsstoff in der Welt sorgen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Und jetzt transformieren wir dieses Modell in die Informatik. Wichtig ist übrigens die Schreibweise von Model und Modell. Dieser Hinweis gilt nur um den Blick zu schärfen. Models werden auch des öfteren transformiert, lediglich wird dabei mehr das Konzept von Information Hiding angewendet.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;In der Informatik gibt es Meta-Model oder Concrete-Model. Erstere dienen der abstrakteren Beschreibung von Models, also wie um zu sagen, die Soundso ist vom Typ her wie „Irgendein berühmterer Name der als abstraktes Model hinhalten muss“. Auch abstrakte Models können darüber hinaus sehr konkret sein. Ein konkretes Model ist somit eine Instanz des Typs den ein abstraktes Model vorgibt. Das muss man sich mal auf der Zunge zergehen lassen&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Konkrete Models lassen sich ausführen. Um der Phantasie hier keinen Lauf zu lassen anbei ein beispielhafter Methodenname dafür: „executeModel“. So sieht der Wortlaut schon deutlich weniger mehrdeutig aus. Woher stammen konkrete Models denn eigentlich? Nun, woher schon. Natürlich aus der Model Factory. Factories dürften als Teil des Abstract Factory Patterns wohlbekannt sein. Hier werden konkrete Models nach abstrakten Vorbildern erzeugt. Um bei dem tranformierten Modell zu bleiben könnte man das Pattern auch in Laufstegschmiede umbenennen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Was passiert mit einem erzeugten Model? Es will gesehen werden, dafür bieten sich in der Software-Entwicklung die sogenannten Views an. Im Modell vor der Transformation (der TV-Show falls jemand nicht mitkommt) sind das die allwöchentlichen Vorführungen der Teilnehmer vor Photosets, Werbefilmchen oder Modenschauen. Bei uns entspricht das dem Darstellen unserer Models in Webclients, RichGUIs und Kommandozeile/Konsolenausgabe. Die netten Kommentare mit abschließender Wertung und tränenbringender Entscheidung durch die überaus kritische&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; Jury entsprechen die Abnahmetests der Fachbereiche. Und selbst da hab ich schon Situationen erlebt, wo es nicht weniger zickig zuging.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Hat ein Model seine Views fehlt noch ein/mehrere Controller. Der Controller sorgt für den Lebenszyklus des Models (essen mit optionalem undo, schlafen, posieren, (legale) Drogen), übernimmt Aufgaben wie Translate Model als Verantwortlicher für die Logistik und veranlasst weitere Model-Transformationen mit mehr oder weniger persistentem Ergebnis. Wen ein Model letztlich in der Phase „Model sucht Controller“ zugeteilt bekommt, hängt stark von der Art des Models ab, z.B. ob es sich bei dem konkreten Model eher um ein Simple oder ein Extended Model handelt. Ein wenig zählt da auch der Model Manager, oft der erste, der das Model ausführt. Controller und Manager entscheiden im Lebenszyklus gemeinsam, ob das Model um neuen Herausforderungen (an unsere Software) gerecht zu werden, Refactoring-Maßnahmen unterzogen wird. Das Model hat in der IT im Model View Controller Konzept dabei kein Mitspracherecht. Insgesamt hat es nur die Daten zu halten, die ihm gegeben wurden (sie keineswegs ohne Aufforderung durch Manager/Controller selbst zu ändern) und in der View nett auszuschauen. Sämtliche Manipulation hat es geduldig zu ertragen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Womit man sieht, man kann alles aus dem Fernsehen lernen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Was läuft denn noch so im Fernsehen? Nun, da wäre die eine Serie, in der Ermittler mit Hilfe von DNA-Analysen Morde aufklären. Oder die andere, in der andere ähnliche Ermittler Morde anhand von DNA-Analysen aufklären. Oder die, in denen Polizisten Morde aufklären, in dem sie Beweise sichten und versuchen mit DNA-Analyen den Täter zu finden.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Oder halt Sport. Aber zu den diesjährigen olympischen Spielen nur soviel: wenn der Gastgeber Doping im selben Maß bestraft wie freie Meinungsäußerung, werden wohl einige Sportler nicht mehr heimkehren.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Ich wünsche einen schönen Monat und vielleicht sieht man sich ja auf dem Herbstcampus.&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote1anc"&gt;1&lt;/a&gt;Interessanterweise aber niemand konkretes, da jeder immer sagt, er hat es selbst nicht gesehen – keine Ahnung woher die dann ihre Einschaltquoten haben. Vielleicht schauen unsere Fernseher ja heimlich von allein.*&lt;br /&gt;* Andererseits ist die Antwort auf die Frage „Wie viele Menschen haben die Sendung gesehen“ wohl (wie immer) 42. Und da ja jeder Mensch jeden anderen Menschen über max. 6 Ecken kennt, spricht sich schnell herum, wer alles gestern grausig beim Casting vorgesungen hat oder welches der Model-Nachwuchs-Mädchen Bulimie hat &lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote2anc"&gt;2&lt;/a&gt;Warum eigentlich keine Männer? Nicht, dass ich dazu keine Antwort hätte, aber jeder soll sich selbst Gedanken machen**&lt;br /&gt;** Oder doch: vielleicht liegt es daran, dass so beide Geschlechter die Sendung schauen können. Der weibliche Zuschaueranteil um zu debattieren, diskutieren, erörtern und schlicht zu lästern, der männliche Zuschaueranteil um einfach nur zu schauen.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote3anc"&gt;3&lt;/a&gt;Bitte nicht zu wörtlich nehmen.&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6310920386620368205#sdfootnote4anc"&gt;4&lt;/a&gt;Leider selten selbstkritisch.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-6310920386620368205?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/6310920386620368205/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=6310920386620368205' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6310920386620368205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6310920386620368205'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/hex-and-city-model-view-controller.html' title='Hex and the City: Model View Controller'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-9164884159776860845</id><published>2008-07-27T06:48:00.000-07:00</published><updated>2008-09-13T10:30:46.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferenz'/><title type='text'>Jazoon</title><content type='html'>Ich hatte die Ehre in dieser Woche mit einem Kollegen einen Vortrag über "Aspektorientierte Programmierung in der Praxis" auf der &lt;a href="http://www.jazoon.com/"&gt;Jazoon&lt;/a&gt; halten zu dürfen. Diese europäische und damit englischsprachige Konferenz fand in Zürich statt und die gesamte Stadt befand sich im Fieber der EM. Wir hatten sowohl auf der Konferenz als auch neben der Konferenz viel Spaß und lernten jede Menge freundliche Menschen kennen. Ich hoffe, einige davon sehen wir auf dem &lt;a href="http://www.herbstcampus.de/"&gt;Herbstcampus&lt;/a&gt; wieder. Was die Konferenz anbelangt habe ich einen Bericht in meiner Kolumne "Hex and the City" im &lt;a href="http://www.bookware.de/"&gt;KaffeeKlatsch&lt;/a&gt; veröffentlicht.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-9164884159776860845?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/9164884159776860845/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=9164884159776860845' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/9164884159776860845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/9164884159776860845'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/07/jazoon.html' title='Jazoon'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-6315631642125338544</id><published>2008-07-13T10:14:00.000-07:00</published><updated>2008-09-13T10:30:59.574-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><title type='text'>Hex and the City: EM &amp; Jazoon</title><content type='html'>&lt;div&gt;Mal wieder eine Ausgabe meiner Kolumne aus dem kostenlosen IT-Magazin &lt;a href="http://www.bookware.de/"&gt;KaffeeKlatsch&lt;/a&gt;:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Nachdem ich in der letzten Wochen mit zwei lieben Kollegen der MATHEMA die Schweiz besucht habe, freue ich mich von unseren Erlebnissen zu berichten. Genau gesagt waren wir zu Gast in Zürich zur Jazoon, der internationalen Java-Konferenz aus unserem Nachbarland. Die Hinreise am Montag war relativ stressfrei, das Wetter grandios bis unerträglich heiß – manchmal liegen Freude und Qual eng beieinander&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; und ganz Zürich im Sinne der EM besonders Farbenfroh. &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Am Dienstag morgen ging es dann zur Jazoon, die im tollen Ambiente eines Kinos stattfand. Es begann wie jede Konferenz, naja nicht ganz wenn wir mal ans Einchecken denken, aber das dürfte ein Insider zwischen meinen Begleitern und mir bleiben. Da wir auch einen Ausstellungsstand besaßen haben wir diesen fleißig aufgebaut. Danach war noch ein wenig Zeit, und wir schlenderten durch das Einkaufszentrum neben der Konferenz.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Jetzt kamen zwei einander dual gegenüberstehende Faktoren zusammen. Zum Einen: ich habe mit Fußball wirklich nichts zu schaffen. Bislang (die Zeit vor der Jazoon) konnte man mich schwerlich überreden ein Spiel mit zu schauen, wenn überhaupt dann nur, falls ich mich dabei anderweitig beschäftigen konnte. Der Sport interessiert mich einfach nicht. Zum Anderen: bereits als Kind liebte ich Kino. Na, keinen Zusammenhang entdeckt? Hätte ich auch nicht, bis mein Blick im Einkaufszentrum auf einen Lego-Tischkicker fiel. Beide Faktoren prügelten aufeinander ein. Die Kindheit siegte.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Eine Idee war geboren und nahm ihren Lauf. Wir kauften den Kicker, bauten im Rest der Pause wie früher den Kicker aus Legosteinen zusammen&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; und – tadaa – unser Ausstellungsstand besaß einen eigenen kleinen Tischkicker. Und dazu noch aus Lego. Welchen Entwickler würde Lego nicht ansprechen? Schon Douglas Coupland hat es in seinem Roman „Mikrosklaven“ erwähnt. Ein toller sehr lustiger und unterhaltsamer Roman, angehaucht als ein Tagebuch über einen Microsoft-Mitarbeiter, der sich mit seinen Freunden selbstständig macht, und deren Gespräche und Gedanken den eigenen so oft dermaßen nahe kommen, dass man sich ständig fragt ob man auch so „geekig und nerdig“ ist wie die Romanfiguren. Wir hatten also zwei große Pluspunkte am Stand. Fußball und Lego. Ab dem Zeitpunkt nahmen wir auch Wetten für das große Halbfinale am Mittwoch entgegen. Die wenigen, die gegen Deutschland setzten sind uns natürlich noch bekannt&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Somit war unser Stand gut besucht, und sicher wird man uns des Öfteren von nun an auf Konferenzen daran erkennen, dass man gegen uns um Tassen spielen kann. Also, fleißig trainieren.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Am Mittwoch Nachmittag hatten mein Kollege Werner Eberling und ich dann unseren Vortrag über Aspektorientierte Programmierung. Wir durften also endlich einmal mit den Helden auf der Leinwand tauschen und standen unten vor dem Publikum, welches in den kuscheligen Kinosesseln Platz genommen hatte. Ein tolle Kulisse. Allerdings zwei Nachteile:&lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;wenn man bei der Leinwand steht und in den Raum schaut, dann blickt man direkt ins Licht. Und wenn man ins Licht geht – was man ja ohnehin niemals tun sollte – dann stürzt man von der Empore. Was man im Voraus genauso wenig wie sein Publikum sieht, denn das Licht blendet schier.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;in den Sesseln wach zu bleiben fällt nicht gerade leicht. Womit das Erstgenannte fast wieder ein Vorteil ist, denn wir als Speaker sehen die Schläfer kaum&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Vielleicht haben wir einige Personen enttäuscht als wir sagten, welchen Grenzen die Aspektorientierte Programmierung bei der Projektarbeit (im Gegensatz zur Herstellung von Tools) unterliegt, aber Realismus geht vor. Ich finde es manchmal wichtiger darauf hinzuweisen, wann man einen Hype besser nicht mitmacht, als ständig nur über alles zu reden, was gerade in Mode ist. Wobei wir durchaus auch Möglichkeiten genannt haben, wie AOP (eingeschränkt) gewinnbringend in Projekten genutzt werden kann und bewiesener auch wurde.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Am Abend gab es dann mit mehreren Java User Groups gemeinsam (wir haben die JUG Erlangen-Nürnberg vertreten) das Fußballspiel zu sehen. Wegen dem internationalen Publikum schauten wir zuerst BBC, immerhin ist die Konferenzsprache auch Englisch. Gerade für die JUG aus Brasilien schien dies Sinn zu machen. Allerdings waren wir mehr als glücklich, als wir bei dem Sendeausfall auf das Schweizer Fernsehen direkt umschalten konnten und uns somit kein einziger Fehler im Mittelfeld als auch keine Chance entging. Das sollte uns allen eine Lehre sein: wenn ich mal wieder etwas über Ausfallsicherheit, Replikas und Backupsysteme und Worst-Case-Szenarios erzähle will ich keine verwirrten oder zweifelnden Mienen mehr erblicken. Ach, und das Spiel selbst zeigt wie gravierend Fehler in der Middleware sein können.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Die Stimmung war gut, auch nach dem Spiel und die gemeinsame Feierei endete erst spät in der Nacht am Zürichsee. Besonders gefiel mir dabei, dass Fans beider Parteien miteinander ohne Groll gefeiert haben&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;. Genauso würde ich mir oft den Wegfall der Glaubenskrieger im technologischen Bereich wünschen, bin ich doch für beide Welten (Java und .NET) unterwegs.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Der Donnerstag der Konferenz war ebenfalls schön. Er begann mit einem Getränk im Starbucks&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt; - wo man uns als erkennbare Deutsche übrigens als Glückwunsch Getränke geschenkt hatte&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt;. Vielen Dank an dieser Stelle. So gestärkt sahen wir noch einige weitere Vorträge und lernten wieder nette neue Leute kennen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Was habe ich gelernt: &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;die Schweizer haben uns beim Fußballspiel Türkei Vs. Deutschland zumeist explizit kein Glück geschenkt&lt;a class="sdfootnoteanc" name="sdfootnote8anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote8sym"&gt;&lt;sup&gt;8&lt;/sup&gt;&lt;/a&gt;,&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;wenn in Zürich auf einer Speisekarte steht „Nudeln mit Käse und Apfelkompott und Kartoffeln“, dann ist das genauso gemeint&lt;a class="sdfootnoteanc" name="sdfootnote9anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote9sym"&gt;&lt;sup&gt;9&lt;/sup&gt;&lt;/a&gt;,&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;zu Fondue werden Chips (Kartoffelchips!) serviert – und das schmeckt sogar&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Und um technologische Dinge keineswegs zu vergessen:&lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;Java hat eine Menge Fallstricke, was meiner Meinung nach noch die Wichtigkeit von Unittesting betont. Gerade bei den Java Puzzles hat man so Nettigkeiten gesehen, dass die Funktion skip(long n) der Klasse FileInputStream keineswegs die übergebene Anzahl Bytes „skipped“.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;Neue technologische Errungenschaften sollten nie missachtet aber auch keineswegs immer direkt im Projekt eingesetzt werden. JEE, Struts, JSF, Wicket, Spring und vieles mehr&lt;a class="sdfootnoteanc" name="sdfootnote10anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote10sym"&gt;&lt;sup&gt;10&lt;/sup&gt;&lt;/a&gt;, dass alles sollte sich gegenseitig nicht für immer ersetzen. Viel mehr sollte man diese und alle anderen Technologien im Einzelfall (und möglichst objektiv) auf ihre Vor- und Nachteile prüfen. Und keine Technologie hat ausschließlich Vorteile&lt;a class="sdfootnoteanc" name="sdfootnote11anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote11sym"&gt;&lt;sup&gt;11&lt;/sup&gt;&lt;/a&gt;. Und sei bloß ein Nachteil, dass man einfach keine eigenen Ressourcen hat, die ausreichend Wissen verfügen, um später den Betrieb zu sichern.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Daher mein Fazit: ich mag die Schweiz, auch wenn uns zum Spiel dort kaum die Daumen gedrückt wurden. Denn es ist doch gerade schön, dass ein jeder seine eigene Ansicht hat. Im Fußball gebe es sonst bald nur noch eine Mannschaft. Und mal im ernst, wer würde denn weltweit gern nur noch den FC Bayern sehen&lt;a class="sdfootnoteanc" name="sdfootnote12anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote12sym"&gt;&lt;sup&gt;12&lt;/sup&gt;&lt;/a&gt;. Und genauso ist dies auch in unserer Branche. Ich diskutiere gern mit anderen über Technologien. Denn gerade die Konkurrenz verschiedener Technologien kann uns allen helfen bessere Frameworks/API etc. zu erhalten. Und was ist schöner als immer bessere Werkzeuge einsetzen zu können.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Danke noch mal für all die netten Gespräche auf der Jazoon. Und für die fairen Gewinner und Verlierer bei unseren Lego-Tischkicker spielen. Jederzeit wieder. Man sieht sich ja teilweise bereits im September zum Herbstcampus.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote1anc"&gt;1&lt;/a&gt;Bzw. nur wenige Grad auf der Skala entfernt&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote2anc"&gt;2&lt;/a&gt;Und hatten dabei vermutlich ein seltsames Grinsen im Gesicht&lt;/p&gt; &lt;p class="sdfootnote"&gt; * aber ein glückliches&lt;/p&gt; &lt;p class="sdfootnote"&gt; ** und was gibt es schöneres als ein glückliches Kind&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote3anc"&gt;3&lt;/a&gt;Ganz schön mutig – da fällt mir der „Bastard Operator of Hell“ ein, und seine Frage „Wie war nochmal Ihr Username?“&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote4anc"&gt;4&lt;/a&gt;Und können daher nichts werfen – aber auch nicht beleidigt sein&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote5anc"&gt;5&lt;/a&gt;Sprich, wir waren tolle Gewinner, die anderen tolle Verlierer. Ich hoffe sehr, andersherum wäre es genauso gewesen&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote6anc"&gt;6&lt;/a&gt;in einer Region ohne diese Kette könnte ich wahrscheinlich nicht überleben*&lt;/p&gt; &lt;p class="sdfootnote"&gt; * aber jeder hat ja sein Kryptonit **&lt;/p&gt; &lt;p class="sdfootnote"&gt; ** somit kann man mich entweder per Mail, per Xing oder in einem Starbucks erreichen&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote7"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote7sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote7anc"&gt;7&lt;/a&gt;Für die Pessimisten: ja, wir haben die Zubereitung überwacht&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote8"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote8sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote8anc"&gt;8&lt;/a&gt;Aber wir sind ja nicht nachtragend&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote9"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote9sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote9anc"&gt;9&lt;/a&gt;Außerdem sagt man ja, es landet ohnehin alles in einem Magen&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote10"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote10sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote10anc"&gt;10&lt;/a&gt;Hier einfach mal als Stichworte ohne einen gewünschten Zusammenhang genannt&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote11"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote11sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote11anc"&gt;11&lt;/a&gt;Und da bin ich mir mehr als sicher*&lt;/p&gt; &lt;p class="sdfootnote"&gt; * aber natürlich kann auch ich mich irren&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote12"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote12sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=6315631642125338544#sdfootnote12anc"&gt;12&lt;/a&gt;Kann natürlich individuell durch jeden anderen Verein ersetzt werden. Ich habe ohnehin keine Ahnung von Fußball, daher sollte nichts was ich darüber schreibe relevant sein. Das ich gerade diesen Verein wählte haben wir den „Toten Hosen“ zu verdanken&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-6315631642125338544?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/6315631642125338544/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=6315631642125338544' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6315631642125338544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/6315631642125338544'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/hex-and-city-em-jazoon.html' title='Hex and the City: EM &amp; Jazoon'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-2326839292675700933</id><published>2008-06-13T10:26:00.000-07:00</published><updated>2008-09-13T16:04:12.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><title type='text'>Hex and the City: Hitzefrei</title><content type='html'>&lt;span style="color:#000000;"&gt;&lt;div&gt;Mal wieder eine Ausgabe meiner Kolumne aus dem kostenlosen IT-Magazin &lt;a href="http://www.bookware.de/"&gt;KaffeeKlatsch&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;In der heutigen Kolumne möchte ich einmal eine gewagte These aufstellen, ohne diese groß zu belegen. Warum auch. In Zeiten wie heute sollte allen klar sein, dass man Statistiken, die man selbst nicht gefälscht hat, ohnehin nicht trauen darf. Oder haben Sie noch nicht davon gehört, dass die Untersuchungsergebnisse, die uns seit Jahren weismachen, dass Handys gesundheitsschädlich sind, von einer Labortechnikerin gefälscht und bewusst erstellt worden sind&lt;a class="sdendnoteanc" name="sdendnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdendnote1sym"&gt;&lt;sup&gt;i&lt;/sup&gt;&lt;/a&gt;? Daher verzichte ich auf solche Statistiken und hoffe, dass ein jeder von Ihnen selbst spüren kann, was ich meine.&lt;/span&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;In meiner Wahlheimat Franken im Süden Deutschlands&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; ist nämlich die Hitzewelle ausgebrochen. Die schwüle Sommerluft, wenn man dies denn schon so bezeichnen will, füllt die Atmosphäre. Und die Gemüter.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Die Pessimisten denken: Jetzt gibt es einen heißen Monat, und der richtige Sommer ist dann schlecht. Die Optimisten denken: Klasse, das Jahr verspricht gutes Wetter. Der Realist&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; sagt sich: Das Wetter wird an jedem Tag, wie es schon am Vortag war. Und obwohl letzter damit augenscheinlich auf Dauer richtig falsch liegt, hat er statistisch mehr Recht als der Wetterbericht&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;. Außerdem denkt sich der Realist, wenn er denn nicht gerade Lehrer ist oder Kinder besitzt: Eigentlich ist es auch egal, wann im Jahr das Wetter schön ist, ich kann ja auch außerhalb der Ferien frei machen.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;So teilen die ersten wärmenden Sonnenstrahlen die Bevölkerung direkt in Teilmengen. Denen, die sich freuen und die anderen. Sowie denen, die schon beim Armraushalten im Auto eine gebräunte Haut kriegen, und denen, die ihrer hellen Haut maximal durch einen Sonnenbrand kurzfristig Farbänderungen abringen können. Und natürlich die Teilmenge, die trotz der Hitze, die ich vernehme, in einem Gebiet der Kühle in Deutschland lebt. Das soll es ja geben.&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Bei aller Liebe: Die Hitze ist in der Informatik unser Feind. Wahrscheinlich nicht nur in der Informatik, aber gerade da. Denn wenn ich an alte Zeiten zurückdenke, sehe ich immer noch mein Mainboard samt Prozessor, Coprozessor, RAM und den weiteren lebensnotwendigen Organen eines frühen 386i im Kühlschrank liegen. Und dabei lediglich ein paar Kabel die hinaus führen. Und einen Jungen voller Hoffnung, dass die Messergebnisse, die gleich auf dem Monitor daneben erscheinen werden, Erfolg verkünden. Übertakten von Prozessoren war damals groß in Mode, blöd war nur, dass die ganze Elektronik dann so unheimlich heiß wurde...&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Je schneller Prozessoren und somit die Leistungssteigerung der Computer wurde, um so wichtiger wurde es, sie vom Verbrennen abzuhalten. Noch heute spürt man dies. Z.B. bei spontaner Selbstentzündung von Notebooks. Oder wann immer ich meine PS3&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt; lange laufen lasse&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt; und dabei das Glas des Schranks, in dem sie steht, versehentlich schließe, quält mich irgendwann eine nervige Geräuschkulisse. Zuerst geht es in Schreien, Klatschen, Jubeln, Motorenkreischen, lauten Knallen und weiteren Spielgeräuschen unter. Aber irgendwann denke ich: Was rauscht denn da so? Es handelt sich natürlich um den Lüfter, der die Konsole vor dem Brand jenseits interner Spieleexplosionen rettet. Eines der typischen Büronebengeräusche. Natürlich nicht von der PS3. Im Sommer entweder von den Computern oder von richtigen Ventilatoren.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Doch nicht nur unsere Maschinen wollen gekühlt werden. Der wichtigste Faktor bei allen unseren Arbeiten ist (oder sollte es zumindest sein) der Mensch. Den Menschen droht zwar nicht gerade die spontane Selbstentzündung - zumindest wenn man Verschwörungstherorien gegenüber skeptisch geneigt ist, aber ein angenehmes Klima verbessert schon die Gesamtsituation. Gerade bei unserer täglichen Arbeit sind meine Kollegen und ich zwar auch darauf angewiesen wie gut und schnell die Maschinen Ergebnisse berechnen, aber noch wertvoller ist und bleibt die Gedankenarbeit, welche in die Planung, Architektur und Entwicklung unserer Projekte einfließt. &lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Zur Erinnerung, bzw. für all jene die von Laufzeitabschätzungen bei Algorithmen (Stichwort O-Notation etc.) noch nichts gehört haben: Ein Prozessor mit doppelter Geschwindigkeit kann nicht unbedingt genauso schnell mit doppelt so vielen Daten arbeiten. Das hängt damit zusammen, dass viele Algorithmen nicht linear skalieren, sondern polynomiel (oder schlimmer)&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt;. Somit ist die Geschwindigkeit eines Prozessors erst wichtig, wenn wir effiziente Algorithmen liefern (effiziente Algorithmen sind übrigens genau die, deren Laufzeit bezogen auf die Eingabegröße sich durch ein Polynom abschätzen lässt). Das geht nicht immer, denn höchstwahrscheinlich gibt es auch Probleme, für die keine effizienten Algorithmen existieren. Dies wurde allerdings noch nicht endgültig bewiesen. Auf dieser Annahme basiert z.B. die Kryptographie, bei der gesagt wird, bei Unkenntnis eines Schlüssels muss man selbst mit leistungsstarken Prozessoren viel zu lange (richtig lang!) rechnen um Daten zu entschlüsseln. Aber wir schweifen ab.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Halten wir fest: der menschliche Faktor ist bei unserer Arbeit wichtig. Und die Hitze in Büroräumen erschwert klares Denken und führt zu Trägheit&lt;a class="sdfootnoteanc" name="sdfootnote8anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote8sym"&gt;&lt;sup&gt;8&lt;/sup&gt;&lt;/a&gt; - und zu vielleicht ansonsten vermeidbaren Streitereien. Daher eine Bitte an alle (nicht Software-) Architekten: Plant Gebäude doch bitte so, dass entweder eine Klimaanlage vorhanden ist, oder Sonneneinwirkung erträglich aufbereitet wird. Beim Gang zum Mittagessen führte heute eine spontane Befragung der Beteiligten zu dem Ergebnis, dass nur wenige Architekten die Fähigkeit besitzen, dies zu beachten.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Eine angemessene Temperatur hilft uns allen die Arbeit effektiv zu bewerkstelligen, und die Moral oben zu halten – und steht damit auf derselben Liste wie ein fröhliches Hallo zum Tagesbeginn. &lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Man möge an die Trolle aus Terry Pratchetts Scheibenweltromanen denken&lt;a class="sdendnoteanc" name="sdendnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdendnote2sym"&gt;&lt;sup&gt;ii&lt;/sup&gt;&lt;/a&gt;. Diese extrem trägen Lebewesen, von denen man getrost von einer tief verankerten geistigen Nachdenken-Blockade ausgehen kann, sind erstaunlich intelligent, wann immer sie tiefgekühlt werden. Das mag daran liegen, dass sie durch Siliziumstoffe möglicherweise in einem Verwandtschaftsgrad mit unseren Prozessoren stehen. Wobei ich jetzt nicht meine, dass Entwicklertätigkeiten linear zur Raumtemperatur zu sehen sind.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Beibt noch die Frage, kurze Hose ja oder nein? Darüber möche ich mich lieber nicht auslassen, hat doch jede mögliche Antwort bei weitem zu viel politische Brisanz. Soviel sei verraten: Auch in Umfeldern, bei denen der Verzicht auf lange Hosenbeine Gang und Gebe ist, verschone ich meine Kollegen davon.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Gerade jetzt bei beginnender Hitze ist eine wiederkehrende Auflockerung am Arbeitsplatz wichtig und führt trotz der damit verbundenen Pausenzeiten insgesamt sicherlich zu einer Steigerung der Effektivität. Daher an alle Projektleiter: Holt Eis für Euer Team! Oder zieht die Teammitglieder auf jeden Fall in eine schattige Ecke zu einer Runde kalter Getränke. Ich auf jeden Fall besorge gleich Eis.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Ein Eis auszugeben spart auch indirekt Kosten, denn anderweitig kann es passieren, dass sich die Belegschaft irgendwann im Serverraum tummelt. Und wohin das führt, wollen wir alle lieber nicht am eigenen (Projekt-) Leib erfahren.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color:#000000;"&gt;Meine anfangs erwähnte These sagt aus, dass folgendes die Welt – in diesem Sommer – in Richtung Paradies für alle verbessern wird: Um die bereits angesprochenen Teilmengen nicht zu entzweien, sondern zu vereinen rufe ich hiermit zu einem alle (auch die aus Schlechtwetterzonen) einschließenden HITZEFREI auf! Ein jeder sollte die Zeitung nehmen, eine Stunde eher nach Hause gehen und schön im Sonnenschein (sofern vorhanden) die restlichen Seiten lesen. Auf das die Trägheit des kommenden Sommers bereits im Keim bei uns erstickt wird, und wir frisch und munter morgen wieder ans Werk gehen können. Und nicht vergessen, Computer ausschalten. Auch der will gerne einmal abkühlen – aber kein Bad nehmen.&lt;/span&gt;&lt;/p&gt; &lt;div id="sdfootnote1"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote1anc"&gt;1&lt;/a&gt;Einige wenige mögen jetzt von Bayern sprechen, aber seitdem ich hier versuche zu (über-) leben, habe ich gelernt das Franken Franken und Bayern Bayern ist&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote2"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote2anc"&gt;2&lt;/a&gt;Zu dieser Kategorie zähle ich mich am ehesten&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote3"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote3sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote3anc"&gt;3&lt;/a&gt;Kann man eigentlich „mehr“ Recht haben?&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote4"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote4sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote4anc"&gt;4&lt;/a&gt;Und ich meine das Wetter, nicht die Mentalität (ein nicht weniger interessantes Thema)&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote5"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote5sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote5anc"&gt;5&lt;/a&gt;Ich fürchte ,um keinen Ärger zu bekommen, muss ich der Vollständigkeit angeben: Gemeint ist die Playstation 3 von Sony, eine tolle Spielekonsole wie auch die Microsoft XBox 360 und viele andere*&lt;br /&gt;* von denen gewiss nicht alle so toll sind**&lt;br /&gt;** aber im Zuge der politischen Korrektheit jede ihre Vor- und Nachteile hat&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote6"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote6sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote6anc"&gt;6&lt;/a&gt;Also häufig&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote7"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote7sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote7anc"&gt;7&lt;/a&gt;Und mit der gesamten Problematik, die man sich mit mehreren parallelen Prozessoren einfängt, will ich Sie gar nicht erst belästigen&lt;/p&gt; &lt;/div&gt; &lt;div id="sdfootnote8"&gt; &lt;p class="sdfootnote"&gt;&lt;a class="sdfootnotesym" name="sdfootnote8sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdfootnote8anc"&gt;8&lt;/a&gt;Wobei es durchaus Leute geben kann, die in der Sauna erst auf Betriebstemperatur kommen, ich habe aber noch keine kennengelernt&lt;/p&gt; &lt;/div&gt; &lt;div id="sdendnote1"&gt; &lt;p class="sdendnote"&gt;&lt;a class="sdendnotesym" name="sdendnote1sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdendnote1anc"&gt;i&lt;/a&gt;&lt;a class="moz-txt-link-freetext" href="http://www.spiegel.de/netzwelt/mobil/0,1518,555130,00.html"&gt;http://www.spiegel.de/netzwelt/mobil/0,1518,555130,00.html&lt;/a&gt;&lt;/p&gt; &lt;/div&gt; &lt;div id="sdendnote2"&gt; &lt;p class="sdendnote"&gt;&lt;a class="sdendnotesym" name="sdendnote2sym" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=2326839292675700933#sdendnote2anc"&gt;ii&lt;/a&gt;&lt;a class="moz-txt-link-freetext" href="http://www.scheibenwelt.de/"&gt;http://www.scheibenwelt.de&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-2326839292675700933?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/2326839292675700933/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=2326839292675700933' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2326839292675700933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/2326839292675700933'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/hex-and-city-hitzefrei.html' title='Hex and the City: Hitzefrei'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-5528071711152310043</id><published>2008-06-12T03:43:00.000-07:00</published><updated>2008-09-13T07:47:14.452-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><title type='text'>Bericht von der Java One auf der JUG</title><content type='html'>Gestern gab es einen Bericht zur Java One in der Java User Group Erlangen-Nürnberg und somit den aktuellen Neuigkeiten aus der Java Welt. Wir durften erfahren, was man in der neuen Welt jenseits des großen Wassers in den kommenden Java Version plant - teilweise freuen wir uns darauf, teilweise sind es nicht die besten Aussichten. Dazu gab es die Begründungen, warum die Entscheidungen für kommende Versionen so gefällt wurden.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Alles in allem sicherlich ein spannender Ausblick.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4493665686061525344-5528071711152310043?l=sourceknights.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sourceknights.blogspot.com/feeds/5528071711152310043/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4493665686061525344&amp;postID=5528071711152310043' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5528071711152310043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4493665686061525344/posts/default/5528071711152310043'/><link rel='alternate' type='text/html' href='http://sourceknights.blogspot.com/2008/09/bericht-von-der-java-one-auf-der-jug.html' title='Bericht von der Java One auf der JUG'/><author><name>Oliver Szymanski</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_mRBkB83mYIU/SMuseeix13I/AAAAAAAAAAQ/D9XzFcCh7E8/S220/d12460153.8791514.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4493665686061525344.post-4827269436171566433</id><published>2008-05-13T10:14:00.000-07:00</published><updated>2008-09-13T10:20:27.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HatC'/><title type='text'>Hex and the City: Ein Team aus den Besten</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Was ist eigentlich ein gutes Team? Hm, die erste Antwort ist vielleicht: Ein Team das nur aus den Besten besteht. Eigentlich sollte man für die Beantwortung dieser Frage erst einmal klären, was für ein Team denn gebraucht wird, also für welche Aufgabe und in welchem Bereich.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Nun, naheliegend für uns ist natürlich das Problem einzuschränken. Tun wir ja oft in der Informatik. Der Kunde sagt, mein Unternehmen benötigt eine Software die alles kann, und wir sagen „Wollen wir nicht jetzt erst mit einer Software beginnen, die eine Sache kann, dafür die richtig gut?“. &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Schränken wir also unser Ausgangsproblem ein. Und zwar ist ein gutes Entwicklungsteam aus der IT gesucht. Entwickler. Wobei ich glaube, die Erkenntnisse sind auf eine Vielzahl an Teams anwendbar. Was nun? Bleibt noch die bereits gegebene Antwort: Ein Team aus den Besten. Da dem Mathematiker-Kern in mir und vielen anderen solche Formulierungen nie genau genug sind: Wie sind denn die Besten definiert?&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Und so kommen wir zu dem eigentlichen Problem hinter der Frage. Manch einer mag meinen, dass ein gutes Team einen Top(-Java)-Entwickler nach dem anderen enthält. Ich möchte da widersprechen. Klar kann es nicht schaden, wenn Entwickler gut im Entwickeln sind&lt;a class="sdfootnoteanc" name="sdfootnote1anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote1sym"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. Meine Erfahrung zeigt jedoch, dass sich Projekte dann auch schnell von der Aufgabenstellung &lt;span style="text-decoration: none;"&gt;&lt;b&gt;fort&lt;/b&gt;&lt;/span&gt;&lt;span style="text-decoration: none;"&gt;entwickeln können. Oft wird zu viel Wert auch Techniken und Technologien gelegt, tausende von Entwurfsmustern&lt;a class="sdfootnoteanc" name="sdfootnote2anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote2sym"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; werden eingesetzt, und die Software ist aus Informatik-ästhetischer Sicht perfekt. Nur leider versteht niemand ohne monatelange Einarbeitung was sie tut&lt;a class="sdfootnoteanc" name="sdfootnote3anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote3sym"&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; und längst sind nicht alle fachlichen Anforderungen prima umgesetzt. Ja, wie ich bereits immer versuche in jedem Entwurfsmusterkurs zu erklären, nicht der Einsatz von Patterns ist wichtig, sondern gerade wann man auf ein Pattern verzichtet.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;Folglich kann es schon mal nicht schaden, auch mal jemanden im Team zu haben, der Entwurfsmuster gar nicht kennt&lt;a class="sdfootnoteanc" name="sdfootnote4anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote4sym"&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;. Oder zumindest jemanden mit soviel Erfahrung bei diesen Dingen, dass er nicht alles nimmt was in der Werbung glänzt.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Jemand unerfahrenes in der Entwicklung mag ein Team vielleicht bremsen. Zu viele von ihnen sicherlich. Aber in kompensierbarem Maße dosiert stellt er die richtigen Fragen, die allen helfen, bewusst Entscheidungen im Rahmen der Entwicklung zu treffen.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;Was kann weiter hilfreich sein, außer Top-Entwicklern? Was man nicht vergessen darf: Jemand, für den das Projekt dermaßen einfach ist, weil sein Wissenstand für die Aufgaben überqualifiziert ist, der verliert leicht die Motivation. Schlechte Motivation ist wie eine ansteckende Krankheit, man muss auf jeden Fall rechtzeitig reagieren. Nicht immer ist dies dem Projektleiter möglich, da Signale bei ihm nicht unbedingt ankommen&lt;a class="sdfootnoteanc" name="sdfootnote5anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote5sym"&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;. Es erfordert Aufmerksamkeit und Menschenkenntnis die Reaktionen selbst zu bemerken. Daraus möchte ich gleich 3 weitere Faktoren für ein gutes Team ableiten: Erstens müssen die Mitglieder den Aufgaben angepasst sein, zweitens ist es wichtig Personen integriert zu haben, welche die Kommunikation im Team fördern und damit Motivationsschwächen rechtzeitig aufdecken sowie im besten Fall außer Kraft setzen und drittens kann ein Team bei schlechter Leitung selten gute Arbeit verrichten.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;Sind Sie schon einmal in ein Büro gekommen, in der die Luft zum Schneiden bereit ist&lt;a class="sdfootnoteanc" name="sdfootnote6anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote6sym"&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt;? Das kann immer passieren. Wenn es aber nicht die Ausnahme sondern die Regel wird, dann sitzen mit hoher Wahrscheinlichkeit nicht die richtigen Leute zusammen. Und es ist nicht unbedingt eine Lösung, jetzt das Team wild im Gebäude zu verteilen&lt;a class="sdfootnoteanc" name="sdfootnote7anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote7sym"&gt;&lt;sup&gt;7&lt;/sup&gt;&lt;/a&gt;. Es unterstreicht, wie wichtig mindestens eine Person im Team ist, welche die Kommunikation (positiv) fördert. Das kann natürlich auch der Projektleiter sein, aber da bleibt die Frage ob seine Anwesenheit ausreicht, denn häufig ist er ja nicht die ganze Zeit bei den anderen. Und es zeigt, dass die Mitglieder eines Teams zusammen passen müssen.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Ein Visionär im Team kann auch nicht schaden. Er findet schnell neueste Technologien und schlägt diese immer wieder vor. Solange es beim Vorschlag bleibt und im Einzelfall entschieden wird, ob die Technologie für das Projekt erfolgreich eingesetzt werden kann, ist so ein Visionär eine unverzichtbare Quelle an neuen Ideen für das Team. Er sollte nur nicht die Entscheidungsgewalt haben. Ab und an hilft er auch bei der Planung von Trends für Team-Events^^.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Was in einem gutem Team auch nicht schaden kann, ist jemand, der einem Streit nicht aus dem Weg geht. Gut, wenn das alle machen, sind wir wieder in dem Büro, in dem man die Luft zerschneiden kann. Aber in Unterzahl ist er wichtig, denn er wird nicht immer nur nicken, wenn er (für sich zumindest) weiss, dass Dinge falsch laufen. Er wird immer wieder darauf herum reiten. Das mag zwar nervig klingen, aber es kann ein Projekt nach vorn bringen. Ein Projektleiter muss lernen mit einer solchen Person umzugehen, denn er wird ihm im schlimmsten Fall auch tatsächlich einmal ein Thema verbieten müssen. Trotz konstruktiver Kritik mag das manchmal nötig sein, wenn eine Diskussion sich zu lange hinzieht und keinen Gewinn mehr für das Projekt verspricht.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Um es aus der Sicht der Akademia Arkania zu beschreiben: Ein Projektteam braucht einen Berater, einen Seher, einen Wächter, einen Diplomaten, einen Barden, einen Magiekundigen und einen Schurken.&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Der Berater liefert die fundierten Argumente zu Entscheidungsfindungen, er ist ein Spezialist mit breitgefächertem Wissen. Er gehört zu denen, die wir vielleicht zu Beginn noch mit „Besten“ bezeichnet hätten.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;Der Seher ist ein Visionär, der dank seiner Leidenschaft immer weiss, welche Ströme in der Umwelt sich auf das Projekt auswirken können. Er nennt neue Technologien, weiss welche in der Zukunft eine Rolle spielen und kann den Berater somit hilfreich unterstützen&lt;a class="sdfootnoteanc" name="sdfootnote8anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote8sym"&gt;&lt;sup&gt;8&lt;/sup&gt;&lt;/a&gt; und zeigen wohin das Projekt technisch schreiten muss.&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Der Wächter hat sein Augenmerk immer und hauptsächlich auf den Anforderungen des Projektes. Er wird alle Entscheidungen kritisch hinterfragen und somit helfen den Fokus im Team nicht zu verlieren. Er bremst damit zwar den Enthusiasmus der anderen, aber sorgt dafür, dass das Projekt in den richtigen Bahnen fährt.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Der Diplomat glänzt mit seiner Teamfähigkeit und Kommunikationsbereitschaft. Er wird zwischen den anderen vermitteln, kann Gespräche mit Außenstehenden führen und fängt die Signale der anderen auf.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Der Barde hebt stets die Moral im Team. Er treibt die anderen zu Kaffeepausen an – in denen natürlich auch ein anderes Getränk oder gar nichts getrunken werden darf – verbreitet gute Stimmung und fängt die Leute auf, die sich mal in Gedanken verfangen. Nichts kann bei langem Suchen nach einer Lösung besser sein, als eine Gedankenpause.&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;Der Magiekundige ist der echte Profi-Entwickler im Team. Meist tippt er schneller als ein Auge seine Finger sehen kann&lt;a class="sdfootnoteanc" name="sdfootnote9anc" href="http://www.blogger.com/post-edit.g?blogID=4493665686061525344&amp;amp;postID=4827269436171566433#sdfootnote9sym"&gt;&lt;sup&gt;9&lt;/sup&gt;&lt;/a&gt; Häufig erscheint es somit, als würde er die Arbeit im Team verrichten. Aber auch er braucht die anderen, wie wir hoffentlich gelernt haben.&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;In der Akademia Arkania gibt es noch den Schurken. Ich habe lange überlegt, ob und wie ich parallelen zu einem guten IT-Team sehe. Aus politischen Gründen sollte eine Rolle mit dieser Bezeichnung vielleicht besser nicht genannt werden. Aber wer den letzten IT-Projektalltag-Märchenvortrag von mir gehört hat, der weiss: Ich kann einfach nicht anders. Ich muss die Rolle nennen. Ein Schurke ist kein bösartiger Typ, der Dinge klaut oder kopiert. Er ist ein Schelm, der vor Sarkasmus nicht zurückschreckt und bereit ist seine Meinung zu sagen, wenn sich andere nicht trauen. Das macht ihn zu einer wichtigen Rolle im Team, denn nur durch seine Bereitschaft ständig anzuecken, kann er Dinge bewegen, die den anderen sonst unerreichbar blieben.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;Dabei handelt es sich natür
