<?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>Mr Blog &#187; java</title>
	<atom:link href="http://mrblog.org/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://mrblog.org</link>
	<description>Mr Blog.  Very technical, or silly, sometimes absurd.</description>
	<lastBuildDate>Wed, 16 May 2012 21:16:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Java culture rant</title>
		<link>http://mrblog.org/2010/02/04/java-culture-rant/</link>
		<comments>http://mrblog.org/2010/02/04/java-culture-rant/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:42:50 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1081</guid>
		<description><![CDATA[As some of you may know, over the last year or so I&#8217;ve been spending more time with larger and larger Java-based server-side projects (including Quick Bit Notes, Twitmart, Litetext, and iSpykee). In this process, I&#8217;ve had to &#8220;catch up&#8221; to the Java state-of-the-art and get reacquainted with the Java culture. Much of this has come with the great patience of my friend Mark Petrovic who has helped me immensely in this endeavor. It has been an overall very positive experience, to the point that Java is now my first choice starting point for server-side and web-app projects. So here&#8217;s the rant: What is it with Java tool developers that they like to &#8220;improve&#8221; their APIs in non-backwards compatible ways on a semi-regular basis? Perhaps I&#8217;ve just been &#8220;lucky&#8221; but I&#8217;ve experienced this with many of the key packages I&#8217;m using, such as Jetty, Twitter4J, and Lucene.  It&#8217;s almost like it&#8217;s part of the culture to break things, just to shake things up.  Maybe it&#8217;s a &#8220;purity&#8221; thing and they always think their API needs to be cleaner and the only way to get there is to break it (again). One of the biggest hassles that come with this culture [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you may know, over the last year or so I&#8217;ve been spending more time with larger and larger Java-based server-side projects (including <a href="http://mrblog.org/2009/10/12/introducing-quick-bit-notes/">Quick Bit Notes</a>, <a href="http://twitmart.org/">Twitmart</a>, <a href="http://mrblog.org/2009/10/26/litetext-for-rendering-text-into-a-bitmap-on-google-app-engine-java/">Litetext</a>, and <a href="http://mrblog.org/2009/03/15/ispykee-open-source-spykee-for-iphone/">iSpykee</a>).  In this process, I&#8217;ve had to &#8220;catch up&#8221; to the Java state-of-the-art and get reacquainted with the Java culture.</p>
<p>Much of this has come with the great patience of my friend <a href="http://radioae6rt.wordpress.com/">Mark Petrovic</a> who has helped me immensely in this endeavor. It has been an overall very positive experience, to the point that Java is now my first choice starting point for server-side and web-app projects.</p>
<p><strong>So here&#8217;s the rant:</strong></p>
<p><em>What is it with Java tool developers that they like to &#8220;improve&#8221; their APIs in non-backwards compatible ways on a semi-regular basis?</em></p>
<p>Perhaps I&#8217;ve just been &#8220;lucky&#8221; but I&#8217;ve experienced this with many of the key packages I&#8217;m using, such as Jetty, Twitter4J, and Lucene.  It&#8217;s almost like it&#8217;s part of the culture to break things, just to shake things up.  Maybe it&#8217;s a &#8220;purity&#8221; thing and they always think their API needs to be cleaner and the only way to get there is to break it (again).</p>
<p>One of the biggest hassles that come with this culture is that it makes it really hard to come up to speed on a tool because you have to also study the full history of it, scattered across countless message boards, blogs, and websites (oh my!).  When you run across examples showing use of the package, they often only work with the specific version of the package/tool from some point in the past. Of course these examples seldom state which version they were written for nor are they updated to bring them current to the latest version. Coming out of the blue, being new to one of these packages, it&#8217;s really hard to tell when the package diverged and in what way the rules changed.</p>
<p>It seems like every Java tool developer thinks their users are, or should be, spending every waking minute on <em>their</em> specific development-talk forum.</p>
<p>Is it just me? Am I really the only one who struggles with this?</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/02/04/java-culture-rant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing Quick Bit Notes</title>
		<link>http://mrblog.org/2009/10/12/introducing-quick-bit-notes/</link>
		<comments>http://mrblog.org/2009/10/12/introducing-quick-bit-notes/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 04:59:15 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=970</guid>
		<description><![CDATA[I&#8217;ve released Quick Bit Notes (QBN) as an experiment in an unconventional method of person-to-person asynchronous communication. One person drops off a personal note for another person. That note is stored and presented in image form to the recipient. The actual text is never stored on QBN and never transferred over the wire when the recipient views the message. QBN offers an alternative to complicated software, shared keys, and so on. All one needs to use the service is a browser and Gmail email account. The service is running on Google App Engine for Java and is available as open-source on Google code: http://code.google.com/p/quickbitnotes. It should be relatively easy to deploy in your own App Engine appspot &#8220;slot&#8221; (refer to the README in the source archive).  If you want to be an SVN contributor to the code, just let me know. In the process of developing Quick Bit Notes, I also created a small Java text-rendering library, based on NETpbm, that operates within the constraints of the Google App Engine JRE &#8220;white list&#8221;. This is a stand-alone JAR that can be used with other App Engine projects and is also available as open source on Google Code: http://code.google.com/p/litetext/ If you&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released <a href="http://quickbitnotes.appspot.com/">Quick Bit Notes </a> (QBN) as an experiment in an unconventional method of person-to-person asynchronous communication. One person drops off a personal note for another person. That note is stored and presented in image form to the recipient. The actual text is never stored on QBN and never transferred over the wire when the recipient views the message.</p>
<p><img class="alignnone size-full wp-image-978" title="twoposts" src="http://mrblog.org/wp-content/uploads/2009/10/twoposts.png" alt="twoposts" width="472" height="49" /></p>
<p>QBN offers an alternative to complicated software, shared keys, and so on. All one needs to use the service is a browser and Gmail email account.</p>
<p><img class="alignnone size-full wp-image-980" title="personal" src="http://mrblog.org/wp-content/uploads/2009/10/personal.png" alt="personal" width="548" height="90" /></p>
<p>The service is running on <a href="http://mrblog.org/2009/10/01/experimenting-with-google-appengine-for-java/">Google App Engine for Java</a> and is available as open-source on Google code: <a title="Quick notes-as-images messaging system" href="http://code.google.com/p/quickbitnotes" target="_blank">http://code.google.com/p/quickbitnotes</a>. It should be relatively easy to deploy in your own App Engine appspot &#8220;slot&#8221; (refer to the README in the source archive).  If you want to be an SVN contributor to the code, just let me know.</p>
<p><img class="alignnone size-full wp-image-985" title="encryption" src="http://mrblog.org/wp-content/uploads/2009/10/encryption.png" alt="encryption" width="526" height="76" /></p>
<p>In the process of developing Quick Bit Notes, I also created a small Java text-rendering library, based on NETpbm, that operates within the constraints of the Google App Engine JRE &#8220;white list&#8221;.  This is a stand-alone JAR that can be used with other App Engine projects and is also available as open source on Google Code: <a title="Lite Java package for rendering of text into a bitmap using simple bitmap fonts" href="http://code.google.com/p/litetext/" target="_blank">http://code.google.com/p/litetext/</a></p>
<p><img class="alignnone size-full wp-image-993" title="madrid" src="http://mrblog.org/wp-content/uploads/2009/10/madrid.png" alt="madrid" width="563" height="220" /></p>
<p>If you&#8217;ve followed along, by now you may see some applications of QBN for your own personal communications.  If you&#8217;re not seeing it yet, QBN is probably not for you, so please don&#8217;t waste your time or mine spending time on it. And, please, dear god, don&#8217;t ask me questions like &#8220;what&#8217;s the distribution strategy&#8221; or tell me all the reasons why this service will never take off and how Twitter is so much better. <img src='http://mrblog.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/10/12/introducing-quick-bit-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google App Engine adds Cron and Java</title>
		<link>http://mrblog.org/2009/04/08/google-app-engine-adds-cron-and-java/</link>
		<comments>http://mrblog.org/2009/04/08/google-app-engine-adds-cron-and-java/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 23:53:34 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=704</guid>
		<description><![CDATA[Google today announced that they will be supporting Java on their GAE cloud computing platform.  I signed up for the beta, but don&#8217;t know when/if I&#8217;ll be approved. I also saw that the platform also now includes a cron mechanism to run scheduled &#8220;jobs&#8221;, see: http://code.google.com/appengine/docs/python/config/cron.html This could change things.  It will be interesting to see how (if?) Amazon responds.]]></description>
			<content:encoded><![CDATA[<p>Google today announced that they will be supporting Java on their GAE cloud computing platform.  I signed up for the beta, but don&#8217;t know when/if I&#8217;ll be approved.</p>
<p>I also saw that the platform also now includes a cron mechanism to run scheduled &#8220;jobs&#8221;, see: <a href="http://code.google.com/appengine/docs/python/config/cron.html">http://code.google.com/appengine/docs/python/config/cron.html</a></p>
<p>This could change things.  It will be interesting to see how (if?) Amazon responds.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/04/08/google-app-engine-adds-cron-and-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

