<?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>Sean Coughlan - thecentric &#187; Java Gnome</title>
	<atom:link href="http://www.thecentric.com/category/java-gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thecentric.com</link>
	<description>all things centric to me</description>
	<lastBuildDate>Thu, 04 Dec 2008 10:46:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java-Gnome Developer</title>
		<link>http://www.thecentric.com/2006/09/17/java-gnome-developer/</link>
		<comments>http://www.thecentric.com/2006/09/17/java-gnome-developer/#comments</comments>
		<pubDate>Sun, 17 Sep 2006 06:31:30 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=93</guid>
		<description><![CDATA[Got my Java-Gnome developer status a few days ago, took me until now to get around to committing my first couple  of patches.
Spent a while investigating a more &#8220;accepted&#8221; open source friendly development environment &#8211; but fell back to IntelliJ in the end with my own simple C syntax highlighting. I figure they&#8217;re plenty [...]]]></description>
			<content:encoded><![CDATA[<p>Got my Java-Gnome developer status a few days ago, took me until now to get around to committing my <a href="http://bugzilla.gnome.org/show_bug.cgi?id=341682">first</a> <a href="http://bugzilla.gnome.org/show_bug.cgi?id=350091">couple</a>  of patches.</p>
<p>Spent a while investigating a more &#8220;accepted&#8221; open source friendly development environment &#8211; but fell back to IntelliJ in the end with my own simple C syntax highlighting. I figure they&#8217;re plenty <a href="http://www.jetbrains.com/idea/opensource/opensource.html">friendly</a> anyways.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/09/17/java-gnome-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libeds-java 0.5</title>
		<link>http://www.thecentric.com/2006/04/28/libeds-java-05/</link>
		<comments>http://www.thecentric.com/2006/04/28/libeds-java-05/#comments</comments>
		<pubDate>Fri, 28 Apr 2006 11:31:10 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=61</guid>
		<description><![CDATA[I&#8217;m very proud and happy to annouce the first public release of my Evolution Data Server Java bindings. The Evolution Data Server provides a single desktop-wide database for a user&#8217;s address book, calendar events and tasks. libeds-java 0.5 has a complete address book binding. The source for this release is available below; It includes examples [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very proud and happy to annouce the first public release of my Evolution Data Server Java bindings. The Evolution Data Server provides a single desktop-wide database for a user&#8217;s address book, calendar events and tasks. libeds-java 0.5 has a complete address book binding. The source for this release is available below; It includes examples and javadocs.</p>
<p><a href="http://www.thecentric.com/resources/libeds-java-0.5.tar.gz">http://www.thecentric.com/resources/libeds-java-0.5.tar.gz</a></p>
<p>This requires glib-java and libgtk-java to build. You can get those <a href="http://java-gnome.sourceforge.net/cgi-bin/bin/view/Main/GetJavaGnome">here</a>. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/04/28/libeds-java-05/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The libebook Weekend</title>
		<link>http://www.thecentric.com/2006/03/21/the-libebook-weekend/</link>
		<comments>http://www.thecentric.com/2006/03/21/the-libebook-weekend/#comments</comments>
		<pubDate>Tue, 21 Mar 2006 03:00:57 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>
		<category><![CDATA[Weekends]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=57</guid>
		<description><![CDATA[A long weekend just passed, with Paddys Day falling on the friday. So I got three days of substantial enough coding in. My time was spent refamilarising myself with jni by writing Java bindings to the evolution libebook library and to a lesser extent the libedataserver library. It was very successful, by Sunday I had [...]]]></description>
			<content:encoded><![CDATA[<p>A long weekend just passed, with Paddys Day falling on the friday. So I got three days of substantial enough coding in. My time was spent refamilarising myself with jni by writing Java bindings to the evolution libebook library and to a lesser extent the libedataserver library. It was very successful, by Sunday I had my Java Gnome Contacts application reflecting evolution. With some documentation, feature completition work, examples and memory management I may even have something useful to pass on.</p>
<p>Also, spent some time getting gallery2 and mediawiki up onto thecentric. Chrikey; CSS is a nightmare. Everything was going fine until I opened this site up in I.E. &#8211; the css tip: margin 0px !important was invaluable for fixing relative positioning differences between firefox and I.E.</p>
<p>Had a drink with moley in the dandelion on St. Stephens green. Expensive Smithwicks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/03/21/the-libebook-weekend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Gnome Contacts &#8211; 0.0.1 Preview deb</title>
		<link>http://www.thecentric.com/2006/03/10/java-gnome-contacts-001-preview-deb/</link>
		<comments>http://www.thecentric.com/2006/03/10/java-gnome-contacts-001-preview-deb/#comments</comments>
		<pubDate>Fri, 10 Mar 2006 04:56:26 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=52</guid>
		<description><![CDATA[I&#8217;ve created my first .deb binary! It&#8217;s a preview release of my contacts application and depends on java-gnome or more preciously libgnome-java (>= 2.12.1-0ubuntu1) &#8211; which can be installed using the repository below. On Ubuntu: breezy/dapper add
deb http://www.natemccallum.com/uploads/debs/ ./
to your /etc/apt/sources.list and run
apt-get install libgtk-java libgnome-java libglade-java libgconf-java
Once you&#8217;re set up with java gnome download [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created my first .deb binary! It&#8217;s a preview release of my contacts application and depends on java-gnome or more preciously libgnome-java (>= 2.12.1-0ubuntu1) &#8211; which can be installed using the repository below. On Ubuntu: breezy/dapper add<br/></p>
<pre>deb http://www.natemccallum.com/uploads/debs/ ./</pre>
<p>to your /etc/apt/sources.list and run</p>
<pre>apt-get install libgtk-java libgnome-java libglade-java libgconf-java</pre>
<p>Once you&#8217;re set up with java gnome download <a href="/resources/java-gnome-contacts-0.0.1preview.deb">contacts</a> and run:</p>
<pre>dpkg -i java-gnome-contacts-0.0.1preview.deb</pre>
<p>The command JavaGnomeContacts should start the application &#8211; let me know if it works!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/03/10/java-gnome-contacts-001-preview-deb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Contacts, GCJ, Retroweaver</title>
		<link>http://www.thecentric.com/2006/03/09/contacts-gcj-retroweaver/</link>
		<comments>http://www.thecentric.com/2006/03/09/contacts-gcj-retroweaver/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 19:06:26 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=51</guid>
		<description><![CDATA[I spent some time today getting my Java Gnome Contacts application compiling and running with GCJ. It went really well in the end; but there were lots of gotchas that I&#8217;d like to talk digress into.
Firstly I decided to prioritize this over feature additions as a result of a quick communication with a Java Gnome [...]]]></description>
			<content:encoded><![CDATA[<p>I spent some time today getting my Java Gnome Contacts application compiling and running with GCJ. It went really well in the end; but there were lots of gotchas that I&#8217;d like to talk digress into.</p>
<p>Firstly I decided to prioritize this over feature additions as a result of a quick communication with a Java Gnome hacker. The spirit of getting Java Gnome applications running with gcj is obvious&#8230; Free Software. I&#8217;ve taken this to heart; and will endeavour to have an automated gcj build of my apps alongside all my future Java Gnome development.</p>
<p>Contacts uses Java 1.5 language features. I&#8217;m not going to change this as I like my for each loops and my generics too much. Given that gcj does not currently support 1.5, I first looked into <a href="http://retroweaver.sf.net/">Retroweaver</a> as a means to get my 1.5 classes to a 1.4 binary compatibility state. </p>
<p>After placing the Retroweaver library in my ant/lib directory, I run the following ant target.</p>
<pre>
&lt;target name="retroweave"&gt;
    &lt;taskdef name="retroweaver"
             classname="com.rc.retroweaver.ant.RetroWeaverTask"/&gt;
    &lt;retroweaver classpathref="modular-build.path"&gt;
        &lt;fileset dir="${modular-build.dir}"&gt;
            &lt;include name="**/*.class"/&gt;
        &lt;/fileset&gt;
    &lt;/retroweaver&gt;
&lt;/target&gt;</pre>
<p>presuming<br />
Where ${modular-build.dir} is the root of my modular build folder&#8230; essentially containing my existing 1.5 classes and modular-build.path is a classpath reference to a list of package dependencies &#8211; jdom / junit / commons-codec / java gnome  / etc&#8230;</p>
<p>It worked perfectly after making a number of code changes:</p>
<ul>
<li>Removing all String.contains calls; I replaced with a StringUtils.contains() call</li>
<li>Removing all String.replace(CharSequence target, CharSequence replacement) calls; I replaced with the regex replace method</li>
<li>I was using the BASE64Encoder class in sun.misc; Instead I replaced with commons-codec calls</li>
</ul>
<p>It successfully reports weaving and verifying X number of classes; so I trust it &#8211; and move on to getting a gcj target up and running. Gcj will take and compile java source files; but in my case I&#8217;ve already got compiled classes&#8230; which isn&#8217;t a problem as gcj will happilly support classes as input too.</p>
<p>To make things easy on myself the next target was actually a jar task that packages all my little modules into one grand java-gnome-contacts-all.jar</p>
<p>I&#8217;m new to gcj; so finding the correct damned compile command took me a while. When using gcj 3.x.x one needs to compile all package dependencies as shared libraries with something like the following command:</p>
<pre>gcj -shared jdom.jar -o libjdom-1.0.so</pre>
<p>&#8230; and then in turn link against the libjdom-1.0.so with -ljdom-1.0 when you&#8217;re compiling your own application. The dream turns into a nightmare when you realize you also need jaxen which depends on xom/dom4j/xerces and all those in turn have their own dependencies. What I didn&#8217;t realise was gcj 4.x.x has a cool magic flag -findirect-dispatch which according to the man page when used: &#8221; the resulting object files do not need to be directly linked against their dependencies. Instead, all dependencies are looked up at runtime.&#8221; Now I&#8217;ll be honest and dont fully understand what looked up at runtime means &#8211; but I&#8217;m presuming that as long as the package dependency jar is in the CLASSPATH at runtime &#8211; all will work fine.</p>
<p>In the end the gcj compile command was as simple as the following:</p>
<pre>gcj --main=com.excentric.contacts.Main java-gnome-contacts-all.jar
-findirect-dispatch -o JavaGnomeContacts</pre>
<p>I have resources that I need in a relative working directory&#8230; so once I place the binary just beneath the resources directory and export my CLASSPATH correctly&#8230; Java Gnome Conacts runs&#8230; Wahey!</p>
<p>All in all, I&#8217;m very impressed with both Retroweaver and obviously more so gcj. I can now see a path to where I can throw a contacts binary into a local apt repository and expose it to the world.</p>
<p>On a side note: contacts currently uses java serialization to persist until I settle on a db. (<a href="http://www.db4o.com/">db4o</a> is what I&#8217;m going to look at next, recommended to me by Java Gnome&#8217;s AfC) And it appears that the serialization and deserializationis is very slow in gcj compared to when I run it under a jvm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/03/09/contacts-gcj-retroweaver/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Gnome Contacts &#8211; Preview 0.0.1 Upload</title>
		<link>http://www.thecentric.com/2006/03/08/java-gnome-contacts-preview-001-upload/</link>
		<comments>http://www.thecentric.com/2006/03/08/java-gnome-contacts-preview-001-upload/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 13:50:24 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=49</guid>
		<description><![CDATA[I&#8217;ve uploaded a preview of Java Gnome Contacts here. Its a linux binary and requires you&#8217;re running Gnome 2.12 at least. Try it out! I dare you!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve uploaded a preview of Java Gnome Contacts <a href="http://www.thecentric.com/resources/JavaGnomeContacts-0.0.1.sh">here</a>. Its a linux binary and requires you&#8217;re running Gnome 2.12 at least. Try it out! I dare you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/03/08/java-gnome-contacts-preview-001-upload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Gnome Contacts &#8211; Preview Screenshots</title>
		<link>http://www.thecentric.com/2006/03/07/47/</link>
		<comments>http://www.thecentric.com/2006/03/07/47/#comments</comments>
		<pubDate>Tue, 07 Mar 2006 01:59:57 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/?p=47</guid>
		<description><![CDATA[I&#8217;ve finally got around to putting some polish on my Java Gnome Contacts application. Screenshots below! Drag and Drop from evolution works. Export and Import vcards. Full 2.1 VCard parser implementation. Gets very slow with alot of contacts&#8230; performance &#038; bug searching next&#8230; then maybe some binaries!








If anyone is actually reading this and wants to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally got around to putting some polish on my Java Gnome Contacts application. Screenshots below! Drag and Drop from evolution works. Export and Import vcards. Full 2.1 VCard parser implementation. Gets very slow with alot of contacts&#8230; performance &#038; bug searching next&#8230; then maybe some binaries!</p>
<div align="center"><a href="http://www.thecentric.com/wp-content/Screenshot-Java%20Gnome%20Contacts.png"><img src="http://www.thecentric.com/wp-content/_Screenshot-Java%20Gnome%20Contacts.png" width="166" height="250" alt="" title=""  /></a></div>
<p><br/></p>
<div align="center"><a href="http://www.thecentric.com/wp-content/Screenshot-Java%20Gnome%20Contacts-1.png"><img src="http://www.thecentric.com/wp-content/_Screenshot-Java%20Gnome%20Contacts-1.png" width="247" height="250" alt="" title=""  /></a></div>
<p><br/></p>
<div align="center"><a href="http://www.thecentric.com/wp-content/Screenshot-Java%20Gnome%20Contacts-2.png"><img src="http://www.thecentric.com/wp-content/_Screenshot-Java%20Gnome%20Contacts-2.png" width="247" height="250" alt="" title=""  /></a></div>
<p><br/></p>
<div align="center"><a href="http://www.thecentric.com/wp-content/Screenshot-Java%20Gnome%20Contacts-3.png"><img src="http://www.thecentric.com/wp-content/_Screenshot-Java%20Gnome%20Contacts-3.png" width="247" height="250" alt="" title=""  /></a></div>
<p><br/></p>
<p>If anyone is actually reading this and wants to take a look at the source&#8230; drop me a <a href="mailto:excentric@gmail.com">mail</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2006/03/07/47/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java-Gnome Contacts</title>
		<link>http://www.thecentric.com/2005/11/03/java-gnome-contacts/</link>
		<comments>http://www.thecentric.com/2005/11/03/java-gnome-contacts/#comments</comments>
		<pubDate>Fri, 04 Nov 2005 00:11:50 +0000</pubDate>
		<dc:creator>Sean Coughlan</dc:creator>
				<category><![CDATA[Java Gnome]]></category>

		<guid isPermaLink="false">http://www.thecentric.com/wordpress/?p=34</guid>
		<description><![CDATA[I&#8217;m just back looking at Java-Gnome. It&#8217;s been over a year, I believe, since I last hacked it. I had to make small changes to JBalorsEye and JetGet, my two small Java-Gnome applications, to get them to work well with the latest release. There were no readily available binary releases, so compiling from source was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just back looking at Java-Gnome. It&#8217;s been over a year, I believe, since I last hacked it. I had to make small changes to JBalorsEye and JetGet, my two small Java-Gnome applications, to get them to work well with the latest release. There were no readily available binary releases, so compiling from source was fun also.</p>
<p>I&#8217;ve been leveraging my work at NewBay, to do with Phone/PDA/Groupware Client Contact and Calander Synchronisation, to create a simple Contact Management Application. The only Gnome2 standalone contact application seems to be rubrica. Which is very nice, however I believe I could catch up with a bit of work. I&#8217;ve mimicked the Beagle UI for display and search.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecentric.com/2005/11/03/java-gnome-contacts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
