<?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-4744991206859520515</id><updated>2011-08-03T05:13:10.163-07:00</updated><category term='Hotspot'/><category term='Tuning'/><category term='JPA'/><category term='JBoss'/><category term='Saul Williams'/><category term='EJB3'/><category term='Seam'/><category term='Statistics'/><category term='NIN'/><category term='Hibernate'/><category term='Berlin'/><category term='Apple'/><category term='Java'/><category term='Web 2.0'/><category term='Vortrag'/><category term='Announcement'/><category term='Leopard'/><category term='Hibernate Search'/><category term='Konferenz'/><category term='Trent Reznor'/><category term='statsviewer'/><category term='Hip Hop'/><category term='iPhone'/><category term='Präsentation'/><category term='JBoss World'/><category term='JAX'/><category term='Remix'/><category term='JAX07'/><category term='Wicket'/><category term='ORM'/><category term='Conference'/><category term='Mac'/><category term='t-mobile'/><category term='telekom'/><category term='JPA2'/><category term='EJUGDAYS'/><category term='w-jax'/><category term='Persistence'/><category term='Metallica'/><category term='JDO'/><category term='Musik'/><title type='text'>Rock 'N' Code</title><subtitle type='html'>From Software Development to Rock Music.... by Michael Plöd</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-585860595214241055</id><published>2010-10-21T23:01:00.000-07:00</published><updated>2010-10-21T23:45:22.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>My opinion on the Java deprecation in Mac OS X</title><content type='html'>The IT-News space regarding software development had quite a hot story yesterday. Apple announced that they are deprecating Java and that they won't allow software written with deprecated technology into their app store. It is obvious that the introduction of the app store to Mac OS X was the last driver for apple to do that decision. Of course it would be easy to start ranting about Apple's policy I think the answers aren't "Apple sucks" and "Yes they are right". Let's look at different points of views here and start with Apple's:&lt;br /&gt;&lt;br /&gt;For Apple themselves Java is not important anymore. With the introduction of iOS and the SDK for iPhone and iPad they cleary decided to walk the Cocoa / Objective-C way. This was obvious. So in the end they had to support a technology called Java that is from a plain technical view irrelevant to them. And let's be honest they supported it halfheartedly. Remember the delays for Java SE 1.6? So they ended up spending money and development resources for what?&lt;br /&gt;&lt;br /&gt;The growing market of potential Mac Buyers called Java Developers. If I look through our offices at Senacor or if I look at the ever growing Mac share at development related conferences it is obvious that Java Developers love Macs. I'd say 60-70% of the Java Devs working as my colleagues use Macs. If I look at conferences I see a share somewhere between 40-80% and most of the speakers are Mac enthusiasts as well (me included). And let's be honest: Java Developers aren't the 999 € customers in most cases they buy the big machines with care protection that are somewhere around 2.500 - 3.000 €. So Apple risks quite a bunch of money with that move.&lt;br /&gt;&lt;br /&gt;On the other hand we now have Oracle. They don't care about Apple's Mac business at all since it's not their business. And in addition to that. Mac OS X Server is not a very common solution for hosting Java EE applications. So for Oracle, if you look at a plain business point of view there is little reason to start porting Java SE to the Mac. On the other hand Oracle has a) Open JDK and b) currently a little image problem in Java space (sueing Google for Android, lame road map and so on).&lt;br /&gt;&lt;br /&gt;Looking at all these topics I come to the conclusion that the best solution for anybody would be that Oracle starts an Open JDK based development stream for Mac OS X. By that step they make MANY Java Developers VERY happy and promote Open JDK with a very strong statement. On the other hand they should walk over to Apple and tell them "we help you in not loosing millions of € and you help us by co-funding the development for OS X for a defined time frame". Then there is one more company in the game that is not soooo obvious: Google. Even if they are in a current legal battle with Oracle regarding Android they are _HEAVY_ Mac users (I think the biggest Mac buyer in the market) and I'm pretty sure that the legal battle with Oracle will be settled with some sort of a bullet payment. They have a huge interest in keeping the Mac as a development platform for Android. So maybe they might get in the boat as well. Would make perfect sense to do so.&lt;br /&gt;&lt;br /&gt;This is a situation where everybody involved wins:&lt;br /&gt;- Oracle wins in popularity and states that they take Open JDK very serious&lt;br /&gt;- Apple wins by not loosing a growing amount of good customers buying their big machines&lt;br /&gt;- The Java Community wins by having a great new JDK that is at the pace of time with regards to new versions&lt;br /&gt;&lt;br /&gt;-- Just my two cents&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-585860595214241055?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/585860595214241055/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=585860595214241055' title='3 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/585860595214241055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/585860595214241055'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2010/10/my-opinion-on-java-deprecation-in-mac.html' title='My opinion on the Java deprecation in Mac OS X'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-5118290138236281037</id><published>2009-04-03T00:53:00.001-07:00</published><updated>2009-04-06T07:57:23.562-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJUGDAYS'/><category scheme='http://www.blogger.com/atom/ns#' term='Wicket'/><category scheme='http://www.blogger.com/atom/ns#' term='Statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Hibernate Statistics Wicket Page</title><content type='html'>&lt;style&gt;&lt;br /&gt;&lt;!--  /* Font Definitions */ @font-face  {font-family:Cambria;  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;} @font-face  {font-family:Georgia;  panose-1:2 4 5 2 5 4 5 2 3 3;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;} @font-face  {font-family:Monaco;  panose-1:2 0 5 0 0 0 0 0 0 0;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin-top:0cm;  margin-right:0cm;  margin-bottom:10.0pt;  margin-left:0cm;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-fareast-font-family:Cambria;  mso-hansi-font-family:Cambria;  mso-bidi-font-family:"Times New Roman";  mso-fareast-language:EN-US;} span.Absatz-Standardschriftart  {mso-style-name:Absatz-Standardschriftart;  mso-style-noshow:yes;  mso-style-parent:"";} p.Code, li.Code, div.Code  {mso-style-name:Code;  margin-top:0cm;  margin-right:0cm;  margin-bottom:10.0pt;  margin-left:0cm;  mso-pagination:widow-orphan;  font-size:10.0pt;  mso-bidi-font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Courier;  mso-fareast-font-family:Cambria;  mso-hansi-font-family:Courier;  mso-bidi-font-family:"Times New Roman";  mso-fareast-language:EN-US;} span.SpellE  {mso-style-name:"";  mso-spl-e:yes;} span.GramE  {mso-style-name:"";  mso-gram-e:yes;} @page Section1  {size:612.0pt 792.0pt;  margin:70.85pt 70.85pt 2.0cm 70.85pt;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt;&lt;br /&gt;&lt;/style&gt;&lt;!--[if gte mso 10]&gt;&lt;br /&gt;&lt;style&gt;&lt;br /&gt; /* Style Definitions */&lt;br /&gt;table.MsoNormalTable&lt;br /&gt; {mso-style-name:"Normale Tabelle";&lt;br /&gt; mso-tstyle-rowband-size:0;&lt;br /&gt; mso-tstyle-colband-size:0;&lt;br /&gt; mso-style-noshow:yes;&lt;br /&gt; mso-style-parent:"";&lt;br /&gt; mso-padding-alt:0cm 5.4pt 0cm 5.4pt;&lt;br /&gt; mso-para-margin:0cm;&lt;br /&gt; mso-para-margin-bottom:.0001pt;&lt;br /&gt; mso-pagination:widow-orphan;&lt;br /&gt; font-size:10.0pt;&lt;br /&gt; font-family:"Times New Roman";&lt;br /&gt; mso-ascii-font-family:Cambria;&lt;br /&gt; mso-hansi-font-family:Cambria;}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;&lt;br /&gt; &lt;o:shapedefaults ext="edit" spidmax="1026"&gt;&lt;br /&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;&lt;br /&gt; &lt;o:shapelayout ext="edit"&gt;&lt;br /&gt;  &lt;o:idmap ext="edit" data="1"&gt;&lt;br /&gt; &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;I &lt;span class="SpellE"&gt;spent&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; last &lt;span class="SpellE"&gt;couple&lt;/span&gt; of &lt;span class="SpellE"&gt;days&lt;/span&gt; in Vienna and &lt;span class="SpellE"&gt;had&lt;/span&gt; &lt;span class="SpellE"&gt;two&lt;/span&gt; &lt;span class="SpellE"&gt;talks&lt;/span&gt; at &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;ejugdays&lt;/span&gt;. One of &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;talks&lt;/span&gt; was &lt;span class="SpellE"&gt;about&lt;/span&gt; &lt;span class="SpellE"&gt;Hibernate&lt;/span&gt; Tuning and &lt;span class="SpellE"&gt;during&lt;/span&gt; &lt;span class="SpellE"&gt;that&lt;/span&gt; &lt;span class="SpellE"&gt;talk&lt;/span&gt; I &lt;span class="SpellE"&gt;usually &lt;/span&gt;&lt;span class="SpellE"&gt;show&lt;/span&gt; a &lt;span class="SpellE"&gt;demo&lt;/span&gt; of a web &lt;span class="SpellE"&gt;application&lt;/span&gt; &lt;span class="SpellE"&gt;that&lt;/span&gt; has a &lt;span class="SpellE"&gt;very&lt;/span&gt; simple &lt;span class="SpellE"&gt;wicket&lt;/span&gt; &lt;span class="SpellE"&gt;page&lt;/span&gt; &lt;span class="SpellE"&gt;displaying&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;Hibernate's&lt;/span&gt; &lt;span class="SpellE"&gt;statistics&lt;/span&gt;. &lt;span class="SpellE"&gt;Once&lt;/span&gt; &lt;span class="SpellE"&gt;again&lt;/span&gt; I &lt;span class="SpellE"&gt;got&lt;/span&gt; &lt;span class="SpellE"&gt;asked&lt;/span&gt; &lt;span class="SpellE"&gt;by&lt;/span&gt; a &lt;span class="SpellE"&gt;few&lt;/span&gt; &lt;span class="SpellE"&gt;people&lt;/span&gt; &lt;span class="SpellE"&gt;if&lt;/span&gt; &lt;span class="SpellE"&gt;they &lt;/span&gt;&lt;span class="SpellE"&gt;could&lt;/span&gt; &lt;span class="SpellE"&gt;have&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;source&lt;/span&gt; &lt;span class="SpellE"&gt;code&lt;/span&gt; of &lt;span class="SpellE"&gt;that&lt;/span&gt; &lt;span class="SpellE"&gt;page&lt;/span&gt;. I &lt;span class="SpellE"&gt;decided&lt;/span&gt; to post &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;source&lt;/span&gt; &lt;span class="SpellE"&gt;code&lt;/span&gt; of &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;Wicket&lt;/span&gt; &lt;span class="SpellE"&gt;page to my blog. &lt;/span&gt;&lt;span style=";font-family:Georgia;font-size:16;"  &gt;&lt;/span&gt;&lt;div class="Section1"&gt;As &lt;span class="SpellE"&gt;you&lt;/span&gt; &lt;span class="SpellE"&gt;might&lt;/span&gt; &lt;span class="SpellE"&gt;have&lt;/span&gt; &lt;span class="SpellE"&gt;already&lt;/span&gt; &lt;span class="SpellE"&gt;guessed&lt;/span&gt;: &lt;span class="SpellE"&gt;this&lt;/span&gt; &lt;span class="SpellE"&gt;code&lt;/span&gt; &lt;span class="SpellE"&gt;example&lt;/span&gt; &lt;span class="SpellE"&gt;is&lt;/span&gt; &lt;span class="SpellE"&gt;based&lt;/span&gt; on Apache &lt;span class="SpellE"&gt;Wicket&lt;/span&gt;, &lt;span class="SpellE"&gt;my&lt;/span&gt; &lt;span class="SpellE"&gt;favorite&lt;/span&gt; web &lt;span class="SpellE"&gt;framework&lt;/span&gt;. &lt;span class="SpellE"&gt;I'm&lt;/span&gt; &lt;span class="SpellE"&gt;sure&lt;/span&gt; &lt;span class="SpellE"&gt;that&lt;/span&gt; &lt;span class="SpellE"&gt;refactoring&lt;/span&gt;  &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;page&lt;/span&gt; to JSF, &lt;span class="SpellE"&gt;Tapestry&lt;/span&gt; &lt;span class="SpellE"&gt;or&lt;/span&gt; &lt;span class="SpellE"&gt;whatever&lt;/span&gt; will &lt;span class="SpellE"&gt;not&lt;/span&gt; &lt;span class="SpellE"&gt;be&lt;/span&gt; &lt;span class="SpellE"&gt;too &lt;/span&gt;&lt;span class="SpellE"&gt;hard&lt;/span&gt; to &lt;span class="SpellE"&gt;achieve&lt;/span&gt;. As an &lt;span class="SpellE"&gt;entrance&lt;/span&gt; point I &lt;span class="SpellE"&gt;inject&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;Hibernate&lt;/span&gt; &lt;span class="SpellE"&gt;SessionFactory &lt;/span&gt;&lt;span class="SpellE"&gt;through&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; @&lt;span class="SpellE"&gt;SpringBean&lt;/span&gt; &lt;span class="SpellE"&gt;Annotation&lt;/span&gt; (&lt;span class="SpellE"&gt;part&lt;/span&gt; of &lt;span class="SpellE"&gt;Wicket's&lt;/span&gt; Spring &lt;span class="SpellE"&gt;support&lt;/span&gt;). &lt;span class="SpellE"&gt;If&lt;/span&gt; &lt;span class="SpellE"&gt;you &lt;/span&gt;&lt;span class="SpellE"&gt;don't&lt;/span&gt; &lt;span class="SpellE"&gt;use&lt;/span&gt; Spring &lt;span class="SpellE"&gt;you&lt;/span&gt; will &lt;span class="SpellE"&gt;have&lt;/span&gt; to &lt;span class="SpellE"&gt;code&lt;/span&gt; &lt;span class="SpellE"&gt;the&lt;/span&gt; &lt;span class="SpellE"&gt;SessionFactory's &lt;/span&gt;&lt;span class="SpellE"&gt;lookup&lt;/span&gt;. &lt;span class="SpellE"&gt;That&lt;/span&gt; &lt;span class="SpellE"&gt;shouldn't&lt;/span&gt; &lt;span class="SpellE"&gt;be&lt;/span&gt; &lt;span class="SpellE"&gt;too&lt;/span&gt; hard either.&lt;span style=";font-family:Georgia;font-size:16;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="SpellE"  style="font-size:100%;"&gt;&lt;span style="font-family:Georgia;"&gt;HibernateStatisticsPage.java&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(127, 0, 85);font-family:Monaco;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="Java"&gt;&lt;br /&gt;package de.allschools.view.admin;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import org.apache.wicket.PageParameters;&lt;br /&gt;import org.apache.wicket.markup.html.WebMarkupContainer;&lt;br /&gt;import org.apache.wicket.markup.html.WebPage;&lt;br /&gt;import org.apache.wicket.markup.html.basic.Label;&lt;br /&gt;import org.apache.wicket.markup.html.list.ListItem;&lt;br /&gt;import org.apache.wicket.markup.html.list.ListView;&lt;br /&gt;import org.apache.wicket.model.CompoundPropertyModel;&lt;br /&gt;import org.apache.wicket.model.LoadableDetachableModel;&lt;br /&gt;import org.apache.wicket.model.Model;&lt;br /&gt;import org.apache.wicket.spring.injection.annot.SpringBean;&lt;br /&gt;import org.hibernate.SessionFactory;&lt;br /&gt;import org.hibernate.stat.CollectionStatistics;&lt;br /&gt;import org.hibernate.stat.EntityStatistics;&lt;br /&gt;import org.hibernate.stat.QueryStatistics;&lt;br /&gt;import org.hibernate.stat.SecondLevelCacheStatistics;&lt;br /&gt;import org.hibernate.stat.Statistics;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class HibernateStatisticsPage extends WebPage {&lt;br /&gt;    @SpringBean(name = "sessionFactory")&lt;br /&gt;    private SessionFactory sf;&lt;br /&gt;&lt;br /&gt;    public HibernateStatisticsPage(PageParameters parameters) {&lt;br /&gt;        super(parameters);&lt;br /&gt;&lt;br /&gt;        final WebMarkupContainer st = new WebMarkupContainer("stats");&lt;br /&gt;        final CompoundPropertyModel model = new CompoundPropertyModel(new LoadableDetachableModel() {&lt;br /&gt;            protected Object load() {&lt;br /&gt;                return sf.getStatistics();&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;        st.setModel(model);&lt;br /&gt;        st.add(new Label("isStatisticsEnabled"));&lt;br /&gt;        st.add(new Label("startTime"));&lt;br /&gt;        st.add(new Label("sessionOpenCount"));&lt;br /&gt;        st.add(new Label("sessionCloseCount"));&lt;br /&gt;        st.add(new Label("flushCount"));&lt;br /&gt;        st.add(new Label("connectCount"));&lt;br /&gt;        st.add(new Label("prepareStatementCount"));&lt;br /&gt;        st.add(new Label("closeStatementCount"));&lt;br /&gt;        st.add(new Label("entityLoadCount"));&lt;br /&gt;        st.add(new Label("entityUpdateCount"));&lt;br /&gt;        st.add(new Label("entityInsertCount"));&lt;br /&gt;        st.add(new Label("entityDeleteCount"));&lt;br /&gt;        st.add(new Label("entityFetchCount"));&lt;br /&gt;        st.add(new Label("collectionLoadCount"));&lt;br /&gt;        st.add(new Label("collectionUpdateCount"));&lt;br /&gt;        st.add(new Label("collectionRemoveCount"));&lt;br /&gt;        st.add(new Label("collectionRecreateCount"));&lt;br /&gt;        st.add(new Label("collectionFetchCount"));&lt;br /&gt;        st.add(new Label("secondLevelCacheHitCount"));&lt;br /&gt;        st.add(new Label("secondLevelCacheMissCount"));&lt;br /&gt;        st.add(new Label("secondLevelCachePutCount"));&lt;br /&gt;        st.add(new Label("queryExecutionCount"));&lt;br /&gt;        st.add(new Label("queryExecutionMaxTime"));&lt;br /&gt;        st.add(new Label("queryExecutionMaxTimeQueryString"));&lt;br /&gt;        st.add(new Label("queryCacheHitCount"));&lt;br /&gt;        st.add(new Label("queryCacheMissCount"));&lt;br /&gt;        st.add(new Label("queryCachePutCount"));&lt;br /&gt;        st.add(new Label("commitedTransactionCount"));&lt;br /&gt;        st.add(new Label("transactionCount"));&lt;br /&gt;        st.add(new Label("optimisticFailureCount"));&lt;br /&gt;        add(st);&lt;br /&gt;        String[] entities = ((Statistics) model.getObject()).getEntityNames();&lt;br /&gt;        List entityNames = new ArrayList();&lt;br /&gt;        for (int i = 0; i &lt; entities.length; i++) {&lt;br /&gt;            entityNames.add(entities[i]);&lt;br /&gt;        }&lt;br /&gt;        ListView entityStats = new ListView("entities", entityNames) {&lt;br /&gt;            protected void populateItem(ListItem item) {&lt;br /&gt;                String entityName = (String) item.getModelObject();&lt;br /&gt;                final EntityStatistics entityStat = ((Statistics) model.getObject()).getEntityStatistics(entityName);&lt;br /&gt;                item.add(new Label("deleteCount", new Model(entityStat.getDeleteCount())));&lt;br /&gt;                item.add(new Label("updateCount", new Model(entityStat.getUpdateCount())));&lt;br /&gt;                item.add(new Label("fetchCount", new Model(entityStat.getFetchCount())));&lt;br /&gt;                item.add(new Label("insertCount", new Model(entityStat.getInsertCount())));&lt;br /&gt;                item.add(new Label("loadCount", new Model(entityStat.getLoadCount())));&lt;br /&gt;                item.add(new Label("optimisticFailureCount", new Model(entityStat.getOptimisticFailureCount())));&lt;br /&gt;                item.add(new Label("entityName", new Model(entityName)));&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        add(entityStats);&lt;br /&gt;&lt;br /&gt;        String[] collections = ((Statistics) model.getObject()).getCollectionRoleNames();&lt;br /&gt;        List collectionNames = new ArrayList();&lt;br /&gt;        for (int i = 0; i &lt; collections.length; i++) {&lt;br /&gt;            collectionNames.add(collections[i]);&lt;br /&gt;        }&lt;br /&gt;        ListView collectionStats = new ListView("collections", collectionNames) {&lt;br /&gt;            protected void populateItem(ListItem item) {&lt;br /&gt;                String collName = (String) item.getModelObject();&lt;br /&gt;                CollectionStatistics collectionStatistics = ((Statistics) model.getObject()).getCollectionStatistics(collName);&lt;br /&gt;                item.add(new Label("recreateCount", new Model(collectionStatistics.getRecreateCount())));&lt;br /&gt;                item.add(new Label("updateCount", new Model(collectionStatistics.getUpdateCount())));&lt;br /&gt;                item.add(new Label("fetchCount", new Model(collectionStatistics.getFetchCount())));&lt;br /&gt;                item.add(new Label("removeCount", new Model(collectionStatistics.getRemoveCount())));&lt;br /&gt;                item.add(new Label("loadCount", new Model(collectionStatistics.getLoadCount())));&lt;br /&gt;                item.add(new Label("collName", new Model(collName)));&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        add(collectionStats);&lt;br /&gt;&lt;br /&gt;        String[] queries = ((Statistics) model.getObject()).getQueries();&lt;br /&gt;        List queryNames = new ArrayList();&lt;br /&gt;        for (int i = 0; i &lt; queries.length; i++) {&lt;br /&gt;            queryNames.add(queries[i]);&lt;br /&gt;        }&lt;br /&gt;        ListView queryStats = new ListView("queries", queryNames) {&lt;br /&gt;            protected void populateItem(ListItem item) {&lt;br /&gt;                String queryName = (String) item.getModelObject();&lt;br /&gt;                QueryStatistics queryStatistics = ((Statistics) model.getObject()).getQueryStatistics(queryName);&lt;br /&gt;                item.setModel(new CompoundPropertyModel(queryStatistics));&lt;br /&gt;                item.add(new Label("cacheHitCount"));&lt;br /&gt;                item.add(new Label("cacheMissCount"));&lt;br /&gt;                item.add(new Label("cachePutCount"));&lt;br /&gt;                item.add(new Label("executionCount"));&lt;br /&gt;                item.add(new Label("executionRowCount"));&lt;br /&gt;                item.add(new Label("executionAvgTime"));&lt;br /&gt;                item.add(new Label("executionMaxTime"));&lt;br /&gt;                item.add(new Label("executionMinTime"));&lt;br /&gt;                item.add(new Label("categoryName"));&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        add(queryStats);&lt;br /&gt;&lt;br /&gt;        String[] caches = ((Statistics) model.getObject()).getSecondLevelCacheRegionNames();&lt;br /&gt;        List cacheNames = new ArrayList();&lt;br /&gt;        for (int i = 0; i &lt; caches.length; i++) {&lt;br /&gt;            cacheNames.add(caches[i]);&lt;br /&gt;        }&lt;br /&gt;        ListView cacheStats = new ListView("caches", cacheNames) {&lt;br /&gt;            protected void populateItem(ListItem item) {&lt;br /&gt;                String cacheName = (String) item.getModelObject();&lt;br /&gt;                SecondLevelCacheStatistics cacheStatistics = ((Statistics) model.getObject()).getSecondLevelCacheStatistics(cacheName);&lt;br /&gt;                item.setModel(new CompoundPropertyModel(cacheStatistics));&lt;br /&gt;                item.add(new Label("hitCount"));&lt;br /&gt;                item.add(new Label("missCount"));&lt;br /&gt;                item.add(new Label("putCount"));&lt;br /&gt;                item.add(new Label("elementCountInMemory"));&lt;br /&gt;                item.add(new Label("elementCountOnDisk"));&lt;br /&gt;                item.add(new Label("sizeInMemory"));&lt;br /&gt;                item.add(new Label("categoryName"));&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        add(cacheStats);&lt;br /&gt;&lt;br /&gt;        add(new org.apache.wicket.markup.html.link.Link("switch_stats") {&lt;br /&gt;&lt;br /&gt;            @Override&lt;br /&gt;            public void onClick() {&lt;br /&gt;                sf.getStatistics().setStatisticsEnabled(!sf.getStatistics().isStatisticsEnabled());&lt;br /&gt;                sf.getStatistics().clear();&lt;br /&gt;                final CompoundPropertyModel model = new CompoundPropertyModel(new LoadableDetachableModel() {  &lt;br /&gt;                  protected Object load() {  &lt;br /&gt;                    return sf.getStatistics();  &lt;br /&gt;                  }  &lt;br /&gt;               });  &lt;br /&gt;              st.setModel(model); &lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="SpellE"  style="font-size:100%;"&gt;&lt;span style="font-family:Georgia;"&gt;HibernateStatisticsPage.html&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(127, 0, 85);font-family:Monaco;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre name="code" class="Java"&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;    &amp;lt;div id="header"&amp;gt;Hibernate Statistics&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;a href="#" wicket:id="build_index"&amp;gt;Create Search Index&amp;lt;/a&amp;gt;&lt;br /&gt;    &amp;lt;a href="#" wicket:id="switch_stats"&amp;gt;En- or Disable Statistics&amp;lt;/a&amp;gt;&lt;br /&gt;    &amp;lt;div wicket:id="stats"&amp;gt;&lt;br /&gt;        &amp;lt;table width="100%"&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;isStatisticsEnabled&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="isStatisticsEnabled"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;startTime&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="startTime"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;sessionOpenCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="sessionOpenCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;sessionCloseCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="sessionCloseCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;flushCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="flushCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;connectCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="connectCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;prepareStatementCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="prepareStatementCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;closeStatementCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="closeStatementCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;entityLoadCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityLoadCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;entityUpdateCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityUpdateCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;entityInsertCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityInsertCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;entityDeleteCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityDeleteCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;entityFetchCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityFetchCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;collectionLoadCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="collectionLoadCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;collectionUpdateCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="collectionUpdateCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;collectionRemoveCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="collectionRemoveCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;collectionRecreateCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="collectionRecreateCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;collectionFetchCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="collectionFetchCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;secondLevelCacheHitCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="secondLevelCacheHitCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;secondLevelCacheMissCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="secondLevelCacheMissCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;secondLevelCachePutCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="secondLevelCachePutCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryExecutionCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryExecutionCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryExecutionMaxTime&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryExecutionMaxTime"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryExecutionMaxTimeQueryString&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryExecutionMaxTimeQueryString"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryCacheHitCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryCacheHitCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryCacheMissCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryCacheMissCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;queryCachePutCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="queryCachePutCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;commitedTransactionCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="commitedTransactionCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;transactionCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="transactionCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;optimisticFailureCount&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span wicket:id="optimisticFailureCount"/&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;           &lt;br /&gt;        &amp;lt;/table&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;br&amp;gt;&lt;br /&gt;    &amp;lt;div id="header"&amp;gt;Entity Statistics&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;table witdh="100%" border ="1"&amp;gt;&lt;br /&gt;        &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Entity&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Load Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Fetch Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Insert Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Delete Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Update Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Optimistic Failure Count&amp;lt;/td&amp;gt;&lt;br /&gt;        &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr wicket:id="entities"&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="entityName"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="loadCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="fetchCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="insertCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="deleteCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="updateCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="optimisticFailureCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;/table&amp;gt;&lt;br /&gt;    &amp;lt;br&amp;gt;&lt;br /&gt;    &amp;lt;div id="header"&amp;gt;Collection Statistics&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;table witdh="100%" border ="1"&amp;gt;&lt;br /&gt;        &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Collection&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Load Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Fetch Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Recreate Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Remove Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Update Count&amp;lt;/td&amp;gt;&lt;br /&gt;        &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr wicket:id="collections"&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="collName"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="loadCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="fetchCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="recreateCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="removeCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="updateCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;/table&amp;gt;&lt;br /&gt;    &amp;lt;br&amp;gt;&lt;br /&gt;    &amp;lt;div id="header"&amp;gt;Query Statistics&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;table witdh="100%" border ="1"&amp;gt;&lt;br /&gt;        &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Query&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Execution Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Execution Row Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Avg Time&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Min Time&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Max Time&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Cache Hit Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Cache Miss Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Cache Put Count&amp;lt;/td&amp;gt;&lt;br /&gt;        &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr wicket:id="queries"&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="categoryName"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="executionCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="executionRowCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="executionAvgTime"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="executionMinTime"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="executionMaxTime"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="cacheHitCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="cacheMissCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="cachePutCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;/table&amp;gt;&lt;br /&gt;    &amp;lt;br&amp;gt;&lt;br /&gt;    &amp;lt;div id="header"&amp;gt;Cache Statistics&amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;table witdh="100%" border ="1"&amp;gt;&lt;br /&gt;        &amp;lt;tr&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Cache&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Hit Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Miss Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Put Count&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Elements in Memory&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Elements on Disk&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;td&amp;gt;Size in Memory&amp;lt;/td&amp;gt;&lt;br /&gt;        &amp;lt;/tr&amp;gt;&lt;br /&gt;            &amp;lt;tr wicket:id="caches"&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="categoryName"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="hitCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="missCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="putCount"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="elementCountInMemory"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="elementCountOnDisk"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;                &amp;lt;td&amp;gt;&amp;lt;span wicket:id="sizeInMemory"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;            &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-5118290138236281037?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/5118290138236281037/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=5118290138236281037' title='5 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5118290138236281037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5118290138236281037'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2009/04/hibernate-statistics-wicket-page.html' title='Hibernate Statistics Wicket Page'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-111352064626497527</id><published>2008-12-29T01:54:00.000-08:00</published><updated>2008-12-29T01:57:55.287-08:00</updated><title type='text'>Interview mit mir auf SE-Radio</title><content type='html'>SE-Radio hat heute eine Interview, welches Arno Haase mit mir geführt hat, veröffentlich. Inhalt des Interviews ist das Thema "OR-Mapper".&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Arno und ich unterhalten uns in dem Interview über Konzepte von OR-Mappern und gehen auch auf Tools in dem Umfeld ein. Abschliessend gehen wir noch auf entsprechende Architekturkonzepte ein.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Das Interview ist &lt;a href="http://www.se-radio.net/podcast/2008-12/episode-121-or-mappers-michael-ploed"&gt;hier&lt;/a&gt; zu finden.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-111352064626497527?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/111352064626497527/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=111352064626497527' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/111352064626497527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/111352064626497527'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/12/interview-mit-mir-auf-se-radio.html' title='Interview mit mir auf SE-Radio'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-1422539623891425360</id><published>2008-12-15T14:00:00.001-08:00</published><updated>2008-12-15T14:26:18.237-08:00</updated><title type='text'>Tips and Tricks around concert photography</title><content type='html'>&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; text-align: left"&gt;&lt;br /&gt;&lt;div style="text-align: center"&gt;&lt;div style="margin-top: 6px; margin-right: 6px; margin-bottom: 6px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; min-height: 1100px; font-family: Verdana; background-color: rgb(255, 255, 255)"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-right: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;a href="http://www.flickr.com/photos/rockriot/2856768547/" title="Metallica @ O2 World Berlin (Death Magnetic Release Party) by Mike Nbg, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3211/2856768547_c08b2db1e8.jpg" width="500" height="335" alt="Metallica @ O2 World Berlin (Death Magnetic Release Party)" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial"&gt;&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Metallica @ O2 World Berlin (75mm 1/15 sec 4.5f ISO 100) &lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;Usually I post to this blog in German but since I think that this topic is very interesting to a very wide audience I decided to write in English. Another new thing to this dusty blog is the topic: photography. I spent the last 8 or something years shooting images at all kinds of concerts for my online magazine Allschools Network (&lt;a href="http://www.allschools.de/" style="color: rgb(85, 26, 139)"&gt;www.allschools.de&lt;/a&gt;). Most of my experience relates to taking pictures ate Metal, Punk(rock) and Hardcore shows be it in really small clubs with 50 - 200 people in attendance to festivals like With Full Force or bigger shows in arenas. I always thought about sharing my experiences and that's what I will do right now.&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;Concert photography is quite a challenge, isn't it? You are facing all the hard things that you encounter when taking pictures: extremely low light, a lot of movement, a pushing crowd and quite a few rules. This guide aims to provide you with a few hints that I personally learned hands on throughout the last few years. The main part of that guide focuses on photographers with a photo pass, however I will also provide a bunch of tips for people using a compact camera from the audience.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;a href="http://www.flickr.com/photos/rockriot/3080759650/" title="Rob Flynn of Machine Head by Mike Nbg, on Flickr" style="color: rgb(85, 26, 139)"&gt;&lt;img src="http://farm4.static.flickr.com/3286/3080759650_e320f26008.jpg" width="500" height="335" alt="Rob Flynn of Machine Head" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial"&gt;&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Rob Flynn of Machine Head (50mm 1/60 sec 2.8f ISO 400)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;font size="5"&gt;The rules&lt;br&gt;&lt;/font&gt;&lt;/h1&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;The usual rule is that you are not allowed to bring any professional camera equipment to a concert unless you have a photo pass. Most bands and promoters consider a DSLR as "professional" equipment. A compact camera should be fine in most cases. However there is also the restriction that you can only bring cameras that can't take movies. But actually I have never witnessed that rule to be executed by local security.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;If you have a photo pass the usual rules are "no flash" and only the first three songs in front of the stage. After the first three songs most bands allow you to take pictures from outside the barriers in front of the stage, but still without flash. Make sure to have your photo pass with you all the time since security might check you when they see you in the crowd with a DSLR and a big zoom lens. But please make sure that you don't bother other people who paid hard earned money on their concert ticket. There may be bands that want you to lock your camera after the first three songs in a locker provided backstage. Just make sure you know the rules of a specific band and venue and that you respect them without further discussions.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;In case you don't have a photo pass the only rule to follow is: don't hold up your cam all the time. People behind you will hate you for that ;-)&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;a href="http://www.flickr.com/photos/rockriot/2535048914/" title="Suffocation live by Mike Nbg, on Flickr" style="color: rgb(85, 26, 139)"&gt;&lt;img src="http://farm3.static.flickr.com/2272/2535048914_7c5ecfa525.jpg" width="500" height="370" alt="Suffocation live" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial"&gt;&lt;/a&gt;&lt;a href="http://www.flickr.com/photos/rockriot/2535048914/" title="Suffocation live by Mike Nbg, on Flickr" style="color: rgb(85, 26, 139)"&gt;&lt;br&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Frank Mullen of Suffocation (105mm 1/40 sec 2.8f ISO 800)&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;font size="5"&gt;How do I get a photo pass?&lt;br&gt;&lt;/font&gt;&lt;/h1&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;This question is a tough one. I personally started my own online music magazine 11 years ago, giving us good connections to many promoters, managements, record labels and bands. Basically starting an own magazine online right now is a tough task. The market is quite packed and record labels mostly work with the established magazines. In case you are all alone and want to get photo passes there are several options:&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;Get in connection with a good fanzine and offer your services &lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;Most fanzines are happy for everybody that helps. If you come up with a bunch of pics from underground shows (where no photo pass is required) and offer them to that fanzine chances are good that they want to work with you. However you will not get paid by them. I have personally never earned a cent taking pictures but it has also never been my intention to do so.&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;Talk to local promoters&lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;What I usually do when I don't have direct contact to a band or label is to contact the local promoter of a specific show. Usually they hesitate to provide you with free entrance and a photo pass but most of the time I succeeded with offering them to pay for my own ticket and they give me a photo pass. This mostly works for mid-sized shows (up to 1000-2000 people in attendance).&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;Get connections to labels and bands&lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;This is the most promising but also toughest way. Usually you only get this exposure when working with an existing magazine or fanzine.&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;div id="n_ip" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;img src="http://docs.google.com/File?id=dfx7k52x_17f6zfw4d7_b" style="width: 500px; height: 335px"&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;#3 of Slipknot (50mm 1/80 sec 2.8f ISO 800)&lt;/font&gt;&lt;/div&gt;&lt;div id="n_ip" style="text-align: left; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;b&gt;&lt;font size="5"&gt;The equipment&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;So what equipment should you get for taking decent photos? Again it is a question of having a photo pass or not. Basically the most important things to watch out for are "light" (aperture, Mega-pixels) and "high ISOs".&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;No photo pass = no DSLR&lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;If you don't have a photo pass you are stuck with a compact camera. If you look for a good compact camera for this specific use case I would watch for lower Mega-pixels (10 for instance), a good lens (2,8f) and a decent performance at ISO &gt; 200 / 400. The Panasonic LX3 looks absolutely promising for our case. &lt;a href="http://www.dpreview.com/" style="color: rgb(85, 26, 139)"&gt;DP Review&lt;/a&gt; has good reviews on all kinds of cameras. So check them and look out for a good low light performance of a specific camera.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;Photo pass = DSLR (and nothing else)&lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;If you have a photo pass there is no excusion for not bringing a DSLR. Everything else would be totally ridiculous. But you can leave your tripod and your flash at home, you won't be allowed to use these anyways. In terms of DSLRs a good performance at high ISOs (800 / 1600) is key to great pictures. I am personally working with Minolta / Sony bodies (A-100 and A-700) but I am sure that you will also get great (and event better) pictures with Canons and Nikons. And as always in this kind of hobby / profession: the more money you spend the more you get ;-) Of course will a D-700 or an A-900 produce better looking pictures than a D90 or an A-700. In case you start getting into DSLRs it is absolutely fair to stick with the entrance models, just make sure you can use your lenses if you upgrade your body.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;In terms of lenses an aperture of 2.8f or wider is key to success. My standard equipment for shows consists of a 50mm 1.4f, a 16-50mm 2.8f and a 105mm 2.8f. However the purchase of a 70-200 2.8f is pretty close to happen. This lens is actually the best choice for big stages. For bigger shows with lot's of light I also bring the Sony 70-300mm kit lens but I'm not too happy with it's sharpness. Another general rule is: the bigger the stage, the more zoom you will need. At small Hardcore Show I usually only work with my 16-50mm 2.8f lens.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;If you happen to have two camera bodies, bring them. One mounted with  a wide angel lens (50mm 1.4f or a wide angel zoom like a 16-50mm or 28-70mm) and the other one mounted with a zoom lens (70-200mm). I would mount the zoom lens on the better of both bodies because you will need shorter shutter times to avoid blur resulting due to your shaking hands.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;As always you must make sure that you have enough storage available, there is nothing more embarrassing that running out of storage after the second song. At festivals I usually have my MacBook Pro and 5 4GB CF Cards with me. At a usual show I only take the 3-5 CF Cards with me. And of course you should check your batteries the night before the show. An extra battery should be with you as well.&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;I mentioned earlier that using flash is usually not allowed. However small club shows don't have any photo rules at all, so you could use a flash but please don't use the camera's flash as it will fire directly into the musicians eyes. I recommend an extra flash that fires into the venues upper wall and reflects from there. This has several advantages: you get better looking pictures because you don't ruin the life show and you don't flash peoples eyes. However I recommend you to use the flash only very rarely. You can also get great movement effects using rear sync flash.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;font size="3"&gt;Know your equipment&lt;br&gt;&lt;/font&gt;&lt;/h3&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"&gt;When shooting at concerts with the usual "3 songs no flash" rule you usually have around 10 - 13 minutes to make your photos. That means that there is not time left for figuring out where which button is and what setting is best. So in the end you must know your equipment inside out. If you get a new body or a new lens you should practice before taking pictures at rules intensive shows. For instance at a small local club where smaller bands play that are happy to be photographed.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;div id="eo:w" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;img src="http://docs.google.com/File?id=dfx7k52x_18c4q2vnfx_b" style="width: 500px; height: 335px"&gt;&lt;/div&gt;&lt;div id="eo:w" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Sabine Weininger of Deadlock (50mm 1/100 sec 1.7f ISO 400)&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h1&gt;&lt;font size="5"&gt;Camera settings&lt;br&gt;&lt;/font&gt;&lt;/h1&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;At concerts I mostly use the following settings:&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;Aperture priority with an aperture of 2.8f&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;Spot metering&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;Spot autofocus&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;ISO 800 or ISO 1600&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;Drive shooting&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px"&gt;RAW File Format&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;h4&gt;&lt;font size="2"&gt;Aperture priority&lt;br&gt;&lt;/font&gt;&lt;/h4&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;Of course you need to optimize shutter speed and the widest possible Aperture enables just that for you. Manual mode is due to changing light very cumbersome. In addition to that most pictures of musicians are portraits which means that a wide aperture is step one to good looking image&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h4&gt;&lt;font size="2"&gt;Spot metering and Spot autofocus&lt;br&gt;&lt;/font&gt;&lt;/h4&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;Most of the time I work with my camera's focus and metering mode set to spot. This makes sure that on the one side your camera will focus faster and on the other side you make sure that background lights don't distract from the main subject, the artist.&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h4&gt;&lt;font size="2"&gt;High ISOs&lt;br&gt;&lt;/font&gt;&lt;/h4&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;The higher the ISO the better for concert photography. This also means that you need to know how far you can go with your camera in terms of noise. For instance my Alpha 100 is quite noisy at ISO &gt; 400. ISO 800 is only usable for web pictures after some post processing. On the other hand my Alpha 700 looks absolutely fine at ISO 1600 (with High ISO noise reduction turned OFF).&lt;/font&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;Nevertheless you should invest a few Euros / Dollars in noise reduction software.  The image below shows an example of a picture (Rob Flynn of Machine Head) taken with the Alpha 100 at ISO 800 and 50mm 2.8f before (right side) and after (left side) noise reduction with &lt;a href="http://www.picturecode.com/" style="color: rgb(85, 26, 139)"&gt;Noise Ninja&lt;/a&gt; Home Standalone (click to enlarge).&lt;br&gt;&lt;br&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;span style=" color: rgb(0, 0, 238)"&gt;&lt;div id="q51q" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;a target="_blank" href="http://docs.google.com/File?id=dfx7k52x_20xk7z49fv_b"&gt;&lt;img src="http://docs.google.com/File?id=dfx7k52x_20xk7z49fv_b" style="width: 500px; height: 246.25px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Rob Flynn of Machine Head (1/160sec ISO 800 50mm 2.8f).&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Right side: original picture&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Left side: noise reduction&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="10px"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;h4&gt;&lt;font size="2"&gt;Drive shooting&lt;br&gt;&lt;/font&gt;&lt;/h4&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;I usually set my camera to drive mode, so I can choose from a whole wealth of pictures of a specific scene and choose the most emotional one. Music photography is all about capturing the emotion of a certain moment of the performance.&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;h4&gt;&lt;font size="2"&gt;RAW Images&lt;br&gt;&lt;/font&gt;&lt;/h4&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span" size="medium"&gt;The reason I only shoot in RAW is the flexibility I have in post-processing. You can still get a lot out of slightly under exposed pictures in the post-processing steps.&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;div id="k1i7" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;img src="http://docs.google.com/File?id=dfx7k52x_19fbw2dkfb_b" style="width: 500px; height: 335px"&gt;&lt;/div&gt;&lt;div id="k1i7" style="text-align: center; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font size="1"&gt;Terror (18mm 1,0 sec 3.5f ISO 400)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;h1&gt;&lt;font size="5"&gt;After the show: sorting out, organizing, post-processing&lt;br&gt;&lt;/font&gt;&lt;/h1&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span"&gt;&lt;font class="Apple-style-span" size="medium"&gt;&lt;font class="Apple-style-span" style="font-weight: normal"&gt;The obvious choices are a combination of &lt;a href="http://www.adobe.com/de/products/photoshop/photoshop/"&gt;Photoshop&lt;/a&gt;(tm), &lt;a href="http://www.adobe.com/de/products/photoshoplightroom/" style="color: rgb(85, 26, 139)"&gt;Lightroom&lt;/a&gt;(tm) or &lt;a href="http://www.apple.com/de/aperture/"&gt;Aperture&lt;/a&gt;(tm) and noise removal software like &lt;a href="http://www.picturecode.com/" style="color: rgb(85, 26, 139)"&gt;Noise Ninja&lt;/a&gt;(tm) or &lt;/font&gt;&lt;/font&gt;&lt;font class="Apple-style-span" size="medium"&gt;&lt;b&gt; &lt;/b&gt;&lt;font class="Apple-style-span" style="font-weight: normal"&gt;&lt;a href="http://www.neatimage.com/" style="color: rgb(85, 26, 139)"&gt;Neat Image(tm)&lt;/a&gt;. Regarding Photoshop I would not alter the image too much, slight improvements are ok but we don't want our pictures to look cheesy, don't we?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;font class="Apple-style-span"&gt;&lt;font class="Apple-style-span" size="medium"&gt;&lt;font class="Apple-style-span" style="font-weight: normal"&gt;I'm personally not using Photoshop at all because the license is too expensive for my use case. A free alternative is &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt;. Actually I have never missed Photoshop since you already have a lot of options for editing your pictures in Lightroom. But no doubt: Photoshop is king.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: left; margin-top: 0px; margin-bottom: 0px"&gt;Another thing I usually do is to send a link or a copy of the published pictures to the girl / guy that provided me with a photo-pass so they see that I promoted their artist, festival or show.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h1&gt;Further reading &amp;amp; links&lt;br&gt;&lt;/h1&gt;&lt;p&gt;&lt;a id="q5yr" href="http://www.flickr.com/photos/rockriot" title="My flickr photostream"&gt;My flickr photostream&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a id="kcez" href="http://www.allschools.de" title="My music magazine - Allschools Network"&gt;My music magazine - Allschools Network&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a id="ea0b" href="http://www.boudist.com/archive/2007/02/07/concert_photography_masterclass.php" title="Concert Photography Masterclass by Daniel Boud"&gt;Concert Photography Masterclass Part 1 by Daniel Boud&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a id="etm_" href="http://www.boudist.com/archive/2007/02/09/concert_photography_masterclass_part_2.php" title="Concert Photography Masterclass Part 2 by Daniel Boud"&gt;Concert Photography Masterclass Part 2 by Daniel Boud&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a id="ur45" href="http://www.betterphoto.com/exploring/concerts.asp" title="Photographing Great Concert Photos"&gt;Photographing Great Concert Photos&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-1422539623891425360?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/1422539623891425360/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=1422539623891425360' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1422539623891425360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1422539623891425360'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/12/tips-and-tricks-around-concert.html' title='Tips and Tricks around concert photography'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3211/2856768547_c08b2db1e8_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-5359677810348492344</id><published>2008-09-15T06:06:00.000-07:00</published><updated>2008-09-15T06:27:07.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Metallica'/><category scheme='http://www.blogger.com/atom/ns#' term='Präsentation'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferenz'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Berlin'/><title type='text'>Berlin.jar Konferenz</title><content type='html'>Das vergangene Wochenende verbrachte ich in Berlin um dort einen Vortrag auf der Berlin.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;jar&lt;/span&gt; Konferenz zu halten.&lt;br /&gt;&lt;br /&gt;Die Konferenz selbst fand zum ersten Mal statt und war, dank einer guten Promotion und eines sehr günstigen Eintrittspreises gut besucht und ebenfalls gut organisiert. Am Samstag habe ich mir zuerst den Vortrag meines &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Senacor&lt;/span&gt; Kollegen Ralph &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Winzinger&lt;/span&gt; angehört, der interessante Einblicke zum Entwurf "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;SOA&lt;/span&gt;-kompatibler" Java Anwendungen vorstellte. Leider hab ich mich im Anschluss total &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;verquatscht&lt;/span&gt; und wollte dann noch mal über meinen Vortrag gehen, wodurch ich leider nicht dazu kam, mir den &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;OSGi&lt;/span&gt; Talk von Stefan &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Zörner&lt;/span&gt; anzuhören.&lt;br /&gt;&lt;br /&gt;Mit meinem Vortrag war ich im &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;großen&lt;/span&gt; und ganzen zufrieden. Das &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Slidedeck&lt;/span&gt; war ein kleines Experiment, welches aufgegangen ist. Ich habe bewusst auf &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Textwüsten&lt;/span&gt; und &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Bulletpoint&lt;/span&gt;-Sammlungen verzichtet und bin mit dem Resultat nicht ganz unzufrieden.... den Stil werde ich wohl beibehalten und erweitern. Grund für den Stilwechsel war die Lektüre des Buches "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Presentation&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Zen&lt;/span&gt;" von &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Garr&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Reynolds&lt;/span&gt;, welches ich jedem ans Herzen legen möchte.&lt;br /&gt;&lt;br /&gt;Und was macht ein &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Metal&lt;/span&gt; Fan, der an diesem Wochenende in Berlin war? Richtig: Freitag &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Metallica&lt;/span&gt; in der O2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;World&lt;/span&gt;... war grandios. Bilder &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;gibts&lt;/span&gt; auf &lt;a href="http://www.allschools.de"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Allschools&lt;/span&gt; &lt;/a&gt;und &lt;a href="http://www.flickr.com/photos/rockriot"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Flickr&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-5359677810348492344?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/5359677810348492344/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=5359677810348492344' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5359677810348492344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5359677810348492344'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/09/berlinjar-konferenz.html' title='Berlin.jar Konferenz'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-8107050773104761831</id><published>2008-07-28T08:27:00.000-07:00</published><updated>2008-07-28T08:44:35.685-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='Musik'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='Tuning'/><title type='text'>Conference Roundup &amp; Wicket</title><content type='html'>I'll be giving a bunch of talks at conferences in the near future. Here are the dates:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Berlin.jar in Berlin (&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://berlin.jar.jug-bb.de"&gt;http://berlin.jar.jug-bb.de&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;):&lt;/span&gt;&lt;br /&gt;Performance Tuning of Hibernate / JPA applications&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JAX-Conf San Jose (&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.jax-conf.com"&gt;http://www.jax-conf.com&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;):&lt;/span&gt;&lt;br /&gt;Hibernate Search (This talk could actually change in topic)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;W-JAX in Munich (&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.w-jax.com"&gt;http://www.w-jax.com&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;):&lt;/span&gt;&lt;br /&gt;Performance Tuning of Hibernate / JPA applications&lt;br /&gt;Introduction to Domain Driven Design&lt;br /&gt;&lt;br /&gt;On another note I started to completely revamp the codebase of the music magazine I started back in 1997 or something. The magazine is called Allschools Network and I'm no longer responsible for it but in the background I'm still working for it in terms of IT-related stuff. Currently I'm nearly done with a refactoring form horrible table based layout PHP Code towards a kick-ass Java based software. The ingredients of the new version are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;YAML based layout&lt;/li&gt;&lt;li&gt;Wicket as web framework&lt;/li&gt;&lt;li&gt;Spring for wiring, AOP, transactions&lt;/li&gt;&lt;li&gt;Hibernate + Annotations for persistence&lt;/li&gt;&lt;li&gt;Lucene + Hibernate Search for fulltext search&lt;br /&gt;&lt;/li&gt;&lt;li&gt;EHCache for caching&lt;/li&gt;&lt;/ul&gt;Let me just loose some words on Wicket: I'm totally sold on it. I'm not a web developer so I see a lot of the GUI related stuff from a different perspective and Wicket felt totally natural to me. This is (for me) _the best_ Web Framework out there. Expect more news on Allschools in the near future.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Mike&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-8107050773104761831?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/8107050773104761831/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=8107050773104761831' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8107050773104761831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8107050773104761831'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/07/conference-roundup-wicket.html' title='Conference Roundup &amp; Wicket'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-861224967623805977</id><published>2008-02-14T14:17:00.000-08:00</published><updated>2008-02-17T07:21:57.438-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss World'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JBoss World Orlando: Hibernate Search</title><content type='html'>Ich habe gerade eine sehr interessante und toll vorgetragene Session von Emmanuel Bernard aus dem Hibernate Team zum Thema Hibernate Search gehört.&lt;br /&gt;&lt;br /&gt;Hibernate Search bietet Volltext Suchen für Anwendungen an, die mit Hibernate (core oder Entity Manager) arbeiten. Dabei setzt Hibernate Search primär auf folgende Technologien:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Das Event System von Hibernate Core&lt;/li&gt;&lt;li&gt;Apache Lucene&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Die Integration von Search ist relativ einfach: ein wenig Konfiguration (eine Zeile in der hibernate.cfg.xml) und hier und da ein paar Annotationen kombiniert mit einem extra Query Interface. Den Rest macht Hibernate Search transparent für den User über das Hibernate interne Event System (welches man übrigens auch als Nutzer von Hibernate verwenden kann).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Präsentation war sehr gut und ich denke, dass Hibernate Search definitiv ein interssanter Ansatzpunkt für Volltext Suchen bei Hibernate basierten Anwendungen ist.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-861224967623805977?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/861224967623805977/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=861224967623805977' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/861224967623805977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/861224967623805977'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/02/jboss-world-orlando-hibernate-search.html' title='JBoss World Orlando: Hibernate Search'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-673323375234465196</id><published>2008-02-13T11:35:00.000-08:00</published><updated>2008-02-13T11:42:13.994-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBoss World'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA2'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JBoss World Orlando: Hibernate</title><content type='html'>Am Samstag habe ich mich in Richtung der JBoss World Orlando, FL aufgemacht. Zuerst verbrachte ich noch drei tolle Tage in Miami Beach wo ich neben zahlreichen Freunden auch noch Werner Eberling auf ein Abendessen traf. Werner wird mit mir und Francis Pouatcha am Freitag eine Case Study auf der JBoss World halten.&lt;br /&gt;&lt;br /&gt;Inzwischen bin ich in Orlando und habe mir gerade den ersten Vortrag angehört. Thema war Hibernate und Speaker war Emmanuel Bernard vom Hibernate Team. Ich hatte die Katze im Sack gekauft weil ich nicht wusste, was Emmanuel erzählen wollte war aber positiv überrascht. Neben einen Ausblick auf folgende Hibernate Versionen (mehr dazu in einem späteren Blog Eintrag) gab Emmanuel noch Vorinformationen was wohl mit JPA 2  kommen wird. Überraschend für mich war, dass das am meisten von Usern geforderte Feature Criteria Queries sind. Ich hätte hier eher auf Collections of Embeddables, die Möglichkeit Maps abzubilden oder geschachtelte Value Objekte getippt. Natürlich werden all diese Themen auch in der EG diskutiert.&lt;br /&gt;&lt;br /&gt;Des Weiteren gab Emmanuel noch einen Überblick über Hibernate Search, Tools und Shards. Dabei verwies er auf die folgenden Sessions zu den einzelnen Themen.&lt;br /&gt;&lt;br /&gt;Als nächstes werde ich mir wohl einen Vortrag über OSGi im Microcontainer anhören.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-673323375234465196?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/673323375234465196/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=673323375234465196' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/673323375234465196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/673323375234465196'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2008/02/jboss-world-orlando-hibernate.html' title='JBoss World Orlando: Hibernate'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-5772990402741550977</id><published>2007-12-13T01:38:00.000-08:00</published><updated>2007-12-13T01:44:01.694-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statsviewer'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Statsviewer Homepage</title><content type='html'>Statsviewer hat inzwischen auch eine eigene Homepage:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://statsviewer.sourceforge.net/"&gt;http://statsviewer.sourceforge.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Die Seite wurde komplett mit Maven2 generiert und ich muss gestehen, dass ich so langsam auch zum Maven Freund werde. Die Möglichkeit Webseiten für ein Projekt mit Maven2 zu generieren ist ein nettes und mächtiges Feature, das initial eine Menge Arbeit erspart.&lt;br /&gt;&lt;br /&gt;Aktuell bin ich noch dabei, ein paar Bugs zu beheben, den Code aufzuräumen und die Doku zu erweitern.&lt;br /&gt;&lt;br /&gt;Meine Kriterien an die 1.0 GA sind:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Keine bekannten Bugs&lt;/li&gt;&lt;li&gt;Sauberer und klar dokumentierter Source Code&lt;/li&gt;&lt;li&gt;Gute Dokumentation und FAQs&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-5772990402741550977?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/5772990402741550977/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=5772990402741550977' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5772990402741550977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5772990402741550977'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/12/statsviewer-homepage.html' title='Statsviewer Homepage'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-8780992594160443988</id><published>2007-12-06T05:26:00.000-08:00</published><updated>2007-12-06T05:32:32.515-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vortrag'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss World'/><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='Seam'/><category scheme='http://www.blogger.com/atom/ns#' term='EJB3'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Ankündigung: Vortrag auf JBoss World Orlando</title><content type='html'>Ich werde am 15. Februar eine Fallstudie auf der JBoss World in Orlando, FL vorstellen.&lt;br /&gt;&lt;br /&gt;Im Rahmen der Fallstudie werde ich zusammen mit Francis Pouatcha von Adorsys und Werner Eberling von Mathema ein Projekt vorstellen, welches basierend auf EJB3, Seam, JSF und Rich Faces auf JBoss 4.2.0 eine Plattform für Kredite bei einer Bank in Deutschland umgesetzt hat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-8780992594160443988?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/8780992594160443988/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=8780992594160443988' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8780992594160443988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8780992594160443988'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/12/ankndigung-vortrag-auf-jboss-world.html' title='Ankündigung: Vortrag auf JBoss World Orlando'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-126796899419713777</id><published>2007-12-05T00:53:00.000-08:00</published><updated>2007-12-05T00:56:08.330-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statsviewer'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Statsviewer ist veröffentlicht</title><content type='html'>Wie ich ja schon auf der W-JAX angekündigt habe, ist ein Open Source Projekt von mir in der Pipeline, welches die Analyse der Hibernate Statistics sehr einfach macht.&lt;br /&gt;&lt;br /&gt;Dieses Projekt habe ich gestern in einer ersten Beta Version auf Sourceforge veröffentlicht:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/statsviewer"&gt;http://sourceforge.net/projects/statsviewer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ENJOY!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-126796899419713777?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/126796899419713777/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=126796899419713777' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/126796899419713777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/126796899419713777'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/12/stasviewer-ist-verffentlicht.html' title='Statsviewer ist veröffentlicht'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-691010571757907633</id><published>2007-11-27T14:46:00.000-08:00</published><updated>2007-11-27T14:53:20.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Trent Reznor'/><category scheme='http://www.blogger.com/atom/ns#' term='Remix'/><category scheme='http://www.blogger.com/atom/ns#' term='Musik'/><category scheme='http://www.blogger.com/atom/ns#' term='NIN'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Zitat des Tages</title><content type='html'>Das Zitat des Tages stammt von Trent Reznor (NIN), welcher nach Querelen um eine Plattform für Remixes mit seiner EX-Plattenfirma folgendes Blog posting veröffentlichte:&lt;br /&gt;&lt;br /&gt;"Sometimes you just have to say... Fuck it. The remix site is up.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://remix.nin.com"&gt;remix.nin.com&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;Auf dieser Seite kann man sich Multitrack Files von Nine Inch Nails herunterladen, diese z.b. mit Garage Band remixen und dann auf selbiger Seite wieder veröffentlichen. Trent hat seine Musik also mehr oder minder "open sourced" und bietet seinen Fans jetzt eine sehr coole Plattform (ich verkneife mir das Wort Web 2.0) um Remixes auszutauschen.&lt;br /&gt;&lt;br /&gt;Hab mir das heute mal angeschaut und es gefällt mir. Die Innovations Maschine "Trent Reznor" ist am Ball und ich bin gespannt was der Gute demnächst noch abliefern wird..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-691010571757907633?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/691010571757907633/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=691010571757907633' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/691010571757907633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/691010571757907633'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/zitat-des-tages.html' title='Zitat des Tages'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-80392168085345858</id><published>2007-11-22T16:03:00.000-08:00</published><updated>2007-11-22T16:05:04.899-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone Review</title><content type='html'>Nun habe ich mich zwei Wochen mit meinem iPhone gespielt und fasse meine Eindrücke mal hier zusammen..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Installation / Registrierung / Konfiguration:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Die grösste Hürde nach dem Auspacken war Herauszufinden, wie ich eine SIM Karte in das Gerät platziere. Ich hätte das Ding wohl aufmerksamer auspacken sollen ;-) Danach war der Prozess der Registrierung kinderleicht: An den Mac stecken, warten bis iTunes gestartet ist und dem Workflow folgen.. alles sehr intuitiv und einfach. Das Bestücken des iPhones mit Fotos, Musik und Videos ist identisch wie bei einem iPod. Praktisch ist die Möglichkeit, dass man Mail Account Konfigurationen vom Mac nach iTunes kopieren kann. Bei der manuellen Konfiguration von email Accounts am iPhone kann man auf Templates für die gängigen Email Provider zurückgreifen. Allerdings fehlt bei Google Mail noch die Möglichkeit einen IMAP Account zu konfigurieren, das müsste man komplett manuell machen. Alles in allem lässt sich das iPhone extrem leicht initial einrichten und danach auch konfigurieren und synchronisieren. Gut ist auch, dass Data Roaming per default deaktiviert ist.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;iPod:&lt;/span&gt;&lt;br /&gt;Zur iPod Funktion kann ich nur sagen: der beste iPod, den Apple je gebaut hat. Cover Flow am iPhone ist richtig cool. Mehr als "perfekt" gibt es dazu nicht zu sagen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mail:&lt;/span&gt;&lt;br /&gt;Mail wurde gut umgesetzt. Alle wichtigen Features sind vorhanden. Was ich vermisse sind Signaturen pro Mail Account und OpenVPN Support (wobei ich diesbezüglich grosse Hoffnungen in das Apple SDK hab). Die Texteingabe funktioniert nach einem Tag Übung hervorragend. Das ich definitiv nicht mit einem Blackberry zu vergleichen. Mäuseklavier adé, allerdings macht das hinterlegte Lexikon ab und an schon sehr merkwürdige Vorschläge.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Safari:&lt;/span&gt;&lt;br /&gt;Safari ist die mit Abstand instabilste Anwendung des iPhones und stürzt mir alle 2-3 Tage mal ab. Das ist kein grosses Problem weil der Rest des iPhones stabil weiterläuft. Ansonsten macht Internet Surfen mit dem iPhone ne Menge spass und die "Doppel Klick" Vergrösserung (zweimal auf den bild) ist super intelligent. Ein nativer RSS Reader würde mir auch noch gut gefallen. Aber am Ende des Tages muss man schon zugeben, dass das iPhone das erste Gerät ist, das anständiges Internet browsen ermöglicht.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Telefonieren / SMS:&lt;/span&gt;&lt;br /&gt;Hier kann man nix falsch machen, ist alles gut umgesetzt. Visual Voicemail ist toll, brauch ich aber nicht wirklich. Das viel angeprangerte MMS Feature benötigt am iPhone keiner weil man die Bilder kostenlos in voller Auflösung per mail verschicken kann.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Kalender / Maps / Fotos / Kamera / You Tube / ...&lt;/span&gt;&lt;br /&gt;Die restlichen Anwendungen sind gut bis sehr gut. Insbesondere Maps und Fotos können überzeugen. Überraschend war für mich You Tube, das funktioniert am iPhone hervorragend und ist auch mit EDGE halbwegs nutzbar. Der Kalender ist anständig aber nicht besonderes. Bei Maps würde ich mir noch eine Ortung anhand der Subnetze wünschen. Die Lokalen Suchen via Maps sind richtig gut und liefern hervorragende Ergebnisse. Ich würde mir nur noch wünschen, dass z.b. die Suche nach "HotSpot Nürnberg" alle T-Mobile HotSpots in Nürnberg liefern würde, das wäre richtig stark.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;T-Mobile Tarife / Netzqualität / EDGE Geschwindigkeit und warum ich UMTS nicht vermisse&lt;/span&gt;&lt;br /&gt;Ich gebe es zu: anfangs war auch ich über die T-Mobile Tarife erbost, muss aber zugeben, dass ich zu früh und ohne Vergleich losgeschimpft habe. Ab dem mittleren Tarif sind die Konditionen absolut wettbewerbsfähig. Die HotSpot Flatrate, welche auch vom MacBook aus nutzbar ist, sollte nicht unterschätzt werden. Hier fehlt mir aber noch ein automatisches Einbuchen des iPhones ins T-Mobile WLAN: momentan muss man immer noch seinen Username und sein Passwort im Browser eintippen, wehe dem, der das im Starbucks vergisst.. derjenige ist in der Zeit mit einem WLAN verbunden, welches keine Internet Connection liefert. Mit der Qualität der Verbindungen und der EDGE Abdeckung bin ich voll zufrieden. &lt;br /&gt;EDGE ist kein Datenturbo, aber für das was man mit dem iPhone online treibt ist die Geschwindigkeit völlig ausreichend. Als Ausnahme mag vielleicht You Tube gelten, aber mit ein bisschen Geduld kann man sich immer noch den Rambo 4 Trailer via You Tube über EDGE anschaun ;-). Vor diesem Hintergrund ist mir auch eine längere Batterielaufzeit wichtiger als ständig mit Top Speed im Internet zu sein.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Verarbeitung:&lt;/span&gt;&lt;br /&gt;In Sachen Qualität der Verarbeitung gibt es nur einen Kritikpunkt: die mitgelieferten Kopfhörer sind grottenschlecht weil ihr Klang nicht gut ist und weil sie nicht im Ohr halten. Dort hätte man durchaus mehr Qualität liefern könnne. Ansonsten ist die Ausstattung bestehend aus iPhone, USB Kabel, Dock, Stromadapter, (miesen) Kopfhörern in Ordnung.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fazit:&lt;/span&gt;&lt;br /&gt;Nokia, Sony Ericson, Siemens, Motorola, RIM, ... schämt Euch!! Das iPhone hat bei weitem nicht jedes Feature, aber die Features, die es hat machen Sinn und sind perfekt implementiert. &lt;br /&gt;&lt;br /&gt;Dennoch ist das iPhone nicht frei von Makeln. &lt;br /&gt;Meine Wunschliste für das nächste Software Update lautet:&lt;br /&gt;- Signatur pro Mail Account&lt;br /&gt;- Terminal.app (da werde ich wohl vergeblich hoffen)&lt;br /&gt;- OpenVPN Support&lt;br /&gt;- Flickr Integration in Fotots&lt;br /&gt;- Alle T-Mobile HotSpots in Maps&lt;br /&gt;- Automatische Anmeldung an T-Mobile HotSpots&lt;br /&gt;- Höhere Stabilität von Safari&lt;br /&gt;- Besseres Wörterbuch&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-80392168085345858?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/80392168085345858/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=80392168085345858' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/80392168085345858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/80392168085345858'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/iphone-review.html' title='iPhone Review'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-7469890467460817080</id><published>2007-11-10T11:29:00.001-08:00</published><updated>2007-11-10T11:37:18.093-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Hotspot'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Hotspot Zugangsdaten für iPhone</title><content type='html'>Wer noch keine Zugangsdaten für die T-Mobile Hotspots per SMS erhalten hat, kann diese selbst wie folgt anfordern:&lt;br /&gt;SMS an 9526 mit dem text "open" schicken. Kurz darauf sollte man eine SMS mit den Zugangsdaten aufs iPhone erhalten.&lt;br /&gt;&lt;br /&gt;Die Zugangsdaten sind auch von anderen WLAN fähigen Geräten (PSP, Mac Book,...) nutzbar. Laut Aussage eines Mitarbeiters im T-Punkt wird der Hotspot Traffic &lt;span style="font-weight:bold;"&gt;nicht&lt;/span&gt; auf in das Traffic Volumen der jeweiligen iPhone Tarife gezählt.&lt;br /&gt;&lt;br /&gt;Angesichts dieser Tatsache ist es mir ein Rätsel, warum das so nicht proaktiver von Seiten der Telekom kommuniziert wurde. Denn vor diesem Hintergrund, sind die (ursprünglich auch von mir) kritisierten Tarife, den kleinen mal ausgenommen, als fair zu bezeichnen.&lt;br /&gt;&lt;br /&gt;Ich hab immer noch eine Menge Freude mit dem Gerät, konnte heute Nachmittag beim Shoppen mit meiner Freundin ständig die Fussball Ergebnisse auf www.kicker.de verfolgen ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-7469890467460817080?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/7469890467460817080/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=7469890467460817080' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/7469890467460817080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/7469890467460817080'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/hotspot-zugangsdaten-fr-iphone.html' title='Hotspot Zugangsdaten für iPhone'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-6081885906082450640</id><published>2007-11-09T15:09:00.000-08:00</published><updated>2007-11-09T15:15:36.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Ich konnte nicht widerstehen</title><content type='html'>iPhone = meins&lt;br /&gt;&lt;br /&gt;Ein Review kommt bald. Erster Eindruck: irre&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-6081885906082450640?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/6081885906082450640/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=6081885906082450640' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6081885906082450640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6081885906082450640'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/ich-konnte-nicht-widerstehen.html' title='Ich konnte nicht widerstehen'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-6840106719351792351</id><published>2007-11-08T13:57:00.000-08:00</published><updated>2007-11-08T14:14:02.296-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='w-jax'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Back from W-JAX 07</title><content type='html'>Nach einer langen Fahrt von München nach Nürnberg mit ein paar Staus bin ich endlich daheim und eine tolle, aber ganz schön anstrengende Woche liegt hinter mir: die W-JAX im tollen Arabella Sheraton Grand Hotel in München. Ich war Mitglied des Advisory Boards und es ist interessant zu sehen, wie eine Konferenz, mit der man sich schon sehr früh beschäftigt am Ende abläuft.&lt;div&gt;Leider konnte ich nicht allzuviele Sessions besuchen und bei zwei Sessions wurde ich auch noch via Handy rausgeklingelt, aber ich konnte doch ein paar Interessante Eindrücke mitnehmen. Die beste Session, die ich gesehen hab, war "Spring OSGI" von Bernd Kolb, Martin Lippert und Gerd Wüterich. Super Inhalte und ganz tolle Speaker.. gut gemacht Jungs, hat mir sehr gut gefallen. Shaun Smith von Oracle erzählte viel Interessantes über Oracle's neues Open Source Projekt unter dem Dach der Eclipse Foundation: EclipseLink, das open source Top Link. Leider hatte Shaun viel Pech und es verirrten sich gerade einmal 10-15 Leute in seine Session. Was Oracle gerade mit TopLink macht ist beachtenswert und ich denke, dass jetzt langsam wieder Bewegung in den ORM Markt kommen wird. Neben EclipseLink ist auch Apache OpenJPA (von Bea / Kodo) ein interessanter Konkurrent zum Platzhirschen Hibernate.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Von meinen Vorträgen war ich mit dem Domain Driven Design Talk sehr zufrieden. Advanced Hibernate lieft in Sachen Besucher gut, ich hatte aber anfangs mit heftigsten technischen Problemen in Bezug auf mein Mac Book Pro / Leopard und Keynote zu kämpfen ("not enough vram available"), so dass ich die Präsentation mit dem Moderator Monitor (mit maximierter "Akt. Folie" Sicht) durchziehen musste. Von daher war der Anfang sehr hektisch und unruhig und ich war nicht ganz zufrieden. Die EJB3/Seam Case Study war sehr gut besucht und ich hatte das Gefühl, dass sie auch bei den Zuhörern gut ankam, ich freue mich schon darauf, das Thema demnächst auch auf der JBoss World in Orlando präsentieren zu dürfen. Mit dem "Persistenz abseits von ORM" Talk war ich auch zufrieden, die Location war aber für die Anzahl der Besucher etwas zu gross, die Fragen am Ende waren aber gut.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Für alle, die nicht auf der W-JAX waren: demnächst werde ich ein cooles Hibernate Statistics Analyse Tool open sourcen ... watch out for news.... was sicher ist, ist die Lizenz: Apache 2.0 unsicher ist noch die Frage, wo das Ding aufschlagen wird.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, ich fall jetzt totmüde ins Bett und freu mich auf ein Date mit einem tollen Gadget im T-Mobile Laden ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Michael&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/4744991206859520515-6840106719351792351?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/6840106719351792351/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=6840106719351792351' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6840106719351792351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6840106719351792351'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/back-from-w-jax-07.html' title='Back from W-JAX 07'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-6496401778847553383</id><published>2007-11-04T13:05:00.000-08:00</published><updated>2008-12-09T16:09:44.132-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Trent Reznor'/><category scheme='http://www.blogger.com/atom/ns#' term='Musik'/><category scheme='http://www.blogger.com/atom/ns#' term='Hip Hop'/><category scheme='http://www.blogger.com/atom/ns#' term='Saul Williams'/><category scheme='http://www.blogger.com/atom/ns#' term='NIN'/><title type='text'>Saul Williams - Niggy Tardust .. die neue Definition von "Hip Hop"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jmVt-QzEOP8/Ry40d6D-urI/AAAAAAAAAAs/osONjjXGm2I/s1600-h/The+Inevitable+Rise+and+Liberation+of+NiggyTardust!.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_jmVt-QzEOP8/Ry40d6D-urI/AAAAAAAAAAs/osONjjXGm2I/s400/The+Inevitable+Rise+and+Liberation+of+NiggyTardust!.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5129094714028374706" /&gt;&lt;/a&gt;Vor ein paar Tagen hat Saul Williams, seines Zeichens Poet, Schauspieler, Rapper, eine neues Album mit dem Titel "Niggy Tardust" (hallooo David Bowie!) veröffentlicht. Das Album wurde nur online, ohne Plattenfirma im Hintergrund, veröffentlicht. Im Bezug auf den Vertrieb hat sich Saul Williams an Radiohead, die ihre neue Scheibe &lt;a href="http://www.inrainbows.com/"&gt;In Rainbows&lt;/a&gt; ebenfalls ohne Plattenfirma veröffentlichten, orientiert. Radiohead gaben ihren Fans die vollständige Freiheit, wie viel sie für die Scheibe als DRM freie 128 kb MP3s bezahlen wollten. Saul Williams hat das Konzept jedoch aufgebohrt. Für 0 $, bekommt man 192 KB MP3s mit Cover und PDF Booklet. Wer das Vertriebsmodell unterstützen will, oder wer eine bessere Qualität (320 kb bzw. FLAC) will, darf 5 US $ via PayPal oder Kreditkarte bezahlen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nicht nur in Bezug auf die Distribution des Kunstwerks geht Saul neue Wege. Die komplette Platte ist ein Innovationstrip in Sachen Hip Hop inspirierter Musik. Möchte man Niggy Tardust in eine Schublade stecken, würde man einen komplettes Anziehzimmer benötigen. Nur einen Einfluss hört man konsequent heraus: Trent Reznor, er hat die Scheibe produziert und ohne Ende gepusht. Laut eigenen Aussagen ist es sein aufwändigstes Projekt ausserhalb des NIN Universums seit Mansons "Antichrist Superstar".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wer also eine in jeder Hinsicht bahnbrechende Platte erstehen oder gratis probehören will, kann dies unter &lt;a href="http://www.niggytardust.com"&gt;http://www.niggytardust.com&lt;/a&gt; tun. Aber mal im Ernst.. schon alleine für die Innovationsfreudigkeit und den Mut dieses Ausnahmekünstlers sollte man 5 US $ locker machen.. enttäuscht werden wohl nur Bushido und Sido Fans *grins*&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&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/4744991206859520515-6496401778847553383?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/6496401778847553383/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=6496401778847553383' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6496401778847553383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/6496401778847553383'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/saul-williams-niggy-tardust-die-neue.html' title='Saul Williams - Niggy Tardust .. die neue Definition von &quot;Hip Hop&quot;'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jmVt-QzEOP8/Ry40d6D-urI/AAAAAAAAAAs/osONjjXGm2I/s72-c/The+Inevitable+Rise+and+Liberation+of+NiggyTardust!.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-3183670459688386315</id><published>2007-11-04T08:19:00.000-08:00</published><updated>2007-11-04T13:22:21.625-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Leopard'/><title type='text'>Der Kaufgrund für Leopard: Time Machine</title><content type='html'>Habe nun ein paar Tage mit Leopard gearbeitet. Zahlreiche Features sind primär unter "Eye Candy" einzuordnen. Dazu zähle ich:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Neue Toolbar&lt;/li&gt;&lt;li&gt;Neuer Look der Fenster etc.&lt;/li&gt;&lt;li&gt;Teile des Finders&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Diese Features sind natürlich keine 130 Euro wert. Praktisch hingegen finde ich den neuen Finder mit Cover Flow. Sieht auf den ersten Blick aus wie ein typischer Apple Marketing Effekt, aber das schnelle Preview von Dokumenten ist extrem praktisch und wird von mir immer häufiger verwendet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Killer Applikation ist aber definitiv Time Machine und dieses Feature alleine ist schon eine Menge Geld wert: Externe Festplatte anstecken, Computer eine Nacht lang für die erste Indizierung rödeln lassen und man hat das beste Backup System, das mir bis  dato unter die Augen gekommen ist. Praktisch ist dabei, dass man ebenfalls andere Externe Festplatten mit sichern kann. Der grösste Minuspunkt an Time Machine ist das Fehlen eines Support für USB Platten, die an der AirPort Extreme Station hängen.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-3183670459688386315?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/3183670459688386315/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=3183670459688386315' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/3183670459688386315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/3183670459688386315'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/11/der-kaufgrund-fr-leopard-time-machine.html' title='Der Kaufgrund für Leopard: Time Machine'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-1610675494360306960</id><published>2007-10-31T03:01:00.000-07:00</published><updated>2007-11-04T13:23:57.321-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Leopard'/><title type='text'>Leopard Upgrade</title><content type='html'>Backup mit Super Duper machen, DVD einlegen, 2-3 Mausklicks, Admin Passwort eingeben, 1-2 Stunden Wii spielen, fertig.&lt;br /&gt;&lt;br /&gt;So muss das sein!&lt;br /&gt;&lt;br /&gt;Bis auf das Fehlen von Java 6 hinterlässt Leopard einen guten und soliden Eindruck. Folgende 3rd Party Anwendungen machten Probleme:&lt;br /&gt;- Adobe Lightroom (ist aber verwendbar)&lt;br /&gt;- NeoOffice (nach update kein Problem mehr)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-1610675494360306960?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/1610675494360306960/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=1610675494360306960' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1610675494360306960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1610675494360306960'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/10/leopard-upgrade.html' title='Leopard Upgrade'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-5937384428693045977</id><published>2007-10-29T16:07:00.000-07:00</published><updated>2007-11-04T13:24:21.508-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='telekom'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone Tarife</title><content type='html'>Vielen Dank, liebe Telekom!!!&lt;br /&gt;&lt;br /&gt;Da war wohl jemand aus dem Marketing Sektor ganz ganz schlau und meinte "hey wir nennen das Ding Flatrate, beschneiden aber nach ein paar MB / GB die Bandbreite". Super Idee, so kann man ein Top Produkt von Anfang an gezielt gegen die Wand fahren. Insbesondere der 50 Euro Tarif ist mit nichts anderem als dem Wort "Abzocke" zu bezeichnen. Beim 90 Euro Tarif sieht das Preis- / Leistungsverhältnis im Vergleich mit anderen Tarifen dieser Grössenordnung etwas entspannter aus, aber wie viele potentielle Kunden sind in Deutschland bereit, diese Preise zu zahlen?&lt;br /&gt;&lt;br /&gt;Ich hab das iPhone kürzlich im Apple Store in Seattle getestet und war / bin hellauf davon begeistert und würde mir wirklich sehr sehr gerne eines zulegen, aber bei diesen Preisen der Telekom muss ich dann doch nochmal in mich gehen und sehen ob die Vernunft über die Begeisterung siegt, oder nicht. Der 50 Euro Tarif ist für mich schon jetzt tot. UMTS benötige ich auf dem Gerät nicht einmal, für email, ein wenig maps und hier und da ein paar news lesen reicht mir EDGE dicke.&lt;br /&gt;&lt;br /&gt;Naja, schade schade, wie sagte der Rock Am See Veranstalter kürzlich über den Hick Hack mit Trent Reznor von Nine Inch Nails: "es hätte so schön werden können"... und weil wir gerade beim Thema sind: Trent Reznor hat zusammen mit Saul Williams eine, mit Sicherheit extrem interessante, Platte aufgenommen. Diese wird nicht über die üblichen Vertriebswege, sondern nur online verkauft. Wer mit einer 192 kb Version zufrieden ist, kann die Scheibe umsonst herunterladen. Wer mehr (bis zu FLAC) will, muss 5 $ zahlen. Angesichts dieser fairen Verkaufspolitik sollte man aber in jedem Fall 5 $ zahlen! Mehr Informationen dazu gibt es unter &lt;a href="http://www.nin.com/"&gt;http://www.nin.com/&lt;/a&gt; und &lt;a href="http://niggytardust.com/"&gt;http://niggytardust.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-5937384428693045977?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/5937384428693045977/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=5937384428693045977' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5937384428693045977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5937384428693045977'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/10/iphone-tarife.html' title='iPhone Tarife'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-808804610672263947</id><published>2007-10-29T07:39:00.001-07:00</published><updated>2007-11-04T13:24:35.100-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><title type='text'>Kein Java 6 mit Mac OS X Leopard &amp; W-JAX</title><content type='html'>Java 6 ist nicht Bestandteil von Leopard, anstelle dessen eine verstaubte 1.5.13 er Version. Für mich ist das in der täglichen Arbeit noch kein Problem. Ärgerlicher finde ich die Kommunikationspolitik von Apple bzgl. Java: Man hört und sieht nichts.&lt;br /&gt;&lt;br /&gt;Ich denke, dass der Mac unter vielen Java Entwicklern eine beliebte Plattform ist und dass Apple dieser User Gruppe endlich einen Kommentar schuldig ist.&lt;br /&gt;&lt;br /&gt;Meiner Meinung nach sollte Sun das Heft in die Hand nehmen und selbst eine gute VM für den Mac herausbringen. Im Idealfall könnten sie ja das JVM Team von Apple übernehmen. Die andere Alternative ist eine tragfähige Open Source VM für den Mac.&lt;br /&gt;&lt;br /&gt;Traurig, traurig...&lt;br /&gt;&lt;br /&gt;Ach ja, ich freue mich schon auf die W-JAX. Dort werde ich folgende Vorträge halten:&lt;br /&gt;- Dienstag 06.11.07 10:00 Uhr: Case Study über ein Bleeding Edge Projekt im Banking Umfeld (zusammen mit Francis Pouatcha und Werner Eberling)&lt;br /&gt;&lt;br /&gt;- Mittwoch 07.11.07 13:45 Uhr: Advanced Hibernate&lt;br /&gt;&lt;br /&gt;- Donnerstag 08.11.07 09:30 Uhr: Einführung in Domain Driven Design (zusammen mit Arno Haase)&lt;br /&gt;&lt;br /&gt;- Donnerstag 08.11.07 16:15 Uhr: Persistenz abseits von ORM&lt;br /&gt;&lt;br /&gt;Des Weiteren werde ich den "Persistence Tisch" am JAX Ballroom hosten und bin tagsüber meist am Senacor Stand anzutreffen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-808804610672263947?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/808804610672263947/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=808804610672263947' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/808804610672263947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/808804610672263947'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/10/kein-java-6-mit-mac-os-x-leopard-w-jax.html' title='Kein Java 6 mit Mac OS X Leopard &amp; W-JAX'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-5796897927155297474</id><published>2007-09-12T07:58:00.000-07:00</published><updated>2007-09-12T08:32:15.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><category scheme='http://www.blogger.com/atom/ns#' term='Tuning'/><title type='text'>Hibernate Statistics</title><content type='html'>Mit den Hibernate Statistics kann man das Verhalten von Hibernate zur Laufzeit beobachten. So kann man zum Beispiel herausfinden wie oft welche Query aufgerufen wurde und was die Max, Min und Avg Laufzeit der Abfrage ist. Weiterhin kann auch das Verhalten des Second Level Caches überprüft werden. Eine genaue Aufstellung der gelieferten Informationen bietet die Javadoc des org.hibernate.stat.Statistics Interfaces.&lt;br /&gt;&lt;br /&gt;Natürlich werden per Default keine Statistiken von Hibernate aufgezeichnet. Erst mit dem Property hibernate.generate_statistics = true zeichnet Hibernate selbige auf.&lt;br /&gt;&lt;br /&gt;Um die Statistiken abzufragen hat man folgende Möglichkeiten:&lt;br /&gt;1) JMX&lt;br /&gt;2) Manuelle Abfrage über die SessionFactory&lt;br /&gt;3) Dump auf die Konsole&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;JMX&lt;/span&gt;&lt;br /&gt;Um Statistiken via JMX abzufragen muss eine MBean registriert werden (org.hibernate.jmx.StatisticsService). Das Ganze kann programmatisch oder konfigurativ erfolgen. Die Konfiguration von JMX ist von Appserver zu Appserver unterschiedlich. Im JBoss muss man lediglich folgenden Eintrag der jboss-service.xml Datei hinzufügen:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;mbean code="org.hibernate.jmx.StatisticsService" name="Hibernate:type=statistics"/&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Programmatisch kann die MBean wie folgt registriert werden (will man keine spezifische SF angeben so lässt man einfach die vorletzte Zeile weg):&lt;br /&gt;&lt;blockquote&gt;Hashtable tb = new Hashtable();&lt;br /&gt;tb.put("type", "statistics");&lt;br /&gt;tb.put("sessionFactory", "myFinancialApp");&lt;br /&gt;ObjectName on = new ObjectName("hibernate", tb);&lt;br /&gt;StatisticsService stats = new StatisticsService();&lt;br /&gt;stats.setSessionFactory(sessionFactory);&lt;br /&gt;server.registerMBean(stats, on);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Manuelle Abfrage über SessionFactory&lt;/span&gt;&lt;br /&gt;Falls kein JMX zur Verfügung steht können die Statistics immer noch über die SessionFactory abgefragt werden. Die entsprechende Funktion heisst sessionFactory.getStatistics() und gibt ein Objekt vom Typ org.hibernate.stat.Statistics zurück.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Dump auf die Konsole&lt;/span&gt;&lt;br /&gt;Einen &lt;span style="font-styhttp://www.blogger.com/img/gl.link.gifle:italic;"&gt;Schnellschuss&lt;/span&gt; bietet sessionFactory.getStatistics().logSummary() an. Auf diese Weise wird eine knappe und meiner Meinung nach nicht sehr brauchbare Zusammenfassung der Statistics auf STDOUT geloggt.&lt;br /&gt;&lt;br /&gt;Quellen:&lt;br /&gt;&lt;a href="http://www.hibernate.org"&gt;http://www.hibernate.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-5796897927155297474?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/5796897927155297474/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=5796897927155297474' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5796897927155297474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/5796897927155297474'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/09/hibernate-statistics.html' title='Hibernate Statistics'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-1168143494695232469</id><published>2007-08-13T14:33:00.000-07:00</published><updated>2007-08-13T14:42:57.340-07:00</updated><title type='text'>JPA / Hibernate Annotations im Rückblick</title><content type='html'>Bis vor kurzem war ich mir nicht so sicher, ob ich wirklich ein "Fan" von Annotationen für O/R Mappings werde. Gründe hierfür waren primär die doch sehr ausufernden Notationen für Ausnahmefälle.&lt;br /&gt;&lt;br /&gt;Inzwischen bin ich aber zu folgendem Schluss gekommen:&lt;br /&gt;&lt;br /&gt;So lange man keine schlecht designte Legacy Datenbank integrieren muss, sind Annotation ein wahrlich probates Mittel um O/R Meta Daten zu definieren. Dennoch gibt es immer wieder gewisse Szenarien die mit Annotationen sehr "verbose" bzw. gar nicht möglich (z.b. hibernate &lt;properties..&gt;) sind. &lt;br /&gt;&lt;br /&gt;Deshalb rate ich dazu Annotationen nicht zu verteufeln, sondern eher das eigene Projekt kritisch zu betrachten und basierend darauf zu entscheiden, ob man mit Annotationen gut leben kann.&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------------------&lt;br /&gt;Liebstes Java Hype Framework: Wicket &lt;br /&gt;&lt;br /&gt;Aktuell im iPod:&lt;br /&gt;- Nine Inch Nails: Year Zero (HAMMER Scheibe)&lt;br /&gt;- Machine Head: The Blackening&lt;br /&gt;- Queens Of The Stone Age: Era Vulgaris&lt;br /&gt;&lt;br /&gt;In vollster Vorfreude:&lt;br /&gt;- Neue As I Lay Dying&lt;br /&gt;- Neue Madball&lt;br /&gt;&lt;br /&gt;Aktuelle in allen möglichen Spiele Konsolen:&lt;br /&gt;- XBox 360: Forza 2 und Gears Of War in Hardcore&lt;br /&gt;- PSP: Fifa 07 (Club!!!)&lt;br /&gt;- Wii: Zelda&lt;br /&gt;- PS 2: God Of War 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-1168143494695232469?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/1168143494695232469/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=1168143494695232469' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1168143494695232469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1168143494695232469'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/08/jpa-hibernate-annotations-im-rckblick.html' title='JPA / Hibernate Annotations im Rückblick'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-1995782935920327422</id><published>2007-04-26T04:40:00.000-07:00</published><updated>2007-04-26T04:45:21.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDO'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Funny .. huh? JBoss loves JDO :-)</title><content type='html'>Just noticed that one at the JAX Conference in Wiesbaden, Germany.&lt;br&gt; &lt;br&gt; Please, can anybody tell me since when JBoss is into JDO?&lt;br&gt; I just had a good laugh about that one...&lt;br&gt; &lt;br&gt; &lt;img src="http://docs.google.com/File?id=dfx7k52x_9g5bmr2cb" style="height: 461px; width: 374px;" align="middle"&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-1995782935920327422?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/1995782935920327422/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=1995782935920327422' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1995782935920327422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/1995782935920327422'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/04/just-noticed-that-one-at-jax-conference.html' title='Funny .. huh? JBoss loves JDO :-)'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-8410426028963803631</id><published>2007-04-25T08:26:00.000-07:00</published><updated>2007-11-04T13:24:55.415-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAX07'/><category scheme='http://www.blogger.com/atom/ns#' term='Persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>Fazit meiner Vorträge auf der JAX 2007</title><content type='html'>Ich hatte folgende Vorträge auf der JAX 07 in Wiesbaden gehalten:&lt;br /&gt;&lt;br /&gt;- JPA - Leben in der 1.0 Welt&lt;br /&gt;- Hibernate Advanced&lt;br /&gt;&lt;br /&gt;Ich kann ein durchwegs positives Fazit ziehen. Interessant fand ich die Antworten auf meine Frage, wer für OR Mapping Meta Daten Annotations bevorzugt und wer davon weniger begeistert ist. In etwa ein Drittel der Zuhörer war von den Annotationen begeistert, ein weiteres Drittel war gegen Annotationen und das letzte Drittel hatte keine Meinung zum Thema.&lt;br /&gt;&lt;br /&gt;Des Weiteren musste ich feststellen, dass eine grosse Nachfrage nach Informationen für fortgeschrittene Hibernate User herrscht. Bei meinem Vortrag war der Saal gut gefüllt und am Schluss gab es zahlreiche interessante Fragen und Diskussionen... hat Spass gemacht!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-8410426028963803631?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/8410426028963803631/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=8410426028963803631' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8410426028963803631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/8410426028963803631'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/04/fazit-meiner-vortrge-auf-der-jax-2007.html' title='Fazit meiner Vorträge auf der JAX 2007'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4744991206859520515.post-2779640991034783850</id><published>2007-04-24T01:26:00.000-07:00</published><updated>2007-04-25T08:33:21.061-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAX07'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JAX 07 - Montag 23.04.2007</title><content type='html'>Gestern ging die diesjährige JAX in Wiesbaden los. Leider konnte ich erst spät am Abend bei der Speaker Recption im schönen Kurhaus anwesend sein. Es folgten ein paar interessante Gespräche mit Emmanuel Bernard vom Hibernate Team, mit dem ich meine Wünsche für JPA 2.0 diskutiert hatte:&lt;br /&gt;- Collections of Value Objects&lt;br /&gt;- Manueller Flush Mode&lt;br /&gt;- Criteria Queries&lt;br /&gt;- User Types&lt;br /&gt;&lt;br /&gt;Insbesondere eine Erweiterung der User Types dürfte sehr schwer werden, weil hier zahlreiche Hersteller untschiedliche Ansätze verfolgen. Ich denke, dass es dennoch mehr als lohnenswert ist, sich über eine Standardisierung von User Types zu diskutieren weil jede anspruchsvollere Anwendung mit eigenen Typen arbeiten muss.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4744991206859520515-2779640991034783850?l=rockingcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rockingcode.blogspot.com/feeds/2779640991034783850/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4744991206859520515&amp;postID=2779640991034783850' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/2779640991034783850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4744991206859520515/posts/default/2779640991034783850'/><link rel='alternate' type='text/html' href='http://rockingcode.blogspot.com/2007/04/jax-07-montag-23042007.html' title='JAX 07 - Montag 23.04.2007'/><author><name>Michael Plöd</name><uri>http://www.blogger.com/profile/00154771783338568145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
