
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pgt</title>
	<atom:link href="http://pgt.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://pgt.de</link>
	<description>t3chnology scouting GmbH</description>
	<lastBuildDate>Wed, 09 May 2012 11:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Checkbox in cell table/ data grid header</title>
		<link>http://pgt.de/2012/05/09/checkbox-in-cell-table-data-grid-header/</link>
		<comments>http://pgt.de/2012/05/09/checkbox-in-cell-table-data-grid-header/#comments</comments>
		<pubDate>Wed, 09 May 2012 11:00:07 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=945</guid>
		<description><![CDATA[<p style="text-align: left;">Here is a simple column header that selects/ de-selects all rows in a table. When all rows are checked, the header becomes checked automatically. Clicking o the checkbox in the header causes either to select or de-select all rows.</p> <p style="text-align: left;"></p> <p style="text-align: left;">I am using the selection model and the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Here is a simple column header that selects/ de-selects all rows in a table. When all rows are checked, the header becomes checked automatically. Clicking o the checkbox in the header causes either to select or de-select all rows.</p>
<p style="text-align: left;"><img class="size-full wp-image-948 alignnone" title="selection" src="http://pgt.de/wp-content/uploads/2012/05/selection.png" alt="" width="64" height="219" /></p>
<p style="text-align: left;">I am using the selection model and the data list provider to do the selection magic.</p>
<p style="text-align: left;">May not work for everyone&#8230;.</p>
<p>And here is my custom header:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000000; font-weight: bold;">class</span> CheckboxHeader <span style="color: #000000; font-weight: bold;">extends</span> Header <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">final</span> MultiSelectionModel selectionModel<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">final</span> ListDataProvider provider<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> CheckboxHeader<span style="color: #009900;">&#40;</span>MultiSelectionModel selectionModel,
			ListDataProvider provider<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> CheckboxCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">selectionModel</span> <span style="color: #339933;">=</span> selectionModel<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">provider</span> <span style="color: #339933;">=</span> provider<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Boolean</span> getValue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">boolean</span> allItemsSelected <span style="color: #339933;">=</span> selectionModel.<span style="color: #006633;">getSelectedSet</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> provider
				.<span style="color: #006633;">getList</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> allItemsSelected<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	@Override
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onBrowserEvent<span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span> context, <span style="color: #003399;">Element</span> elem, NativeEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		InputElement input <span style="color: #339933;">=</span> elem.<span style="color: #006633;">getFirstChild</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">cast</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">Boolean</span> isChecked <span style="color: #339933;">=</span> input.<span style="color: #006633;">isChecked</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>TYPE element <span style="color: #339933;">:</span> provider.<span style="color: #006633;">getList</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			selectionModel.<span style="color: #006633;">setSelected</span><span style="color: #009900;">&#40;</span>element, isChecked<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2012/05/09/checkbox-in-cell-table-data-grid-header/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Studie und GWT Referenzliste</title>
		<link>http://pgt.de/2012/05/04/studie-und-gwt-referenzliste/</link>
		<comments>http://pgt.de/2012/05/04/studie-und-gwt-referenzliste/#comments</comments>
		<pubDate>Fri, 04 May 2012 08:13:30 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt reference list]]></category>
		<category><![CDATA[studie]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=936</guid>
		<description><![CDATA[<p>Ich möchte kurz auf zwei Dinge aufmerksam machen, die mich in letzter Zeit beschäftigt haben&#8230;</p> <p>Entstanden sind zwei Instrumente, die für uns GWT-Interessierte relevant sein könnten: zum einen geht es um eine Studie, die im kleinen Kreis den Einsatz von GWT in deutschen Unternehmen dokumentiert, zum anderen geht es tatsächlich um eine Liste mit [...]]]></description>
			<content:encoded><![CDATA[<p>Ich möchte kurz auf zwei Dinge aufmerksam machen, die mich in letzter Zeit beschäftigt haben&#8230;</p>
<p>Entstanden sind zwei Instrumente, die für uns GWT-Interessierte relevant sein könnten: zum einen geht es um eine Studie, die im kleinen Kreis den Einsatz von GWT in deutschen Unternehmen dokumentiert, zum anderen geht es tatsächlich um eine Liste mit Unternehmen, die GWT einsetzen.</p>
<p><strong>OIO Kompass : Java Web-Frameworks</strong></p>
<p>&nbsp;</p>
<p><a href="http://www.oio.de/public/java/java-web-frameworks-vergleich/OIO-Kompass-Webframeworks-Studie.pdf"><img class="alignleft size-full wp-image-942" style="margin: 10px;" title="Studie" src="http://pgt.de/wp-content/uploads/2012/05/studie.png" alt="" width="196" height="279" /></a></p>
<p>Im letzten Jahr habe ich in Zusammenarbeit mit der Firma Orientaion in Objects, Mannheim, im kleinen Kreis eine Umfrage zu den Hintergründen der Auswahl von Java Web-Frameworks im deutschsprachigen Raum durchgeführt.</p>
<p>Die Studie, die wir kürzlich veröffentlicht haben, beruhte auf 50 Entscheidungen. Von diesen Entscheidungen waren ca. 250 Entwickler und 200 Projekte betroffen. Genug, <a href="http://www.oio.de/public/java/java-web-frameworks-vergleich/jsf-vs-gwt-studie.htm" target="_blank">um eine erste Studie zu veröffentlichen</a>. Die Studie kann auch als <a href="http://www.oio.de/public/java/java-web-frameworks-vergleich/OIO-Kompass-Webframeworks-Studie.pdf">PDF</a> geladen werden.</p>
<p>Unter dem reisserischem Titel <a href="http://www.heise.de/developer/meldung/Java-Frameworks-Zweikampf-zwischen-JSF-und-GWT-1546312.html" target="_blank">Java-Frameworks: Zweikampf zwischen JSF und GWT</a> hatte unsere kleine Studie einen kleinen Auftritt in den Medien.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Und somit ist auch die zweite Runde eingeleitet: mit einem überarbeiteten Fragebogen wollen wir die Studie nochmal im großen Kreis durchführen.</p>
<p><a href="http://lemniscus.de/27525/lang-de"><img class="size-full wp-image-940 alignleft" style="margin: 10px;" title="Umfrage..." src="http://pgt.de/wp-content/uploads/2012/05/umfrage.png" alt="" width="100" height="71" /></a><br />
<a href="http://lemniscus.de/27525/lang-de">Hier geht es direkt zur aktuellen Umfrage.</a></p>
<p>Für die Beantwortung der Fragen veranschlagen wir rund 10 bis 15 Minuten:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>GWT Referenzliste</strong></p>
<p><a href="http://gwtreferencelist.appspot.com"><img class="alignleft size-full wp-image-943" style="margin: 10px;" title="Referenzliste" src="http://pgt.de/wp-content/uploads/2012/05/referencelist.png" alt="" width="100" height="72" /></a>In den letzten Jahren wurde ich unzählige Male danach gefragt, welche Unternehmen GWT einsetzen würden. In diesem Kontext ist eine kleine GWT Anwendung entstanden, in der sich Unternehmen anmelden können, die GWT im Einsatz haben.</p>
<p>Inzwischen sind 80+ Unternehmen eingetragen, darunter 20++ aus Deutschland und 20++ aus den USA.</p>
<p><a href="http://gwtreferencelist.appspot.com" target="_blank">Die Liste ist öffentlich zugänglich</a>, die Kontaktdaten werden nicht veröffentlicht (dienen nur für Rückfragen und Verifizierung). Optional können ein paar Angaben zum Kontext gemacht werden, daraus entstehen die netten Statistiken, die ebenfalls öffentlich zugänglich sind.</p>
<p>Mit ein bisschen Hilfe können wir sicherlich die Anzahl der deutschen Unternehmen in der Liste deutlich erhöhen. Für die Registrierung werden keine 5 Minuten veranschlagt&#8230;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2012/05/04/studie-und-gwt-referenzliste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Titelthema Javascript &amp; Eclipse im Eclipse Magazin 2.12</title>
		<link>http://pgt.de/2012/03/29/titelthema-javascript-eclipse-im-eclipse-magazin-2-12/</link>
		<comments>http://pgt.de/2012/03/29/titelthema-javascript-eclipse-im-eclipse-magazin-2-12/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 15:51:26 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[My blog]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=919</guid>
		<description><![CDATA[<p>Zeiten des Wandels</p> <p>Als Java-Entwickler ist man nicht selten Webentwickler. Über einen ungewöhnlich langen Zeitraum haben sich die Technologien um einen herum kaum geändert: Das W3C hat sich in Bezug auf HTML lange seitwärts, insgesamt im Kreis, aber praktisch kaum bewegt, der Browserkrieg schien gewonnen und mit den Java-Webframeworks waren wir im Großen und [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Zeiten des Wandels</strong></p>
<blockquote><p>Als Java-Entwickler ist man nicht selten Webentwickler. Über einen ungewöhnlich langen Zeitraum haben sich die Technologien um einen herum kaum geändert: Das W3C hat sich in Bezug auf HTML lange seitwärts, insgesamt im Kreis, aber praktisch kaum bewegt, der Browserkrieg schien gewonnen und mit den Java-Webframeworks waren wir im Großen und Ganzen recht zufrieden.</p></blockquote>
<p><strong>The Web 2.0 Toolkit</strong></p>
<blockquote><p>Das Google Web Toolkit ist eine Sammlung von Werkzeugen und Bibliotheken für die Entwicklung von JavaScript-Anwendungen. Das Toolkit wird sowohl intern von Google als auch weltweit in vielen Projekten eingesetzt. Das Besondere an GWT ist die Vorgehensweise: Ein Compiler liest Java-Quellen ein und generiert JavaScript. Somit können Java-Entwickler auf bestehendes Wissen, Erfahrungen und Werkzeuge aufsetzen. Allerdings hat GWT nicht den Versuch unternommen, das gesamte JDK und Swing im Browser zu unterstützen. Die JDK-Unterstützung ist fragmentarisch (nicht alle Klassen können verwendet werden), und GWT liefert ein eigenes, an HTML orientiertes<br />
UI-Komponentenmodell.</p></blockquote>
<p><img class="alignright size-full wp-image-928" title="eclipsemagazin-2.12" src="http://pgt.de/wp-content/uploads/2012/03/eclipsemagazin-2.12.png" alt="" width="120" height="161" /><br />
Der komplette Artikel von Benjamin Bart (Orientation in Objects GmbH) und Papick G. Taboada (pgt technology scouting GmbH)  <a href="http://pgt.de/wp-content/uploads/2012/03/ECM_2_2012_Taboada_JavaScript_GWT.pdf">kann im PDF nachgelesen werden</a> und stammt aus der Ausgabe 2.12 des Eclipse Magazins.</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2012/03/29/titelthema-javascript-eclipse-im-eclipse-magazin-2-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to cancel backspace key from navigating back&#8230;</title>
		<link>http://pgt.de/2012/03/21/how-to-cancel-backspace-key-from-navigating-back/</link>
		<comments>http://pgt.de/2012/03/21/how-to-cancel-backspace-key-from-navigating-back/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 21:48:16 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[backspace]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[tweaks]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=910</guid>
		<description><![CDATA[<p>Don&#8217;t ask me who had the insane idea that one can navigate back when pressing the back space.</p> <p>In GWT we did something like that to cancel the backspace back navigation:</p> Event.addNativePreviewHandler&#40;new NativePreviewHandler&#40;&#41; &#123; @Override public void onPreviewNativeEvent&#40;NativePreviewEvent event&#41; &#123; if &#40;event.getNativeEvent&#40;&#41;.getKeyCode&#40;&#41; == KeyCodes.KEY_BACKSPACE&#41; &#123; if &#40;event.getNativeEvent&#40;&#41;.getEventTarget&#40;&#41; != null&#41; &#123; Element as = Element.as&#40;event.getNativeEvent&#40;&#41;.getEventTarget&#40;&#41;&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t ask me who had the insane idea that one can navigate back when pressing the back space.</p>
<p>In GWT we did something like that to cancel the backspace back navigation:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Event</span>.<span style="color: #006633;">addNativePreviewHandler</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> NativePreviewHandler<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onPreviewNativeEvent<span style="color: #009900;">&#40;</span>NativePreviewEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getNativeEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getKeyCode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> KeyCodes.<span style="color: #006633;">KEY_BACKSPACE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getNativeEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getEventTarget</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">Element</span> as <span style="color: #339933;">=</span> <span style="color: #003399;">Element</span>.<span style="color: #006633;">as</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getNativeEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getEventTarget</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>as <span style="color: #339933;">==</span> RootPanel.<span style="color: #006633;">getBodyElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    event.<span style="color: #006633;">getNativeEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">stopPropagation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    event.<span style="color: #006633;">getNativeEvent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2012/03/21/how-to-cancel-backspace-key-from-navigating-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Companies using Google Web Toolkit</title>
		<link>http://pgt.de/2012/03/15/companies-using-google-web-toolkit/</link>
		<comments>http://pgt.de/2012/03/15/companies-using-google-web-toolkit/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 22:21:10 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[My blog]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=905</guid>
		<description><![CDATA[<p>Every now and than I get asked for a reference list of companies using GWT.</p> <p>First, there is Google:</p> <p>„AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables, Google Health (discontinued), Google Wave (discontinued), PlayN (basis of Angry Birds)“</p> <p>And now, online, there is a public reference list of companies using GWT:</p> <p>http://gwtreferencelist.appspot.com/</p> [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and than I get asked for a reference list of companies using GWT.</p>
<p>First, there is Google:</p>
<p><em>„AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables, Google Health (discontinued), Google Wave (discontinued), PlayN (basis of Angry Birds)“</em></p>
<p>And now, online, there is a public reference list of companies using GWT:</p>
<p><a href="http://gwtreferencelist.appspot.com/" target="_blank">http://gwtreferencelist.appspot.com/</a></p>
<p>There you will find the company list, some fancy charts and the &#8220;register company&#8221; form. Using GWT and not on the list? Please register!</p>
<p><a href="http://gwtreferencelist.appspot.com/"><img class="size-full wp-image-906" title="referencelist" src="http://pgt.de/wp-content/uploads/2012/03/referencelist.png" alt="" width="520" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2012/03/15/companies-using-google-web-toolkit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GWT 2.5?</title>
		<link>http://pgt.de/2011/12/08/gwt-2-5/</link>
		<comments>http://pgt.de/2011/12/08/gwt-2-5/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 11:06:21 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=898</guid>
		<description><![CDATA[<p>Normally the GWT team does not comment on future milestones, releases and does not provide an official roadmap (Issue 7013).</p> <p>But this time, the team posted several comments on whether GWT is dead or not (mainly because of the fuss around Dart), and Ray Cromwell posted a comment providing some insight on what is [...]]]></description>
			<content:encoded><![CDATA[<p>Normally the GWT team does not comment on future milestones, releases and does not provide an official roadmap (<a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=7013" target="_blank">Issue 7013</a>).</p>
<p>But this time, the team posted several comments on whether <a href="http://blog.oio.de/2011/12/08/future-of-gwt-and-gwt-2-5/" target="_blank">GWT is dead or not</a> (mainly because of the fuss around Dart), and Ray Cromwell posted a comment providing some insight on what is coming on GWT 2.5:</p>
<blockquote><p>The next release or two of GWT may include more core improvements than the last few point releases of GWT so far, consider:</p>
<p>1) Compiler optimizations that reduce code by size by 30% uncompressed, and 15% gzipped<br />
2) SourceMap support and Source-Level Java debugging in Chrome (and hopefully Firefox)<br />
3) A „super draft mode“ that can recompile many apps in under 10 seconds and most under 5<br />
4) New „to the metal“ „modern browser“ HTML bindings<br />
5) Testing framework that makes GUI testing delightful<br />
6) Incremental compile support to speed up production compiles</p>
<p>So code will be getting smaller, faster, easier to debug (in some situations) and test, and compiles will go quicker. This reflects somewhat the shift in GWT team composition, but as people ramp up on other parts of the SDK (e.g. MVP stuff), I’m sure there will be improved responsiveness to fixing bugs in that area as well.</p></blockquote>
<p>Add this to the list of issues already fixed and scheduled for 2.5, and we will have a really interesting release.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/12/08/gwt-2-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT-JSF &#8211; Wahl-o-Mat</title>
		<link>http://pgt.de/2011/05/05/gwt-jsf-wahl-o-mat/</link>
		<comments>http://pgt.de/2011/05/05/gwt-jsf-wahl-o-mat/#comments</comments>
		<pubDate>Thu, 05 May 2011 07:15:22 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java & Co.]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=885</guid>
		<description><![CDATA[<p>Die kleine Entscheidungshilfe, bzw. die Vortragsfolien zu unserem Vortrag auf der Jax 2011.</p> <p></p> <p>Oder direkt hier: http://bit.ly/gwt-jsf-wahlomat</p> ]]></description>
			<content:encoded><![CDATA[<p>Die kleine Entscheidungshilfe, bzw. die Vortragsfolien zu unserem Vortrag auf der Jax 2011.</p>
<p><iframe frameborder='0' style='width:460px;height:375px;' src='http://public.iwork.com/embed/?d=wahlomat-gwt-jsf.key&#038;a=p51619782&#038;h=768&#038;w=1024&#038;sw=458'></iframe></p>
<p>Oder direkt hier: <a href="http://bit.ly/gwt-jsf-wahlomat" target="_blank">http://bit.ly/gwt-jsf-wahlomat</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/05/05/gwt-jsf-wahl-o-mat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation slides: GWT in 20 minutes</title>
		<link>http://pgt.de/2011/02/01/presentation-slides-gwt-in-20-minutes/</link>
		<comments>http://pgt.de/2011/02/01/presentation-slides-gwt-in-20-minutes/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 21:53:51 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=841</guid>
		<description><![CDATA[<p>It is not easy to &#8220;sneak preview&#8221; any technology in 20 minutes&#8230; I was the last in a row of five &#8220;RIA&#8221; technologies talks.</p> <p>It was a very interesting evening, great feedback and nice chatting afterwards. Recapping, we had a talk on RAP, the Canoo RIA thing, Silverlight and Qooxdoo. I jumped in with my talk [...]]]></description>
			<content:encoded><![CDATA[<p>It is not easy to &#8220;sneak preview&#8221; any technology in 20 minutes&#8230; I was the last in a row of five &#8220;RIA&#8221; technologies talks.</p>
<p>It was a very interesting evening, great feedback and nice chatting afterwards. Recapping, we had a talk on RAP, the Canoo RIA thing, Silverlight and Qooxdoo. I jumped in with my talk on GWT, my third slide says: &#8220;GWT is better&#8221;:</p>
<p style="text-align: center;"><a href="http://bit.ly/GWT_in_20_min"><img class="size-full wp-image-871 aligncenter" src="http://pgt.de/wp-content/uploads/2011/02/gwt_better.png" alt="" width="512" height="289" /></a></p>
<p><a href="http://bit.ly/GWT_in_20_min" target="_blank">Here are the slides</a> I used in the VKSI sneak preview &#8220;<a href="http://www.vksi.de/20110201-ria-plattformen.html" target="_blank">RIA Entwicklungsplattformen im Vergleich</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/02/01/presentation-slides-gwt-in-20-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 6 / 7 / 8 bad performance?</title>
		<link>http://pgt.de/2011/01/30/ie-6-7-8-bad-performance/</link>
		<comments>http://pgt.de/2011/01/30/ie-6-7-8-bad-performance/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 19:04:37 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=839</guid>
		<description><![CDATA[<p>When you start developing complex enterprise applications using GWT, you can run into the problem that IE does not perform quite well with too much JavaScript.</p> <p>Many companies are still stuck in &#8211; IMHO &#8211; the most successfull vendor-version lock-in web history. Ever heard this?</p> <p>I cannot upgrade IE in our company because of [...]]]></description>
			<content:encoded><![CDATA[<p>When you start developing complex enterprise applications using GWT, you can run into the problem that IE does not perform quite well with too much JavaScript.</p>
<p>Many companies are still stuck in &#8211; IMHO &#8211; the most successfull vendor-version lock-in web history. Ever heard this?</p>
<blockquote><p>I cannot upgrade IE in our company because of  (&#8230;)*</p>
<p>(*) You can fill in you favorite corporate intranet application that won&#8217;t work elsewhere, only in IE6.</p></blockquote>
<p>And even if you can upgrade IE to the latest version (actually IE8), it won&#8217;t get much better. Chrome, Opera, Firefox and Safari &#8211; pic anyone and you will see that the RIA in question can be fast.</p>
<p>And here is where Google comes to the rescue. In a recent blog posting, the Chromium declared that &#8220;<a href="http://blog.chromium.org/2010/12/chrome-is-ready-for-business.html" target="_blank">chrome is ready for business</a>&#8220;:</p>
<blockquote><p>Both Chrome and Chromium are now manageable through Group Policy objects on Windows, plist/MCX configuration on Mac, and special JSON configuration files on Linux. We polished up the NTLM and Kerberos protocol support, and created a list of supported policies and administrative templates to help administrators deploy.</p></blockquote>
<p>This is good news for companies willing to switch from IE to chrome, but for those sticking to IE we still have the nochrome-vendor-version lock-in. And this is the greatest problem: how do you switch to a modern browser, if you must run several applications in IE? The answer is simple: you switch the rendering engine inside IE, but not for all applications, just for those explicitly asking for it:</p>
<blockquote><p>For users needing access to older web applications not yet qualified for Chrome, we also developed Chrome Frame, an Internet Explorer (TM) plug-in that provides Chrome-quality rendering for the broader Web, while defaulting to host rendering for any web applications that still require IE.</p></blockquote>
<p>This way, IE will work as always, but if some page adds a simple html or http header, google chrome will do the rendering of the page, inside IE. Users don&#8217;t have to switch from one browser to another, and the IT department can rollout one web application upgrade after another, without compromising legacy apps.</p>
<p>You could even use a <a href="http://wiki.squid-cache.org/SquidFaq/ContentAdaptation" target="_blank">proxy with content adaptation</a> to add the required http header to all pages from the internet.</p>
<p>I mean, really, <a href="http://apcmag.com/microsoft-warns-stop-using-ie6-ie7-now.htm" target="_blank">even Microsoft says you should upgrade</a>:</p>
<blockquote><p>Microsoft&#8217;s urging to upgrade to IE8 appears to be partially in response to the German and French governments&#8217; recommendation that people stop using Internet Explorer altogether due to its security vulnerabilities.</p>
<p>Microsoft&#8217;s announcement said: &#8220;It is important to note that all software has vulnerabilities and switching browsers in an attempt to protect against this one, highly publicized, but currently limited attack can inadvertently create some false sense of security. Moreover, IE8 has other built-in security protections, such as the SmartScreen filter, that other browsers do not have that protect against real consumer threats, such as socially engineered malware and phishing attacks.&#8221;</p></blockquote>
<p><div style="padding: 50px 10px 50px 10px; text-align:center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-8682101792434953";
/* blogposts */
google_ad_slot = "3634251742";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/01/30/ie-6-7-8-bad-performance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GWT and standards compliance</title>
		<link>http://pgt.de/2011/01/30/gwt-and-standards-compliance/</link>
		<comments>http://pgt.de/2011/01/30/gwt-and-standards-compliance/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 17:11:14 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=828</guid>
		<description><![CDATA[<p>This is a sort of &#8220;standard&#8221; question when it comes down to the topic web frameworks, Java and finally the Google Web Toolkit (GWT).</p> <p>My first though is, what exactly is meant with &#8220;standard&#8221;? A short look at Wikipedia shows:</p> <p>Open Standard: An open standard is a standard that is publicly available and has [...]]]></description>
			<content:encoded><![CDATA[<p>This is a sort of &#8220;standard&#8221; question when it comes down to the topic web frameworks, Java and finally the Google Web Toolkit (GWT).</p>
<p>My first though is, what exactly is meant with &#8220;standard&#8221;?<br />
<span id="more-828"></span><br />
A short look at Wikipedia shows:</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Open_standard" target="_blank">Open Standard</a>: An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed (e.g. open process). There is no single definition and interpretations do vary with usage.</p>
<p><a href="http://en.wikipedia.org/wiki/De_facto_standard">De facto standard</a>: A de facto standard is a custom, convention, product, or system that has achieved a dominant position by public acceptance or market forces (such as early entrance to the market). De facto is a Latin phrase meaning &#8220;concerning the fact&#8221; or &#8220;in practice&#8221;.</p>
<p><a href="http://en.wikipedia.org/wiki/Internet_standard" target="_blank">Internet standard</a>: In computer network engineering, an Internet Standard (STD) is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force (IETF).</p></blockquote>
<p>No, no,  no! Not that kind of standard, right? Ah, ok, the Java EE standard!</p>
<p>Again, looking at Wikipedia you will find the following under &#8220;<a href="http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition#Nomenclature.2C_standards.2C_and_specifications" target="_blank">nomenclature, standards and specification</a>&#8220;:</p>
<blockquote><p>Java EE is defined by its specification. As with other Java Community Process specifications, providers must meet certain conformance requirements in order to declare their products as Java EE compliant.</p>
<p>Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services, XML, etc., and defines how to coordinate them. Java EE also features some specifications unique to Java EE for components. These include Enterprise JavaBeans, Connectors, servlets, portlets (following the Java Portlet specification), JavaServer Pages and several web service technologies. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies.</p></blockquote>
<p>Which leaves us just a few options: the Servlet/ JSP and the JavaServer Faces specifications. While the Servlet and JSP specifications focus on how to handle HTTP request/ responses, the JSF specification defines a GUI component model for web applications.</p>
<p>The problem here is: there is no room anymore for another &#8220;compliant&#8221; web framework &#8211; JSF made it into the Java EE specification &#8211; end of line. But, despite of a wide industry support, JSF is not the only web framework being used today by Java developers. And to make things a little more trickier, typical Web 2.0 web applications do not render the UI on the server side but in the browser.</p>
<p>Fancy &#8220;Web 2.0&#8243; applications are not written in Java. Rich user interfaces are being rendered completely in the browser, avoiding the server roundtrip and minimizing latency. How? By simply using DHTML (technologies defined by the W3C).</p>
<p>So is this the end of Java? No! You will find people using Java backends for &#8220;Web 2.0&#8243; applications. But even as a backend technology we won&#8217;t be abiding by the rules of standard compliance by using RMI or SOAP to communicate: it is common to send lightweight JSON over HTTP. All you need for that is a Servlet and a little bit of JSON &lt;-&gt; Java objects mapping. People developing RIAs and using JSON back and forward to the server are measuring latency in milliseconds.</p>
<p>So, if you will be building a Web 2.0 application, don&#8217;t look for a specification at the Java EE side. It is the wrong side, as Java is actually the backend, not the frontend. That brings us back to the first standards I cited above: open standards, de facto standards and internet standards.</p>
<p>This is how things were before JSF, and this is how things became after Web 2.o.</p>
<p><a href="http://pgt.de/wp-content/uploads/2011/01/gwt-and-standards.png"><img class="aligncenter size-medium wp-image-829" title="gwt-and-standards" src="http://pgt.de/wp-content/uploads/2011/01/gwt-and-standards-300x203.png" alt="" width="300" height="203" /></a></p>
<p>So, back to the question, is GWT standard compliant or not? Well, besides of those blue boxes on the picture above I would say yes!</p>
<ul>
<li>The compiler is not standard, but I would not know what a standard compiler would be or mean to development anyway</li>
<li>The GWT-RPC mechanism is highly GWT proprietary, don&#8217;t use it if you don&#8217;t like it. But it is my belief that there aren&#8217;t too many developers out there that can code something better than GWT-RPC by hand&#8230;</li>
</ul>
<p><div style="padding: 50px 10px 50px 10px; text-align:center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-8682101792434953";
/* blogposts */
google_ad_slot = "3634251742";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/01/30/gwt-and-standards-compliance/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apache configuration for GWT applications [updated]</title>
		<link>http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/</link>
		<comments>http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 09:07:14 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[deflate]]></category>
		<category><![CDATA[expires]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[http header]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=804</guid>
		<description><![CDATA[<p>GWT applications are basically a bunch of static resources, and static resources are strong candidates for browser caching.</p> <p>The GWT generated files make it quite easy to follow some of the tips for building a cache-aware site:</p> <p>If a resource (especially a downloadable file) changes, change its name. That way, you can make it [...]]]></description>
			<content:encoded><![CDATA[<p>GWT applications are basically a bunch of static resources, and static resources are strong candidates for browser caching.</p>
<p>The GWT generated files make it quite easy to follow some of the <a href="http://www.mnot.net/cache_docs/#TIPS" target="_blank">tips for building a cache-aware site</a>:</p>
<blockquote><p>If a resource (especially a downloadable file) changes, change its name. That way, you can make it expire far in the future, and still guarantee that the correct version is served; the page that links to it is the only one that will need a short expiry time.</p></blockquote>
<p>If we have a look at the generated files we will find</p>
<ul>
<li>strongly unique filenames</li>
<li>cache and nocache hints in the filename</li>
</ul>
<p><span id="more-804"></span></p>
<p><a href="http://pgt.de/wp-content/uploads/2011/01/gwtfilenames.png"><img class="aligncenter size-full wp-image-806" title="GWT generated files" src="http://pgt.de/wp-content/uploads/2011/01/gwtfilenames.png" alt="" width="376" height="308" /></a></p>
<p>It would be possible to add servlet filters to the Java EE Web Container (I will call it tomcat from now on&#8230;) delivering those files, but I prefer to have it outside of tomcat. As long as I don&#8217;t find the &#8220;GWT optimization all-in-one-filter&#8221; I will keep using the Apache http server for optimization. Besides, it is not unusual to hide one ore more tomcat instances behind an Apache http server.</p>
<p>Well, I found it quite tricky to setup compression, http headers and the right proxy configuration, so here is my config as of today&#8230;</p>
<p>I am using <a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html" target="_blank">mod_deflate</a>, <a href="http://httpd.apache.org/docs/2.2/mod/mod_expires.html" target="_blank">mod_expires</a> and <a href="http://httpd.apache.org/docs/2.2/mod/mod_headers.html" target="_blank">mod_headers</a>, <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html" target="_blank">mod_proxy</a> and <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html" target="_blank">mod_proxy_ajp</a>. It is up to you to have those loaded in your Apache configuration. Load balancing with <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html" target="_blank">mod_proxy_balancer</a> is out of scope for this article.</p>
<p>So here is my configuration:<br />
<strong>[update]</strong><br />
I added a version number to the configuration.<br />
<strong>[/update]</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
</pre></td><td class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">#</span>
<span style="color: #adadad; font-style: italic;">#  Version 2</span>
<span style="color: #adadad; font-style: italic;">#  Source: http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/</span>
<span style="color: #adadad; font-style: italic;">#</span>
&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_proxy.c&gt;
   &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_proxy_ajp.c&gt;
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_expires.c&gt;
         <span style="color: #00007f;">ExpiresActive</span> <span style="color: #0000ff;">On</span>
      &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;          
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_headers.c&gt;
         &lt;<span style="color: #000000; font-weight:bold;">ProxyMatch</span> (.*)<span style="color: #00007f;">nocache</span>\.js$&gt;
            <span style="color: #00007f;">Header</span> Set Cache-Control <span style="color: #7f007f;">&quot;max-age=0, no-store&quot;</span>
         &lt;/<span style="color: #000000; font-weight:bold;">ProxyMatch</span>&gt;
         &lt;<span style="color: #000000; font-weight:bold;">ProxyMatch</span> (.*)\.cache\.(.*)&gt;
            <span style="color: #00007f;">Header</span> Set Cache-Control <span style="color: #7f007f;">&quot;max-age=31536000, public, must-revalidate&quot;</span>
         &lt;/<span style="color: #000000; font-weight:bold;">ProxyMatch</span>&gt;
         &lt;<span style="color: #000000; font-weight:bold;">ProxyMatch</span> (.*)\.cache\.js$&gt;
            <span style="color: #00007f;">Header</span> Set Cache-Control <span style="color: #7f007f;">&quot;max-age=31536000, private&quot;</span>
         &lt;/<span style="color: #000000; font-weight:bold;">ProxyMatch</span>&gt;
      &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;          
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_deflate.c&gt;
         <span style="color: #00007f;">SetOutputFilter</span> DEFLATE
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE text/plain
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE text/html 
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE text/xml  
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE text/css  
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE text/javascript
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/xml
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/xhtml+xml
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/rss+xml  
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/javascript
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/x-javascript
         <span style="color: #00007f;">AddOutputFilterByType</span> DEFLATE application/x-shockwave-flash
      &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;          
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">Proxy</span> *&gt;
         &lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_expires.c&gt;
            <span style="color: #00007f;">ExpiresByType</span> application/json   <span style="color: #7f007f;">&quot;now&quot;</span>
            <span style="color: #00007f;">ExpiresByType</span> text/css            <span style="color: #7f007f;">&quot;now&quot;</span>
            <span style="color: #00007f;">ExpiresByType</span> text/html          <span style="color: #7f007f;">&quot;now&quot;</span>
         &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;
         &lt;<span style="color: #000000; font-weight:bold;">ifModule</span> mod_headers.c&gt;
             <span style="color: #00007f;">Header</span> unset ETag
             <span style="color: #00007f;">Header</span> unset Last-Modified
         &lt;/<span style="color: #000000; font-weight:bold;">ifModule</span>&gt;
         <span style="color: #00007f;">FileETag</span> <span style="color: #0000ff;">None</span>
      &lt;/<span style="color: #000000; font-weight:bold;">Proxy</span>&gt;
&nbsp;
      &lt;<span style="color: #000000; font-weight:bold;">Location</span> /gwt&gt;
         <span style="color: #00007f;">ProxyPass</span>         ajp://localhost:<span style="color: #ff0000;">8009</span>/gwt
         <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
         <span style="color: #00007f;">Allow</span> from <span style="color: #0000ff;">all</span>  
      &lt;/<span style="color: #000000; font-weight:bold;">Location</span>&gt; 
&nbsp;
   &lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;          
&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</pre></td></tr></table></div>

<p>As you can see I turned off caching of css and html files for my GWT app for a simple reason: my GWT apps follow the single page principle, so users won&#8217;t leave/ reload the page. And when they do, it is ok to deliver the actual version. You can fill in your own strategy here, depending on your own application lifecycle.</p>
<p>The compression is working fine, as you can see at the difference between the size and the transfered size:</p>
<p><a href="http://pgt.de/wp-content/uploads/2011/01/gwt-chrome-transfersizes.png"><img src="http://pgt.de/wp-content/uploads/2011/01/gwt-chrome-transfersizes-300x126.png" alt="" title="Transfer sizes in google chrome" width="300" height="126" class="aligncenter size-medium wp-image-819" /></a></p>
<p>As configured, the expiration headers for the cacheable filenames are set to the far future, here are the headers for a split point:<br />
<a href="http://pgt.de/wp-content/uploads/2011/01/split-point-headers.png"><img src="http://pgt.de/wp-content/uploads/2011/01/split-point-headers-300x176.png" alt="" title="HTTP headers for cacheable GWT artefacts" width="300" height="176" class="aligncenter size-medium wp-image-821" /></a></p>
<p>And, as required to get updated GWT apps pushed to the clients on a browser refresh, the http header for the not cacheable file:<br />
<a href="http://pgt.de/wp-content/uploads/2011/01/nocache-headers.png"><img src="http://pgt.de/wp-content/uploads/2011/01/nocache-headers-300x275.png" alt="" title="HTTP headers for no cache files" width="300" height="275" class="aligncenter size-medium wp-image-823" /></a></p>
<p><div style="padding: 50px 10px 50px 10px; text-align:center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-8682101792434953";
/* blogposts */
google_ad_slot = "3634251742";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2011/01/27/apache-configuration-for-gwt-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT Large scale application development</title>
		<link>http://pgt.de/2010/04/24/gwt-large-scale-application-development/</link>
		<comments>http://pgt.de/2010/04/24/gwt-large-scale-application-development/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 16:04:00 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[My blog]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[mvp]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=801</guid>
		<description><![CDATA[<p>There is a two part article on the GWT docs homepage talking about large scale application development and GWT. Sorry, this is a crosspost from here&#8230;</p> <p>Building any large scale application has its hurdles, and GWT apps are no exception. Multiple developers working simultaneously on the same code base, while maintaining legacy features and [...]]]></description>
			<content:encoded><![CDATA[<p>There is a two part article on the GWT docs homepage talking about large scale application development and GWT. Sorry, this is a crosspost from <a href="http://techscouting.wordpress.com/2010/04/24/gwt-large-scale-application-development/" target="_blank">here</a>&#8230;</p>
<blockquote><p>Building any large scale application has its hurdles, and GWT apps are no exception. Multiple developers working simultaneously on the same code base, while maintaining legacy features and functionality, can quickly turn into messy code. To help sort things out we introduce design patterns to create compartmentalized areas of responsibility within our project.</p></blockquote>
<p>Part I</p>
<blockquote><p><a href="http://code.google.com/intl/de/webtoolkit/articles/mvp-architecture.html" target="_blank">http://code.google.com/intl/de/webtoolkit/articles/mvp-architecture.html</a></p>
<p>Model view presenter, AppController, binding presenters and views, EventBus, history, testing</p></blockquote>
<p>Part II</p>
<blockquote><p><a href="http://code.google.com/intl/de/webtoolkit/articles/mvp-architecture-2.html" target="_blank">http://code.google.com/intl/de/webtoolkit/articles/mvp-architecture-2.html</a></p>
<p>Complex UIs, optimized UIs, and code splitting.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/04/24/gwt-large-scale-application-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming google i/o 2010 gwt sessions</title>
		<link>http://pgt.de/2010/02/08/upcoming-google-io-2010-gwt-sessions/</link>
		<comments>http://pgt.de/2010/02/08/upcoming-google-io-2010-gwt-sessions/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 11:44:01 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=793</guid>
		<description><![CDATA[<p>Here are the GWT sessions on the upcoming google i/o 2010 to keep an eye on.</p> <p>Google usually publishes the sessions on youtube and uploads the slides to the respective session homepage. Ray Ryan is talking on two session, one of it is called &#8220;Architecting GWT applications for production at Google&#8221; &#8211; maybe it [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the GWT sessions on the upcoming <a href="http://code.google.com/intl/de/events/io/2010/sessions.html" target="_blank">google i/o 2010</a> to keep an eye on.</p>
<p>Google usually publishes the sessions on youtube and uploads the slides to the respective session homepage. Ray Ryan is talking on two session, one of it is called &#8220;Architecting GWT applications for production at Google&#8221; &#8211; maybe it is part two of his last talk on <a href="http://pgt.de/2009/09/18/best-practices-for-architecting-your-gwt-app/" target="_self">gwt architectures</a> best practices.</p>
<p>I surely won&#8217;t miss any of those:</p>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/architecting-performance-gwt.html" target="_blank">Architecting for performance with Google Web Toolkit</a></p>
<blockquote><p>Modern web applications are quickly evolving to an architecture that has to account for the performance characteristics of the client, the server, and the global network connecting them. Should you render HTML on the server or build DOM structures with JS in the browser, or both? This session discusses this, as well as several other key architectural considerations to keep in mind when building your Next Big Thing.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/gwt-html5.html" target="_blank">GWT + HTML5 can do what?!</a></p>
<blockquote><p>How can you take advantage of new HTML5 features in your GWT applications? In this session, we answer that question in the form of demos &#8212; lots and lots of demos. We&#8217;ll cover examples of how to use Canvas for advanced graphics, CSS3 features, Web Workers, and more within your GWT applications.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/gwt-ui-overhaul.html" target="_blank">GWT&#8217;s UI overhaul: UiBinder, ClientBundle, and Layout Panels</a></p>
<blockquote><p>There have been some really huge improvements in GWT&#8217;s UI fundamentals over the past year. We&#8217;ve introduced features such as UiBinder, ClientBundle, CssResource, and uber layout panels that allow you to build fast UIs in a sane manner. Come see how fun/easy/fast it can be to use these technologies in harmony to overhaul your UI.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/gwt-continuous-build-testing.html" target="_blank">GWT continuous build and testing best practices</a></p>
<blockquote><p>GWT has a lot of little-publicized infrastructure that can help you build apps The Right Way: test-driven development, fast continuous builds, code coverage, comprehensive unit tests, and integration testing using Selenium or WebDriver. This session will survey GWT&#8217;s testing infrastructure, describe some best practices we&#8217;ve developed at Google, and help you avoid common pitfalls.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/architecting-production-gwt.html" target="_blank">Architecting GWT applications for production at Google</a></p>
<blockquote><p>For large GWT applications, there&#8217;s a lot you should think about early in the design of your project. GWT has a variety of technologies to help you, but putting it all together can be daunting. This session walks you through how teams at Google architect production-grade apps, from design to deployment, using GWT.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/measure-in-milliseconds-speed-tracer-gwt.html" target="_blank">Measure in milliseconds redux: Meet Speed Tracer</a></p>
<blockquote><p>It turns out that web apps can be slow for all sorts of opaque and unintuitive reasons. Don&#8217;t be fooled into thinking that bloated, slow JavaScript is the only culprit. This session introduces you to Speed Tracer, a new GWT tool that can tell you exactly where time is going within the browser.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/faster-apps-faster-gwt-compiler.html" target="_blank">Faster apps faster: Optimizing apps with the GWT Compiler</a></p>
<blockquote><p>The GWT compiler isn&#8217;t just a Java to JavaScript transliterator. It performs many optimizations along the way. In this session, we&#8217;ll show you not only the optimizations performed, but how you can get more out of the compiler itself. Learn how to speed up compiles, use -draftCompile, compile for only one locale/browser permutation, and more.</p></blockquote>
<p><a href="http://code.google.com/intl/de/events/io/2010/sessions/gwt-linkers-webworkers-extensions.html" target="_blank">GWT Linkers target HTML5 Web Workers, Chrome Extensions, and more</a></p>
<blockquote><p>At its core GWT has a well-defined and customizable mechanism &#8212; called Linkers &#8212; that controls exactly how GWT&#8217;s compiled JavaScript should be packaged, served, and run. This session will describe how to create linkers and explains some of the linkers we&#8217;ve created, including a linker that turns a GWT module into an HTML5 Web Worker and one that generates an HTML App Cache manifest automatically.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/02/08/upcoming-google-io-2010-gwt-sessions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atlassian dropping IE 6 support</title>
		<link>http://pgt.de/2010/02/08/atlassian-dropping-ie-6-support/</link>
		<comments>http://pgt.de/2010/02/08/atlassian-dropping-ie-6-support/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:49:50 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[From nerds to nerds]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[EOL]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[jira]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=786</guid>
		<description><![CDATA[<p>I found this one here in the atlassian forums, unfortunately the link posted there is broken.</p> <p>Hi guys,</p> <p>We are announcing our end of life of Atlassian support for Internet Explorer 6 on JIRA.</p> <p>This will be effective from the launch date of JIRA 4.2 (target Q3, 2010). This means that JIRA 4.1 will [...]]]></description>
			<content:encoded><![CDATA[<p>I found this one here in the atlassian forums, unfortunately the link posted there is broken.</p>
<blockquote><p>Hi guys,</p>
<p>We are announcing our end of life of Atlassian support for Internet Explorer 6 on JIRA.</p>
<p>This will be effective from the launch date of JIRA 4.2 (target Q3, 2010). This means that JIRA 4.1 will be the last version of JIRA to support IE6. (From JIRA 4.0 to JIRA 4.1, all of the main functionality will work in IE 6; however, some of the visual effects will be missing).</p></blockquote>
<p>The <a href="http://confluence.atlassian.com/x/HQCID" target="_blank">End of Support Announcements for JIRA</a> specifies end of support for browsers, appserver and JDK. We should add Atlassian products to the <a href="http://pgt.de/2010/02/08/ie-6-death-march/">IE death march</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/02/08/atlassian-dropping-ie-6-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 6 death march</title>
		<link>http://pgt.de/2010/02/08/ie-6-death-march/</link>
		<comments>http://pgt.de/2010/02/08/ie-6-death-march/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:28:14 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[From nerds to nerds]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=783</guid>
		<description><![CDATA[<p>This year is a great year for web development. We will witness the &#8220;end of life&#8221; of IE 6. And as far as I got it right from here, IE 7 is being trashed on the same day:</p> <p>13-Jul-2010 Internet Explorer 7 on Windows XP Professional Service Internet Explorer 6 on Windows XP Professional</p> [...]]]></description>
			<content:encoded><![CDATA[<p>This year is a great year for web development. We will witness the &#8220;end of life&#8221; of IE 6. And as far as I got it right <a href="http://support.microsoft.com/gp/lifesupsps/#Internet_Explorer" target="_blank">from here</a>, IE 7 is being trashed on the same day:</p>
<blockquote><p>13-Jul-2010<br />
Internet Explorer 7 on Windows XP Professional Service<br />
Internet Explorer 6 on Windows XP Professional</p></blockquote>
<p>And sincerely: this is good. I just hope companies start upgrading soon, why should we wait until July? I just hope that Google, Amazon, Ebay and others take the chance to honor this date. What about turning off IE 6 support completely for a week or two? This surely would help companies to speed up transition&#8230;</p>
<p>But IE 6 was not all pain&#8230;  did you see this <a href="http://www.youtube.com/watch?v=vTTzwJsHpU8" target="_blank">one here</a>? So sad and funny at the same time&#8230; There is even a website dedicated to the <a href="http://iedeathmarch.org/" target="_blank">IE death march</a>!</p>
<p>So before you update to IE 8 I just wanted to point out that&#8230;</p>
<ul>
<li>Internet Explorer is a piece of software more generally called &#8220;<a href="http://googleblog.blogspot.com/2009/10/what-is-browser.html" target="_blank">web browser</a>&#8220;</li>
<li>It might come as a surprise, but the Internet Explorer is not the only browser available for Windows users&#8230;</li>
<li>Sadly, Internet Explorer browser updates are the only ones the inexplicably involve updating half of the underlying OS ;-)</li>
<li>Internet Explorer has been the <a href="http://www.webdevout.net/browser-support-summary" target="_blank">least compliant browser</a> for several years</li>
<li>Internet Explorer has been the <a href="http://service.futuremark.com/peacekeeper/browserStatistics.action" target="_blank">slowest browser</a> for several users/ years</li>
</ul>
<p>So, before updating, have a look at <a href="http://www.apple.com/safari/" target="_blank">Safari</a>, <a href="http://www.google.com/chrome" target="_blank">Chrome</a>, <a href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a>, <a href="http://www.opera.com/" target="_blank">Opera</a>. They are all far better (faster, more secure, more compliant) in browsing the web than Internet Explorer.</p>
<p>And you don&#8217;t have to fear your OS is <a href="http://www.h-online.com/security/news/item/Warning-over-using-Internet-Explorer-from-German-Government-as-exploit-goes-public-906173.html" target="_blank">vulnerable</a> or broken after installing a update.</p>
<p>And, just in case you missed that one: <a href="http://dev.w3.org/html5/spec/Overview.html" target="_blank">HTML5</a> is the next big step in the web development. Google and Apple are the key players this time. Not Microsoft. Microsoft announced that they will setup a set of tests to evaluate HTML5. And they announced that IE 9 will be able to draw round corners (this is innovation from Microsofts point of view, really).</p>
<p>With HTML5 we will leverage the web to next level, the new features are awesome. Safari, Chrome, Firefox and Opera already support the vast majority of the HTML5 features:</p>
<p><div id="attachment_784" class="wp-caption aligncenter" style="width: 443px"><a href="http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html"><img class="size-full wp-image-784" title="html5" src="http://pgt.de/wp-content/uploads/2010/02/html5.png" alt="" width="433" height="322" /></a><p class="wp-caption-text">Google Bets Big on HTML 5: News from Google I/O</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/02/08/ie-6-death-march/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GWT 2.0.1 is da</title>
		<link>http://pgt.de/2010/02/03/gwt-2-0-1-is-da/</link>
		<comments>http://pgt.de/2010/02/03/gwt-2-0-1-is-da/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 20:31:17 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[My blog]]></category>
		<category><![CDATA[gwt]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=781</guid>
		<description><![CDATA[<p>Habs gerade erst gesehen.</p> <p>Aus den &#8220;release notes&#8220;:</p> Standard.css missing new layout styles The CurrencyList/CurrencyData APIs are now public ]]></description>
			<content:encoded><![CDATA[<p>Habs gerade erst gesehen.</p>
<p>Aus den &#8220;release <a href="http://code.google.com/intl/de/webtoolkit/release-notes.html#Release_Notes_Current" target="_blank">notes</a>&#8220;:</p>
<ul>
<li>Standard.css missing new layout styles</li>
<li>The CurrencyList/CurrencyData APIs are now public</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/02/03/gwt-2-0-1-is-da/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking forward to GWT 2.0.1</title>
		<link>http://pgt.de/2010/01/21/looking-forward-to-gwt-2-0-1/</link>
		<comments>http://pgt.de/2010/01/21/looking-forward-to-gwt-2-0-1/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:32:07 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[gwt]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=778</guid>
		<description><![CDATA[<p>I just spent some time on the GWT issue list, nice to see work being completed on the 2.0.1 release. Unfortunately, it looks like week numbers are not going to make it into 2.0.1. Since many issues are already marked &#8220;FixedNotReleased&#8221; it might be a good option to checkout and build GWT from the source. Unfortunately the [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent some time on the GWT issue list, nice to see work being completed on the 2.0.1 release. Unfortunately, it looks like <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=4009" target="_blank">week numbers</a> are not going to make it into 2.0.1. Since many issues are already marked &#8220;FixedNotReleased&#8221; it might be a good option to <a href="http://code.google.com/intl/de/webtoolkit/makinggwtbetter.html#workingoncode" target="_blank">checkout and build GWT</a> from the source. Unfortunately the <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=4429" target="_blank">standard layout for TabLayoutPanel</a> isn&#8217;t marked fixed yet&#8230;</p>
<p>Here is the issue list for the release 2.0.1 I have been looking at:</p>
<blockquote><p><a href="http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=+milestone%3D2_0_1&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&amp;cells=tiles" target="_blank">http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=+milestone%3D2_0_1&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&amp;cells=tiles</a></p></blockquote>
<p>Some issues are tagged &#8220;NextRelease&#8221;, so this a worthwhile list to look at:</p>
<blockquote><p><a href="http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=milestone=NextRelease&amp;colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary" target="_blank">http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=milestone=NextRelease&amp;colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary</a></p></blockquote>
<p>As you can see, there are some issues tagged &#8220;NextRelease&#8221; that already are marked &#8220;FixedNotReleased&#8221;.</p>
<p>In the list of &#8220;Planned&#8221; issues you will find &#8220;<a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=123" target="_blank">drag and drop</a>&#8221; and support for &#8220;<a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=267" target="_blank">comet/ server push</a>&#8220;:</p>
<blockquote><p><a href="http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=milestone%3DPlanned&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&amp;cells=tiles" target="_blank">http://code.google.com/p/google-web-toolkit/issues/list?can=2&amp;q=milestone%3DPlanned&amp;colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&amp;cells=tiles</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2010/01/21/looking-forward-to-gwt-2-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From hype to hype</title>
		<link>http://pgt.de/2009/12/14/from-hype-to-hype/</link>
		<comments>http://pgt.de/2009/12/14/from-hype-to-hype/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 12:39:33 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[From nerds to nerds]]></category>
		<category><![CDATA[Funnies]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[hype]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=772</guid>
		<description><![CDATA[<p>Thanks to Oliver for this awesome cartoon.</p> <p style="text-align: center;"></p> <p>Source: http://geekandpoke.typepad.com/geekandpoke/2009/12/from-hype-to-hype.html</p> ]]></description>
			<content:encoded><![CDATA[<p>Thanks to Oliver for this awesome cartoon.</p>
<p style="text-align: center;"><a href="http://pgt.de/wp-content/uploads/2009/12/6a00d8341d3df553ef0128764d3aef970c-800wi.jpg"><img class="aligncenter size-full wp-image-773" title="6a00d8341d3df553ef0128764d3aef970c-800wi" src="http://pgt.de/wp-content/uploads/2009/12/6a00d8341d3df553ef0128764d3aef970c-800wi.jpg" alt="6a00d8341d3df553ef0128764d3aef970c-800wi" width="800" height="1133" /></a></p>
<p>Source: <a href="http://geekandpoke.typepad.com/geekandpoke/2009/12/from-hype-to-hype.html" target="_blank">http://geekandpoke.typepad.com/geekandpoke/2009/12/from-hype-to-hype.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2009/12/14/from-hype-to-hype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wann auch immer wir sind</title>
		<link>http://pgt.de/2009/12/14/wann-auch-immer-wir-sind/</link>
		<comments>http://pgt.de/2009/12/14/wann-auch-immer-wir-sind/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 09:50:00 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[My blog]]></category>
		<category><![CDATA[people and business]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=766</guid>
		<description><![CDATA[<p><p class="wp-caption-text">Erster Platz</p> Ich möchte Ursula Lohrey für den ersten Platz in dem Plakatwettbewerb</p> <p>GOTT IST ALT&#8230; ABER VIEL BESCHÄFTIGT! Plakatwettbewerb zum Thema „Generation 50+ und Arbeit“</p> <p>gratulieren. Lohrey habe ich unter anderem mein Logo zu verdanken.</p> Der regionale Beschäftigungspakt fünfzigPLUSarbeit rief zu einem Plakat-Wettbewerb zum Thema Arbeit und Alter auf. Der KulturPackt führte [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_767" class="wp-caption alignright" style="width: 222px"><a href="http://pgt.de/wp-content/uploads/2009/12/Plakat_01praemiert.jpg"><img class="size-medium wp-image-767" title="Erster Platz" src="http://pgt.de/wp-content/uploads/2009/12/Plakat_01praemiert-212x300.jpg" alt="Wann auch immer wir sind" width="212" height="300" /></a><p class="wp-caption-text">Erster Platz</p></div><br />
Ich möchte <a href="http://meta-for.de/" target="_blank">Ursula Lohrey</a> für den ersten Platz in dem Plakatwettbewerb</p>
<p><strong>GOTT IST ALT&#8230; ABER VIEL BESCHÄFTIGT! </strong><br />
<em>Plakatwettbewerb zum Thema „Generation 50+ und Arbeit“</em></p>
<p>gratulieren. Lohrey habe ich unter anderem mein Logo zu verdanken.</p>
<div>Der regionale Beschäftigungspakt fünfzigPLUSarbeit rief zu einem Plakat-Wettbewerb zum Thema Arbeit und Alter auf. Der <a href="http://www.kulturpackt.de/" target="_blank">KulturPackt</a> führte dabei die Ausschreibung durch und organisierte die Jurierung.</div>
<div>Zur Beteiligung aufgerufen waren Grafiker, Zeichner, Maler, Fotografen, Bildhauer und Objektkünstler. Zu dem schwierig umzusetzenden Thema bewarben sich 19 Künstler und Grafiker mit 40 Arbeiten. Eine fünfköpfige Jury, bestehend aus Vertretern der Beschäftigungsinitiative und des KulturPackts sowie einem freien Grafiker wählte zehn Entwürfe aus, die in zwei Ausstellungen gezeigt werden sollen.</div>
<div>Ausgewählt wurden Arbeiten von neun Künstlern: Monika Tinkl (Niederwerrn), Annette Fernandes (Kitzingen), Uta Böttcher (Würzburg), René Landspersky (München), Steffi Weiß (Rimpar), Ursula Lohrey (Schonungen), Corinna Herrmann (Kitzingen), Lars Kuhfuss (Veitshöcheim) und Wolfgang Kuhfuss (Nüdlingen).</div>
<blockquote><p><strong>Bild und Botschaft:</strong></p>
<p>4 Menschen aus der Arbeitswelt bilden mit Ihren Händen eine Art Treppe, eine Leiter. In Wechselwirkung mit dem Schlüsselzitat wird sie schnell zu einer Lebensleiter aus lebenden Sprossen. Jede Stufe bedeutet eine andere Gegenwart, eine nach der anderen.  Die Lebensstufenleiter ist eine Metapher für eine ganz große Gemeinsamkeit: Sie ist unsere Timeline, unsere Aufgabe und gleichzeitig ein Pfad aus Reifestufen. Und Alter steht hier nicht zur Diskussion.</p>
<p><strong>Textebenen:</strong></p>
<p>Rechts daneben wiederholt eine typographische Leiter aus Vornamen dieses Bild. Buchstaben behaupten, daß alle vier Personen das Alter von 54 haben. Diese Irritation klärt sich auf, sobald man sich dem Plakat nähert und die kleineren Zeilen lesen kann: nämlich die Jahreszahlen, zu denen die jeweilige Person ihren 54sten Geburtstag haben wird. Dieser Kunstgriff, vier Personen auf den ersten Blick gleichaltrig zu machen, konfrontiert mit der Unabänderlichkeit , daß wir alle ein und demselben ZEITSTROM unterworfen sind. Gedanklich wird für Augenblicke greifbar und möglich, daß wir uns zeitgleich im alten und im jungen Stadium befinden können, und in einem ganz bestimmten Sinne niemals altern werden.</p>
<p>Der verdammte Zeitstrom, an dem entlang wir Jahrzehnte hangeln, kann uns älter machen, aber nicht zwingend klein.</p>
<p>Die Irritation von ‘4 mal 54’ bedeutet die Chance, eigene Sichtweisen, je nachdem,</p>
<p>auf welcher Altersstufe wir uns befinden, auf Opportunismus hin zu untersuchen. Und spielerisch genau diese Sicht auf unsere Person anzuwenden, indem wir uns vorstellen, daß weitere 30 Jahre unserer Lebenszeit verstrichen sind und jemand so über uns denkt.</p>
<p>Die Wortatmosphäre “WANN AUCH IMMER WIR SIND.” verschmilzt mit der Bildbotschaft  und schreibt sich mitten auf den Nachthimmel &#8230; wie ein Gebet.</p>
<div style="text-align: right;">Ursula Lohrey</div>
</blockquote>
<p>Die Ausstellung findet im alten Rathaus Schweinfurt vom 16. &#8211; 22. Dezember statt, die Plakate von Lohrey können jetzt schon <a href="http://meta-for.de/gallery/v/kulturpackt09/" target="_blank">online</a> betrachtet werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2009/12/14/wann-auch-immer-wir-sind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What if Operating Systems Were Airlines?</title>
		<link>http://pgt.de/2009/12/11/what-if-operating-systems-were-airlines/</link>
		<comments>http://pgt.de/2009/12/11/what-if-operating-systems-were-airlines/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 11:32:35 +0000</pubDate>
		<dc:creator>P.G.Taboada</dc:creator>
				<category><![CDATA[From nerds to nerds]]></category>
		<category><![CDATA[Funnies]]></category>

		<guid isPermaLink="false">http://pgt.de/?p=763</guid>
		<description><![CDATA[<p>There are things that must not get lost in time. Best thing to do is backup. So here is my backup:</p> DOS Airlines Everybody pushes the airplane until it glides, then they jump on and let the plane coast until it hits the ground again, then they push again jump on again, and so [...]]]></description>
			<content:encoded><![CDATA[<p>There are things that must not get lost in time.<br />
Best thing to do is backup. So here is my backup:</p>
<ul>
<li><strong>DOS Airlines<br />
</strong>Everybody pushes the airplane until it glides, then they jump on and let the plane coast until it hits the ground again, then they push again jump on again, and so on.</li>
<li><strong>OS/2 Airlines<br />
</strong>The terminal is almost empty, with only a few prospective passengers milling about. The announcer says that their flight has just departed, wishes them a good flight, though there are no planes on the runway. Airline personnel walk around, apologising profusely to customers in hushed voices, pointing from time to time to the sleek, powerful jets outside the terminal on the field. They tell each passenger how good the real flight will be on these new jets and how much safer it will be than Windows Airlines, but that they will have to wait a little longer for the technicians to finish the flight systems.<br />
Once they finally finished you&#8217;re offered a flight at reduced cost.  To board the plane, you have your ticket stamped ten different times by standing in ten different lines. Then you fill our a form showing where you want to sit and whether the plane should look and feel like an ocean liner, a passenger train or a bus. If you succeed in getting on the plane and the plane succeeds in taking off the ground, you have a wonderful trip&#8230;except for the time when the rudder and flaps get frozen in position, in which case you will just have time to say your prayers and get in crash position.</li>
<li><strong>Windows Air<br />
<span style="font-weight: normal;">The terminal is pretty and colorful, with friendly stewards, easy baggage check and boarding, and a smooth take-off.  After about 10 minutes in the air, the plane explodes with no warning whatsoever.</span></strong></li>
<li><strong>Windows NT Air<br />
<span style="font-weight: normal;">Just like Windows Air, but costs more, uses much bigger planes, and takes out all the other aircraft within a 40-mile radius when it explodes.<br />
<span id="more-763"></span> </span></strong></li>
<li><strong>Mac Airlines</strong></li>
<li>All the stewards, stewardesses, captains, baggage handlers, and ticket agents look the same, act the same, and talk the same. Every time you ask questions about details, you are told you don&#8217;t need to know, don&#8217;t want to know, and would you please return to your seat and watch the movie.</li>
<li><strong>Unix Airlines<br />
<span style="font-weight: normal;">Each passenger brings a piece of the airplane and a box of tools to the airport. They gather on the tarmac, arguing constantly about what kind of plane they want to build and how to put it together. Eventually, they build several different aircraft, but give them all the same name. Some passengers actually reach their destinations. All passengers believe they got there.</span></strong></li>
<li><strong>Wings of OS/400</strong><br />
The airline has bought ancient DC-3s, arguably the best and safest planes that ever flew, and painted &#8220;747&#8243; on their tails to make them look as if they are fast. The flight attendants, of course, attend to your every need, though the drinks cost $15 a pop. Stupid questions cost $230 per hour, unless you have SupportLine, which requires a first class ticket and membership in the frequent flyer club. Then they cost $500, but your accounting department can call it overhead.</li>
<li><strong>Mach Airlines<br />
<span style="font-weight: normal;">There is no airplane. The passengers gather and shout for an airplane, then wait and wait and wait and wait. A bunch of people come, each carrying one piece of the plane with them. These people all go out on the runway and put the plane together piece by piece, arguing constantly about what kind of plane they&#8217;re building. The plane finally takes off, leaving the passengers on the ground waiting and waiting and waiting and waiting. After the plane lands, the pilot telephones the passengers at the departing airport to inform them that they have arrived.</span></strong></li>
<li><strong>Newton Airlines<br />
<span style="font-weight: normal;">After buying your ticket 18 months in advance, you finally get to board the plane. Upon boarding the plane you are asked your name. After 6 times, the crew member recognizes your name and then you are allowed to take your seat. As you are getting ready to take your seat, the steward announces that you have to repeat the boarding process because they are out of room and need to recount to make sure they can take more passengers.</span></strong></li>
<li><strong>VMS Airlines<br />
<span style="font-weight: normal;">The passengers all gather in the hanger, watching hundreds of technicians check the flight systems on this immense, luxury aircraft. This plane has at least 10 engines and seats over 1,000 passengers. All the passengers scramble aboard, as do the necessary complement of 200 technicians. The pilot takes his place up in the glass cockpit. He guns the engines, only to realise that the plane is too big to get through the hangar doors.</span></strong></li>
<li><strong>BeOS Air<br />
<span style="font-weight: normal;">You have to pay for the tickets, but they&#8217;re half the price of Windows Air, and if you are an aircraft mechanic you can probably ride for free. It only takes 15 minutes to get to the airport and you are cheuferred there in a limozine. BeOS Air only has limited types of planes that only only hold new luggage. All planes are single seaters and the model names all start with an &#8220;F&#8221; (F-14, F-15, F-16, F-18, etc.). The plane will fly you to your destination on autopilot in half the time of other Airways or you can fly the plane yourself. There are limited destinations, but they are only places you&#8217;d want to go to anyway. You tell all your friends how great BeOS Air is and all they say is &#8220;What do you mean I can&#8217;t bring all my old baggage with me?&#8221;</span></strong></li>
<li><strong>Linux Airlines<br />
<span style="font-weight: normal;">Disgruntled employees of all the other OS airlines decide to start their own airline. They build the planes, ticket counters, and pave the runways themselves. They charge a small fee to cover the cost of printing the ticket, but you can also download and print the ticket yourself. When you board the plane, you are given a seat, four bolts, a wrench and a copy of the seat-HOWTO.html. Once settled, the fully adjustable seat is very comfortable, the plane leaves and arrives on time without a single problem, the in-flight meal is wonderful. You try to tell customers of the other airlines about the great trip, but all they can say is, &#8220;You had to do what with the seat?&#8221;</span></strong></li>
</ul>
<p>Source: <a href="http://webaugur.com/bibliotheca/field_stock/os-airlines.html" target="_blank">http://webaugur.com/bibliotheca/field_stock/os-airlines.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pgt.de/2009/12/11/what-if-operating-systems-were-airlines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

