<?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>Blog.Project13.pl &#187; gwt</title>
	<atom:link href="http://www.blog.project13.pl/index.php/tag/gwt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.project13.pl</link>
	<description>The Blog of a Coder</description>
	<lastBuildDate>Sun, 05 Feb 2012 02:28:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>props2xls &#8211; GWT i18n Properties to Google Spreadsheet uploader</title>
		<link>http://www.blog.project13.pl/index.php/coding/808/props2xls-gwt-i18n-properties-to-google-spreadsheet-uploader/</link>
		<comments>http://www.blog.project13.pl/index.php/coding/808/props2xls-gwt-i18n-properties-to-google-spreadsheet-uploader/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 02:12:41 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[jee]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=808</guid>
		<description><![CDATA[!UPDATED POST &#8211; see bellow! As I&#8217;ve been recently given a task to &#8220;copy &#38; paste&#8221; all our properties into an specific document on google docs &#8211; that the client wanted to use in order to translate these properties into other languages. Of course I decided NOT to do this by hand &#8211; but script [...]]]></description>
			<content:encoded><![CDATA[<p><strong>!UPDATED POST &#8211; see bellow!</strong></p>
<p>As I&#8217;ve been recently given a task to &#8220;copy &amp; paste&#8221; all our properties into an specific document on <strong>google docs</strong> &#8211; that the client wanted to use in order to translate these properties into other languages. Of course <strong>I decided NOT to do this by hand</strong> &#8211; but script it &#8211; and that&#8217;s how <strong>props2xls </strong>came to be.</p>
<p>It&#8217;s an Groovy + Java app that traverses an directory searching for *.properties files, and then matches their names together &#8211; and extracts their Locale from the filenames. Next, those strings are uploaded into an specified Google Spreadsheet. You can use any google account + password anc choose which spreadsheet/worksheet should be filled out with your data.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RneIPxq9qLs?fs=1&amp;hl=en_US&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/RneIPxq9qLs?fs=1&amp;hl=en_US&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Note that the bottleneck here is the inserting into the Spreadsheet. <strong>This can be easily and very much improved as one may use Batch inserts. </strong>But as it&#8217;s just a proof-of-contept, I didn&#8217;t actually care for the time being ;-)<strong><br />
</strong></p>
<p>Here are some useful links if this post got you interested in this API:</p>
<ul>
<li><a href="http://code.google.com/p/gdata-java-client/" onclick="urchinTracker('/outgoing/code.google.com/p/gdata-java-client/?referer=');">http://code.google.com/p/gdata-java-client/</a></li>
<li><a href="http://code.google.com/apis/gdata/" onclick="urchinTracker('/outgoing/code.google.com/apis/gdata/?referer=');">http://code.google.com/apis/gdata/articles/java_client_lib.html#linux</a></li>
</ul>
<p>As all programmers&#8230; you&#8217;d also probably want to check out the source &#8211; <a href="http://github.com/ktoso/props2xls" onclick="urchinTracker('/outgoing/github.com/ktoso/props2xls?referer=');">so here (on github) it is</a>. But be warned, it&#8217;s very low quality as it&#8217;s just been hacked on for a few hours today at night (after midnight&#8230; ;-)).</p>
<p>&#8212;- the UPDATE &#8212;-</p>
<p>As you&#8217;ve probably noticed. In the first version I was using cell-by-cell updated. Each of them would fire an HttpRequest&#8230; And that is very expensive. So&#8230; I&#8217;ve rewritten some of the code to enable <strong>Batch updates</strong>. Goodle APIs support is quite well and I&#8217;m happy with the end result (as seen in the above movie).</p>
<p>There is a bug in the Java Client Library from 2.0 up though&#8230; When creating the SpreadsheetService use the following code, or you&#8217;ll <a href="//bug workaround! http://code.google.com/p/gdata-java-client/issues/detail?id=103">run into some weird bugs at runtime</a>:</p>
<div class="geshi no java">
<div class="head">//note line 3 here</div>
<ol>
<li class="li1">
<div class="de1">service = <span class="kw2">new</span> SpreadsheetService<span class="br0">&#40;</span><span class="st0">&quot;Props-2-Xls&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">service.<span class="me1">setUserCredentials</span><span class="br0">&#40;</span>username, password<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//bug workaround! http://code.google.com/p/gdata-java-client/issues/detail?id=103</span></div>
</li>
<li class="li1">
<div class="de1">service.<span class="me1">setProtocolVersion</span><span class="br0">&#40;</span>SpreadsheetService.<span class="me1">Versions</span>.<span class="me1">V1</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>PS: One might call it an proof-of-concent, as the code is quite ugly but it was written in about 3-4hours. And will probably spare us a lot of time if some client wants to translate our properties once again&#8230; ;-)</p>
<p>PPS: Did you know that on the <em>netbeans.edu.pl</em> website, I used the <strong>Google Data API for Picasa</strong> to develop <a href="http://www.netbeans.edu.pl/gallery" onclick="urchinTracker('/outgoing/www.netbeans.edu.pl/gallery?referer=');">the gallery</a>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/coding/808/props2xls-gwt-i18n-properties-to-google-spreadsheet-uploader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT Firefox 3.6+ plugin on 64bit Fedora 13</title>
		<link>http://www.blog.project13.pl/index.php/coding/760/gwt-firefox-3-6-plugin-on-64bit-fedora-13/</link>
		<comments>http://www.blog.project13.pl/index.php/coding/760/gwt-firefox-3-6-plugin-on-64bit-fedora-13/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 12:17:49 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[xsolve]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=760</guid>
		<description><![CDATA[Hi again, this time a short code snippet &#8211; but a very useful one. At work I&#8217;m working on an Ubuntu 10.4 (love you guys for getting me a PC with Linux without making a fuss about it!) my laptop is on Fedora 13 i586 and my home PC is running Fedora 13 x64. Thank [...]]]></description>
			<content:encoded><![CDATA[<p>Hi again, this time a short code snippet &#8211; but a very useful one.</p>
<p>At work I&#8217;m working on an Ubuntu 10.4 (<em>love you guys for getting me a PC with Linux without making a fuss about it!</em>) my laptop is on Fedora 13 i586 and my home PC is running <strong>Fedora 13 x64</strong>. Thank goodnes they&#8217;re all linux&#8230; ;-) The problem <span style="text-decoration: line-through;">is</span> was that the <strong>Google Web Toolkit</strong> plugin isn&#8217;t working with Firefox 3.6.4 on an x64 system on linux! So&#8230; can&#8217;t I develop GWT stuff on my super powerful home PC? Of course I can, the only thing I needed to do, is to get the latest sources for the plugin and <strong>compile it for myself</strong> ;-) Here&#8217;s how:</p>
<div class="geshi no bash">
<div class="head">mkdir gwt-source</div>
<ol>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> gwt-<span class="kw3">source</span></div>
</li>
<li class="li1">
<div class="de1">svn checkout http:<span class="sy0">//</span>google-web-toolkit.googlecode.com<span class="sy0">/</span>svn<span class="sy0">/</span>trunk<span class="sy0">/</span> trunk</div>
</li>
<li class="li1">
<div class="de1">svn checkout http:<span class="sy0">//</span>google-web-toolkit.googlecode.com<span class="sy0">/</span>svn<span class="sy0">/</span>plugin-sdks<span class="sy0">/</span> plugin-sdks</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">cd</span> trunk<span class="sy0">/</span>plugins<span class="sy0">/</span>xpcom</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">export</span> <span class="re2">BROWSER=</span>ff36</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">export</span> <span class="re2">DEFAULT_FIREFOX_LIBS=</span><span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>xulrunner-devel<span class="nu0">-1.9</span><span class="nu0">.2</span><span class="sy0">/</span>sdk<span class="sy0">/</span>lib<span class="sy0">/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">make</span> clean</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">make</span></div>
</li>
<li class="li1">
<div class="de1">firefox prebuilt<span class="sy0">/</span>gwt-dev-plugin.xpi</div>
</li>
</ol>
</div>
<p>And we&#8217;re done &#8212; off to GWT development!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/coding/760/gwt-firefox-3-6-plugin-on-64bit-fedora-13/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Current small project: GWT-Crossword</title>
		<link>http://www.blog.project13.pl/index.php/fun/383/current-small-project-gwt-crossword/</link>
		<comments>http://www.blog.project13.pl/index.php/fun/383/current-small-project-gwt-crossword/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 00:27:55 +0000</pubDate>
		<dc:creator>Ktoso</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[jee]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[webdeveloper]]></category>

		<guid isPermaLink="false">http://www.blog.project13.pl/?p=383</guid>
		<description><![CDATA[I am currently working on a simple but still quite fun/interesting (as is any project with a new framework :-)) webapp using Google Web Toolkit (it&#8217;s basically Google&#8217;s JEE framework for creating RIA). The webapp is an online crossword generator. The goal is to provide crosswords online and allow users solving them online with a [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently working on a simple but still quite fun/interesting (as is any project with a new framework :-)) webapp using <a href="http://code.google.com/intl/pl/webtoolkit/" onclick="urchinTracker('/outgoing/code.google.com/intl/pl/webtoolkit/?referer=');"><strong>Google Web Toolkit</strong></a> (it&#8217;s basically Google&#8217;s JEE framework for creating <a href="http://en.wikipedia.org/wiki/Rich_Internet_application" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Rich_Internet_application?referer=');">RIA</a>). The webapp is an online crossword generator. The goal is to provide crosswords online and allow users solving them online with a nice and intuitive GUI etc&#8230; It would be cool if I&#8217;d manage to create this as an &#8220;embed on any website&#8221; script, but I can&#8217;t guarantee this functionality.</p>
<p>I&#8217;m coding this project to get used to some of the basic <strong><acronym title="Java Enterprise Edition">JEE</acronym></strong> stuff, such as <a href="https://www.hibernate.org/" onclick="urchinTracker('/outgoing/www.hibernate.org/?referer=');"><strong>Hibernate</strong></a> for example (it is quite amazing and very <em>elegant</em> &#8211; especially HQL), and to have a good time while coding in Java&#8230;</p>
<p>The source is avaiable under the AGPLv3 on github: <a href="http://github.com/ktoso/gwt-crossword" onclick="urchinTracker('/outgoing/github.com/ktoso/gwt-crossword?referer=');">http://github.com/ktoso/gwt-crossword</a><br />
At some places it is still a mess so please keep in mind that it&#8217;s still under initial development (and I&#8217;m having a tough time at the uni and can&#8217;t code gwt-crossword everyday :\), that aside, feel free to take a look on the source!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.project13.pl/index.php/fun/383/current-small-project-gwt-crossword/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

