<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17715831</id><updated>2012-02-16T13:17:35.901Z</updated><title type='text'>Pontifications on code</title><subtitle type='html'>A developer pontificates (for is that not what a pontiff does) on coding and the like.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17715831.post-4511102968549259589</id><published>2010-05-08T07:17:00.002+01:00</published><updated>2010-05-08T07:20:03.164+01:00</updated><title type='text'>Strangeness is.....</title><content type='html'>Blogger telling me this blog in "confirmed as in violation of our Terms of Service for: NONE. In accordance to these terms, we've removed the blog and the URL is no longer accessible."&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you can see, because of NONE, we are still here, but wouldn't it be nice if the folks at Blogger learnt about the "if" statement?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if violations==NONE&lt;/div&gt;&lt;div&gt;        send "We've restored your blog mail"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There Blogger, I fixes it for you. Simples!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4511102968549259589?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4511102968549259589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4511102968549259589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4511102968549259589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4511102968549259589'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2010/05/strangeness-is.html' title='Strangeness is.....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-5623667238243585310</id><published>2008-07-26T12:58:00.001+01:00</published><updated>2008-07-26T12:58:20.030+01:00</updated><title type='text'>10 points for redefining "Hello World" in Java</title><content type='html'>Some code we never go back to. Like Java's Hello World... it has a main method which takes arguments and it always looks a little daunting. &lt;a href="http://www.cavdar.net/2008/07/26/say-hello-world-without-main-method-in-java/"&gt;At Cavdar.net someone had a bright idea&lt;/a&gt; and uses a static initialiser block to print "Hello World", and then promptly exits to stop the JVM looking for the main method and giving an error. I, for one, welcome our new "Hello World" overlords...&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-5623667238243585310?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/5623667238243585310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=5623667238243585310' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/5623667238243585310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/5623667238243585310'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/10-points-for-redefining-world-in-java.html' title='10 points for redefining &amp;quot;Hello World&amp;quot; in Java'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-7499146786365760971</id><published>2008-07-14T08:45:00.001+01:00</published><updated>2008-07-14T08:45:34.710+01:00</updated><title type='text'>Thrift, the other interconnection protocol....</title><content type='html'>How did I manage to miss Thrift. Released a year ago by Facebook, it's very similar to Google's Protocol Buffers, so &lt;a href="http://stuartsierra.com/2008/07/10/thrift-vs-protocol-buffers"&gt;this comparison by Stuart Sierra&lt;/a&gt; puts meat on those bones. &lt;br /&gt;&lt;br /&gt;There's only one way to resolve this... PROTOCOL FIIIIIIIGHT.&lt;br /&gt;&lt;br /&gt;Actually, Thrift looks nice with more languages supported too and now Thrift is in incubation as an Apache project. &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-7499146786365760971?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/7499146786365760971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=7499146786365760971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7499146786365760971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7499146786365760971'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/thrift-other-interconnection-protocol.html' title='Thrift, the other interconnection protocol....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-8815025538480996754</id><published>2008-07-11T09:33:00.001+01:00</published><updated>2008-07-11T09:33:21.547+01:00</updated><title type='text'>A Coder Sighs....</title><content type='html'>Well, I had been working away on Pocket Lendery for the iPhone, and it was coming along nicely but what with me getting a proper job and all, it had slipped a bit.&lt;br /&gt;&lt;br /&gt;And then the iPhone App Store opened and there was &lt;a href="http://www.codingmonkeys.de/circulator/"&gt;Circulator&lt;/a&gt; from the fine chaps at Coding Monkeys. Circulator looks like a fine app and just reminds me of some things I forgot from my spec.&lt;br /&gt;&lt;br /&gt;Still, there's plenty of code in the Pocket Lendery code base, and I'll keep on working on it till it scratches my own itch. I will then release it as an open sourced project (unless you are reading this, are an iPhone coder or want to be, and want to help on the project in which case, mail me)...&lt;br /&gt;&lt;br /&gt;I can't think of a better way to keep the Coding Monkeys on their toes than having an open source project snapping at their heels.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-8815025538480996754?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/8815025538480996754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=8815025538480996754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8815025538480996754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8815025538480996754'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/coder-sighs.html' title='A Coder Sighs....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-7937337672009749204</id><published>2008-07-09T08:45:00.001+01:00</published><updated>2008-07-09T08:45:53.310+01:00</updated><title type='text'>Google Browser Sync open sourced....</title><content type='html'>Google Browser Sync, or at least the client part, has been &lt;a href="http://google-opensource.blogspot.com/2008/07/open-sourcing-browser-sync.html"&gt;open sourced&lt;/a&gt;. I think the idea of porting the server to Google App Engine has potential, but lets see how the community builds around it first. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-7937337672009749204?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/7937337672009749204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=7937337672009749204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7937337672009749204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7937337672009749204'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/google-browser-sync-open-sourced.html' title='Google Browser Sync open sourced....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2340551057875709856</id><published>2008-07-08T12:00:00.001+01:00</published><updated>2008-07-08T12:00:02.070+01:00</updated><title type='text'>Google Protocol Buffers</title><content type='html'>Google squirt a lot of data internally between a lot of different services written in different languages. The data format between these services has been tricky to manage. The default response is "use XML" but XML makes the data bigger and more costly to parse. Google's solution is &lt;a href="http://code.google.com/p/protobuf/"&gt;Google Protocol Buffers&lt;/a&gt;. Create a .proto file to describe the data contained by a message you want to pass. Run a compiler and you get the Java, Python or C++ code you need to read and write messages with that protocol. Now go wire up your services. All under an Apache 2.0 License. Worth checking out; and it'll be interesting to see how long before that range of languages supported expands.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2340551057875709856?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2340551057875709856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2340551057875709856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2340551057875709856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2340551057875709856'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/google-protocol-buffers.html' title='Google Protocol Buffers'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2272611765834955991</id><published>2008-07-03T15:17:00.001+01:00</published><updated>2008-07-03T15:17:09.376+01:00</updated><title type='text'>Things that suck - unselectable dialog text...</title><content type='html'>I think anyone who makes a dialog window pop up with text along the lines of "Something hasn't worked, see http://example.org/blah/blah/blah for more details" and then makes the URL non clickable and also makes the text unselectable so the user can't copy and paste, needs to have control-C/control-V disabled on their computers and see how they like it.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2272611765834955991?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2272611765834955991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2272611765834955991' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2272611765834955991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2272611765834955991'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/07/things-that-suck-unselectable-dialog.html' title='Things that suck - unselectable dialog text...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-1243668403871316438</id><published>2008-06-24T13:11:00.001+01:00</published><updated>2008-06-24T13:11:37.684+01:00</updated><title type='text'>JSqueak.... Smalltalk in Java</title><content type='html'>It's small (5000 lines of code), it's MIT licensed, it has a development environment, it runs 10-30 times slower than a C based VM, but hey, it looks like fun. It's &lt;a href="http://news.squeak.org/2008/06/21/jsqueak-smalltalk-interpreter-written-in-java/"&gt;JSqueak&lt;/a&gt;, a Squeak interpreter written in Java.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-1243668403871316438?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/1243668403871316438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=1243668403871316438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/1243668403871316438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/1243668403871316438'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/06/jsqueak-smalltalk-in-java.html' title='JSqueak.... Smalltalk in Java'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-6562432008516195784</id><published>2008-06-06T15:23:00.001+01:00</published><updated>2008-06-06T15:23:44.604+01:00</updated><title type='text'>LinkedIn's Architecture....</title><content type='html'>This &lt;a href="http://www.slideshare.net/linkedin/linkedins-communication-architecture"&gt;slideshow&lt;/a&gt; of LinkedIn's JavaOne presentation has some interesting things to take away....&lt;br /&gt;&lt;br /&gt;22 million users.&lt;br /&gt;&lt;br /&gt;A 12GB JVM heap in "The Cloud" which holds 120 million connections between those users with in memory caching implemented in C++ and accessed through JNI.&lt;br /&gt;&lt;br /&gt;99% Java implementation.&lt;br /&gt;&lt;br /&gt;And an architecture that has evolved to scale. (Hey Twitter, take a look?)&lt;br /&gt;&lt;br /&gt;Nice work LinkedIn.&lt;br /&gt;&lt;br /&gt;(via &lt;a href="http://rollerweblogger.org/roller/entry/linkedin_99_pure_java"&gt;Blogging Roller&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-6562432008516195784?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/6562432008516195784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=6562432008516195784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/6562432008516195784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/6562432008516195784'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/06/linkedin-architecture.html' title='LinkedIn&amp;#39;s Architecture....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-8053314312016482771</id><published>2008-06-04T13:26:00.001+01:00</published><updated>2008-06-04T13:26:51.007+01:00</updated><title type='text'>Like drawing up your application designs?</title><content type='html'>If you do, you'll love &lt;a href="http://developer.yahoo.com/ypatterns/wireframes/"&gt;Yahoo's Design Stencil Kit&lt;/a&gt;. Coming in Omnigraffle, Visio, PDF, PNG and SVG formats, it's a whole host of goodies for sketching out your app in your favourite digital notepad. The stencils under a Creative Commons attribution license, but &lt;a href="http://developer.yahoo.net/blog/archives/2008/06/yahoo_design_st.html"&gt;attribution on created diagrams is optional&lt;/a&gt;. So, no excuse for dodgy diagrams any more.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-8053314312016482771?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/8053314312016482771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=8053314312016482771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8053314312016482771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8053314312016482771'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/06/like-drawing-up-your-application.html' title='Like drawing up your application designs?'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2770514668006002295</id><published>2008-05-31T13:35:00.001+01:00</published><updated>2008-05-31T13:35:52.227+01:00</updated><title type='text'>Epictetus - A Java Database Explorer....</title><content type='html'>I haven't played with it yet but &lt;a href="http://antilogics.com/epictetus.html"&gt;Epictetus&lt;/a&gt; looks like a competent Java based database explorer. It is built on the Netbeans platform, but you don't need Netbeans to run it. Note though it is still early days for this application.&lt;br /&gt;&lt;br /&gt;Why the mention? Well, I went and looked at the fuzzy little video there. No strange voice talking over it. Just MC Hammer's Can't Touch This... I was off looking for my big trousers in seconds.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2770514668006002295?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2770514668006002295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2770514668006002295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2770514668006002295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2770514668006002295'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/05/epictetus-java-database-explorer.html' title='Epictetus - A Java Database Explorer....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-4234303806069522517</id><published>2008-05-22T14:59:00.001+01:00</published><updated>2008-05-22T15:01:39.918+01:00</updated><title type='text'>A thought... Annotated licenses....</title><content type='html'>When mixing code libraries together, wouldn't it be neat to be able to enumerate all the licenses that applied to the code base.&lt;br /&gt;&lt;br /&gt;How about an @License annotation?&lt;br /&gt;&lt;br /&gt;@License(name="MyNeatLibrary",type="BSD",author="Blah Blah Inc")&lt;br /&gt;@License(name="IrregularExpression Library",type="CCattrib",attrib="Fred Flintstone",attribemail="fred@example.com",attriburl="http://example.com")&lt;br /&gt;&lt;br /&gt;At run time, the "About" dialog then scans the code base for the annotations, which would be set to runtime persist, and then display about information based on what is actually used. &lt;br /&gt;&lt;br /&gt;It wouldn't attempt to enforce the licenses, but would allow for automatic visibility of licenses.&lt;br /&gt;&lt;br /&gt;Of course, this would have to be done in some coordinated way to standardise the types and attributes, but it has some potential... just as long as we don't end up with per-method licenses. &lt;br /&gt;&lt;br /&gt;[ This thought caused by following &lt;a href="http://twitter.com/mattgemmell"&gt;Matt Gemmell&lt;/a&gt; on Twitter ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4234303806069522517?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4234303806069522517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4234303806069522517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4234303806069522517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4234303806069522517'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/05/thought-annotated-licenses.html' title='A thought... Annotated licenses....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-4443726196753777983</id><published>2008-05-05T15:26:00.001+01:00</published><updated>2008-05-05T15:26:36.507+01:00</updated><title type='text'>Finally, an end of Time (and Date)</title><content type='html'>Top of the list of things that any Java developer can agree, sucks like a sucky thing from suckington, suckania, it's Date and Time. These have never got better, and like a scab have been picked at with no healing up. Well now there's JSR 310... and &lt;a href="http://java.dzone.com/news/game-over-jdks-date-and-time-c"&gt;here's an interview at Java Lobby with the JSR leaders&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4443726196753777983?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4443726196753777983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4443726196753777983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4443726196753777983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4443726196753777983'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/05/finally-end-of-time-and-date.html' title='Finally, an end of Time (and Date)'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2731402817264697840</id><published>2008-04-29T14:03:00.001+01:00</published><updated>2008-04-29T14:03:27.376+01:00</updated><title type='text'>A Morning with NetBeans 6.1....</title><content type='html'>I've been off working on the iPhone SDK, so I wasn't too interrupted when &lt;a href="http://netbeans.org/"&gt;NetBeans 6.1&lt;/a&gt; made an early entrance this week. That was until Nomine said to me "What I'd like is an application which looks up the people you are following on Twitter and the people following you on Twitter and shows who the mutual followed/following are"...&lt;br /&gt;&lt;br /&gt;So, I broke out NetBeans 6.1 and gave it a go. First up was the Twitter access. That turned out to be very easy; NB6.1 has precanned code generators for lots of well known web services out there. So I selected Twitter and the appropriate function in the tree and drag it into my code. And pow!, there it is, complete with separate classes generated to handle the result and authentication, including popping up a user name/password authentication dialogue.&lt;br /&gt;&lt;br /&gt;Parsing the XML was more interesting. I decided to use the XML Schema design tool in NetBeans 6.1, which I hadn't used before, but after about an hour or so of fiddling, I had a schema file which was automatically generating code for JAXB.&lt;br /&gt;&lt;br /&gt;Next up, feeding the result of the Twitter API to create objects... Already in there. The result of the Twitter API call can be parsed into a JAXB object by calling a method on the result and telling it what JAXB class you want it turned into.&lt;br /&gt;&lt;br /&gt;The GUI, Matisse as usual, but it's just getting better. Now there's Java Application Framework support in there I made a JAF application, and getting a button to call up Twitter and do all that parsing was a matter of picking the button and doing "Set Action" on it. NetBeans 6.1 can also code generate all the background processing bits, including an animated busy indicator.&lt;br /&gt;&lt;br /&gt;And that was an application built. Doesn't actually change anything but boy, it shows how useful NetBeans 6.1 is.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2731402817264697840?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2731402817264697840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2731402817264697840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2731402817264697840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2731402817264697840'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/04/morning-with-netbeans-61.html' title='A Morning with NetBeans 6.1....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-4362573395318309238</id><published>2008-04-16T12:04:00.001+01:00</published><updated>2008-04-16T12:04:35.248+01:00</updated><title type='text'>Inconsolable....</title><content type='html'>Cross posted from Codepapacy&lt;br /&gt;&lt;br /&gt;I was looking for monospaced fonts, after I was reminded that Microsoft had actually made a decent monospaced font with Consola. After some hunting, and a false start finding the original Inconsolas, I found the latest version, with a slashed zero, and my it looks good. &lt;a href="http://www.ghostscript.com/~raph/type/myfonts/inconsolata.html"&gt;Check it out here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4362573395318309238?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4362573395318309238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4362573395318309238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4362573395318309238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4362573395318309238'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/04/inconsolable.html' title='Inconsolable....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-549165370418644964</id><published>2008-04-13T12:47:00.001+01:00</published><updated>2008-04-13T12:47:44.032+01:00</updated><title type='text'>6 People and their ids....</title><content type='html'>Playing with the iPhone SDK? If you are working with the addressbook, you might want to know what the default record ids of the simulated addressbook is. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;1 - Kate Bell&lt;br /&gt;2 - Daniel Higgins&lt;br /&gt;3 - John Appleseed&lt;br /&gt;4 - Anna Haro&lt;br /&gt;5 - Hank Zakroff&lt;br /&gt;6 - David Taylor&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you know. This might be handy for testing if nothing else.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-549165370418644964?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/549165370418644964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=549165370418644964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/549165370418644964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/549165370418644964'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/04/6-people-and-their-ids.html' title='6 People and their ids....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2102744805032243472</id><published>2008-04-04T11:53:00.001+01:00</published><updated>2008-04-04T11:53:37.712+01:00</updated><title type='text'>Grails and Groovy....</title><content type='html'>I've done an article on Grails and Groovy, which you can find at &lt;a href="http://www.heise-online.co.uk/open/Grails-and-Groovy-The-Dynamic-Duo-for-Java--/features/110425/0"&gt;here on Heise Online UK&lt;/a&gt;. It's an introduction to what Grails is about.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2102744805032243472?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2102744805032243472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2102744805032243472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2102744805032243472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2102744805032243472'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/04/grails-and-groovy.html' title='Grails and Groovy....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-4296770862442125627</id><published>2008-03-19T08:24:00.002Z</published><updated>2008-03-19T08:27:26.508Z</updated><title type='text'>BloglinesMenu 1.6</title><content type='html'>I completely forgot to mention, but BloglinesMenu 1.6 just lost the RC tag and is now a release. And the source it up on the site too. So get &lt;a href="http://www.runstate.com/proj/blmenu.html"&gt;BloglinesMenu 1.6&lt;/a&gt;... if you use Bloglines, that is. Or if you want the source for a simple menu notifier app which you can modify for whatever service you want.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4296770862442125627?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4296770862442125627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4296770862442125627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4296770862442125627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4296770862442125627'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/03/bloglinesmenu-16.html' title='BloglinesMenu 1.6'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2649242563591366472</id><published>2008-03-18T17:09:00.001Z</published><updated>2008-03-18T17:09:30.860Z</updated><title type='text'>Ah... __MyCompanyName__ no more....</title><content type='html'>XCode is a tad opaque as to where it keeps the company name value it uses when it makes templates into files. So how to change? Quit XCode and start up a terminal and type&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;defaults write com.apple.xcode PBXCustomTemplateMacroDefinitions -dict ORGANIZATIONNAME RunState&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Restart XCode and all your code is mine! Bwahahaha... Oh yes, change RunState to your company name.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2649242563591366472?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2649242563591366472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2649242563591366472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2649242563591366472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2649242563591366472'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/03/ah-mycompanyname-no-more.html' title='Ah... __MyCompanyName__ no more....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-3683882992851795289</id><published>2008-02-02T10:44:00.001Z</published><updated>2008-02-02T10:51:57.505Z</updated><title type='text'>BloglinesMenu 1.6rc</title><content type='html'>Yes, finally, I updated the &lt;a href="http://runstate.com/proj/blmenu.html"&gt;BloglinesMenu&lt;/a&gt; to be universal. I'm flagging this one a release canidate as I'm not 100% on how this will run in the field*, but it's out there now. If no one flags a problem in the next month or so, I'll just drop the rc from the zip file name.&lt;br /&gt;&lt;br /&gt;Enjoy.... I won't because I'm all Google Reader these days.&lt;br /&gt;&lt;br /&gt;* When I say that, I've given it a good run and it seems to still stay small and work, it's just this is my first Universal build.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-3683882992851795289?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/3683882992851795289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=3683882992851795289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/3683882992851795289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/3683882992851795289'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2008/02/bloglinesmenu-16rc.html' title='BloglinesMenu 1.6rc'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-2410371834249145731</id><published>2007-12-13T13:25:00.001Z</published><updated>2007-12-13T13:25:24.965Z</updated><title type='text'>Pope notes* - Rails - restful_authentication --stateful</title><content type='html'>* Pope notes - things that I've just worked on, and got halfway, but need to press on with. Like little papal snapshots, mainly for my reference so I can come back to it later.&lt;br /&gt;&lt;br /&gt;I like state machines; they make life cycles much easier to manage and &lt;a href="http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk/README"&gt;acts_as_state_machine&lt;/a&gt; is a nice way of expressing state machines. The problem I just hit though was that restful_authentication plugin just added --stateful, which generates up an authentication setup that includes the &lt;a href="http://www.vaporbase.com/postings/stateful_authentication"&gt;Stateful authentication setup&lt;/a&gt;. It went well enough getting it to work, but there seems to be a mismatch in statefulness and the use of an observer to generate mail. The observer watches save and creates, and then uses the state of the user to decide what should be done. But, it does this for all saves, and because there's no indication of a state change having just occurred, then having the after_save observer mail when the users state is active triggers off multiple "you have signed in mails" and the variant, checking for a pending state, triggers an activation mail. What struck me was it should be better to move the mail generation into the user model, using the same hooks that the state machine uses for when a state is entered. I had a quick hack, and it seems to work, but does generate two activation mails.... this is probably fixable if I understood the acts_as_state_machine plugin better, so I'm going back to another part of the code which does use that.&lt;br /&gt;&lt;br /&gt;Oh, and I'm in day two of my "coding rails without an IDE"... it's all TextMate and Terminal here for the next fortnight. No better way to know what an IDE is doing right or wrong than getting back to basics.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-2410371834249145731?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/2410371834249145731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=2410371834249145731' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2410371834249145731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/2410371834249145731'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/12/pope-notes-rails-restfulauthentication.html' title='Pope notes* - Rails - restful_authentication --stateful'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-5928284034374374172</id><published>2007-11-19T15:39:00.001Z</published><updated>2007-11-19T15:39:24.656Z</updated><title type='text'>Busy Busy....</title><content type='html'>What I find hard? Testing. Doubly hard, TDD. Triply hard, BDD. But dammit, I will do this new code base right for a change. Well, righter.&lt;br /&gt;&lt;br /&gt;Busy at the moment working on Lendery. A simple application, I suspect, but I thought I'd mention it.&lt;br /&gt;&lt;br /&gt;Lendery replaces my previous Libr project as I realised that Libr was a lot of work for users creating a library which they may only get one use out of per thing loaned. And thus Lendery was inspired. It lets you record who you loaned something to by their email address (initially) and uses email to tell them (after authenticating the account.... a once only event per email address)... sign up and you can create an identity of multiple email addresses (akas) and the ability to manage your loans on the web.&lt;br /&gt;&lt;br /&gt;Well, thats the plan.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-5928284034374374172?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/5928284034374374172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=5928284034374374172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/5928284034374374172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/5928284034374374172'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/11/busy-busy.html' title='Busy Busy....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-3450001480275259924</id><published>2007-05-28T09:51:00.001+01:00</published><updated>2007-05-28T09:51:59.976+01:00</updated><title type='text'>Beans, real Beans....</title><content type='html'>&lt;p&gt;Richard Bair's posted about &lt;a href="http://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html"&gt;JavaBeans and what makes a real Bean&lt;/a&gt;. Food for thought. And no, JavaBeans don't make you do this....&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R6dm9rN6oTs"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R6dm9rN6oTs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-3450001480275259924?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/3450001480275259924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=3450001480275259924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/3450001480275259924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/3450001480275259924'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/05/beans-real-beans.html' title='Beans, real Beans....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-4509327380146026961</id><published>2007-05-16T09:11:00.001+01:00</published><updated>2007-05-16T09:17:02.103+01:00</updated><title type='text'>The Repurposing</title><content type='html'>[ I'm playing around with getting some oped out of my head, so this is a developing article ]&lt;br /&gt;&lt;br /&gt;Adobe, Microsoft and Sun have all rolled out their Web "Rich Application" Platforms. Now that the wraps are off the WRAPs, there's one thing that's obvious. They are all based around repurposing each companies existing platform. Adobe took Flash, gave it a programming language that didn't sit on a timeline and glued it into Eclipse so code developers don't have to step out of their IDE to develop for it. But basically, it's Flash, with a pony tail and sandals and a tool bag. Microsoft took their .Net platform, created a bucket of glue for Python to run on it, called the glue the DLR, and made it web embeddable. Sun took Java, fixed up the long standing issue of Java being a big download, popped a new scripting language on top, and called it JavaFX.&lt;br /&gt;&lt;br /&gt;What does the repurposing achieve though? It does establish dynamic scripting languages as a first class platform, rather than its more traditional position as the left-field platform of geeks and hackers. But beyond there, they still have a lot to do. Adobe and Microsoft have delivered not so much open platforms as ajar platforms; they both have open sourced elements to their offerings, but both have proprietary lock-ins, Adobe on the server side (with the Flex platform playing 'best' with Adobe server extensions) and Microsoft on the development tools (Silverlight might run on a Mac, but to develop it you'll be wanting Windows and Visual Studio). Sun have a more open offering but they also have a different problem; over ten years of "Java's too slow, too big" folk analysis is a lot of baggage to take into a fight, a fight which Sun started on back in 1995 when they launched Java.&lt;br /&gt;&lt;br /&gt;But there's also another competitor to all these technologies. The repurposing of the browser. Five years ago if you'd said people could drag and zoom maps, work with documents and spreadsheets, drag and drop components and all this in a web browser with no embedded virtual machines or components, folks would have called you a fantasist. And yet that is where we are with the whole host of Ajax related developments. All they miss is the ability to step "outside" the browser, but even then it's not a huge leap to think of using the core of the browser, the rendering canvas as the run time for non-browser applications; just lose the back button and address bar and you have the repurposed browser. What this approach lacks is a big hitting company behind it.&lt;br /&gt;&lt;br /&gt;So now we have four approaches in play... &lt;br /&gt;&lt;br /&gt;[ to be continued ]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-4509327380146026961?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/4509327380146026961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=4509327380146026961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4509327380146026961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/4509327380146026961'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/05/repurposing.html' title='The Repurposing'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-7441509426575577946</id><published>2007-03-14T17:38:00.001Z</published><updated>2007-03-14T17:38:36.429Z</updated><title type='text'>AjaxTerm - Thats quite neat...</title><content type='html'>&lt;p&gt;&lt;a href="http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm"&gt;AjaxTerm&lt;/a&gt; is a rather impressive bit of work. It's a python script you run which lets you point your browser at a port on that machine and get an Ajaxy terminal session which you can login in with. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-7441509426575577946?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/7441509426575577946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=7441509426575577946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7441509426575577946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/7441509426575577946'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/03/ajaxterm-thats-quite-neat.html' title='AjaxTerm - Thats quite neat...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-433585494344762151</id><published>2007-03-13T18:07:00.001Z</published><updated>2007-03-13T18:07:27.248Z</updated><title type='text'>Acts_As_Ferret - Full text searching</title><content type='html'>&lt;p&gt;This tutorial, &lt;a href="http://www.twistedmind.com/2007/2/19/acts-as-ferret-tutorial"&gt;Rails Envy: Acts_As_Ferret Tutorial&lt;/a&gt; strikes me as jolly interesting, and alleviates my fear that it would feed my models sugar candy till they go hyperactive like &lt;a href="http://en.wikipedia.org/wiki/Kiki_%28Sluggy_Freelance%29#Kiki"&gt;Kiki&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-433585494344762151?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/433585494344762151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=433585494344762151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/433585494344762151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/433585494344762151'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/03/actsasferret-full-text-searching.html' title='Acts_As_Ferret - Full text searching'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-8099906317095297794</id><published>2007-03-13T17:52:00.001Z</published><updated>2007-03-13T17:52:18.102Z</updated><title type='text'>Did I mention I've been Railing?</title><content type='html'>Yes, I've been getting into Ruby on Rails and it is quite a pleasant place to work. I came to it with a purpose, to understand it's mojo so one can compare with the various Railsy frameworks popping up for Java, but it is tempting me to settle in and work a lot more with it. The current challenge, Converence; the prototype works, now to make it all shiny and slick. Oh and scalable. Ish.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-8099906317095297794?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/8099906317095297794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=8099906317095297794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8099906317095297794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/8099906317095297794'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2007/03/did-i-mention-i-been-railing.html' title='Did I mention I&amp;#39;ve been Railing?'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-116654340215337988</id><published>2006-12-19T15:50:00.000Z</published><updated>2006-12-19T15:50:07.923Z</updated><title type='text'>Google pulls the plug on SOAP</title><content type='html'>&lt;a href="http://googlesystem.blogspot.com/2006/12/googles-soap-search-api-no-longer.html"&gt;Google Operating System blog reports on the plug pulling&lt;/a&gt; on Google's SOAP search. No WSDL any more, no programmatic searching, and you have to use the Ajax API in pages to access search. No thanks Google... sounds like you've decided to be a little bit evil.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-116654340215337988?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/116654340215337988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=116654340215337988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116654340215337988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116654340215337988'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/12/google-pulls-plug-on-soap.html' title='Google pulls the plug on SOAP'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-116344135448251005</id><published>2006-11-13T18:09:00.000Z</published><updated>2006-11-13T18:09:14.726Z</updated><title type='text'>IBM demand more free pie...</title><content type='html'>&lt;a href="http://news.com.com/2061-10795_3-6134853.html?part=rss&amp;tag=2547-1_3-0-20&amp;subj=news"&gt;More free pie demanded from free pie shop&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-116344135448251005?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/116344135448251005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=116344135448251005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116344135448251005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116344135448251005'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/11/ibm-demand-more-free-pie.html' title='IBM demand more free pie...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-116341024039148084</id><published>2006-11-13T09:30:00.000Z</published><updated>2006-11-13T09:30:40.466Z</updated><title type='text'>Tim Bray on OSS Java</title><content type='html'>&lt;a href="http://www.tbray.org/ongoing/When/200x/2006/11/12/OSS-Java"&gt;Tim Bray gives us the nitty gritty of the GPLing of Java&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-116341024039148084?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/116341024039148084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=116341024039148084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116341024039148084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116341024039148084'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/11/tim-bray-on-oss-java.html' title='Tim Bray on OSS Java'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-116340810137864170</id><published>2006-11-13T08:55:00.000Z</published><updated>2006-11-13T08:55:01.396Z</updated><title type='text'>GPL Java.... </title><content type='html'>&lt;a href="http://news.com.com/Sun+picks+GPL+license+for+Java+code/2100-7344_3-6134584.html?tag=nefd.top"&gt;GPL Java, but not as Stallman will like it.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Which is good, as I can carry on using it. The Classpath Exception is the giant condom on the code, allowing for safe GPL usage by basically nailing the virality of the GPL in a dynamically linked environment.&lt;br /&gt;&lt;br /&gt;But the first idiots who fork it 'just cos they can' should be hunted down and beaten with cluesticks, big cluesticks.&lt;br /&gt;&lt;br /&gt;And hussah for it being GPL v2; who needs GPL v3 with it's anti-DRM agenda embedded in it? &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-116340810137864170?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/116340810137864170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=116340810137864170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116340810137864170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/116340810137864170'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/11/gpl-java.html' title='GPL Java.... '/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-115151122664226408</id><published>2006-06-28T17:10:00.000+01:00</published><updated>2006-06-28T17:13:46.706+01:00</updated><title type='text'>Let loose the lawyers on Hibernate</title><content type='html'>&lt;a href="http://www.patentlyo.com/patent/2006/06/red_hat_faces_p.html"&gt;Firestar hase filed suit against RedHat&lt;/a&gt;. The text of the complaint cites Hibernate 3.0 as the offending item, and looking at &lt;a href="http://patft.uspto.gov/netacgi/nph-Parser?u=%2Fnetahtml%2Fsrchnum.htm&amp;Sect1=PTO1&amp;Sect2=HITOFF&amp;p=1&amp;r=1&amp;l=50&amp;f=G&amp;d=PALL&amp;s1=6101502.PN.&amp;OS=PN/6101502&amp;RS=PN/6101502"&gt;the patent in question&lt;/a&gt; it looks like there's quite a can of worms being opened.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-115151122664226408?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/115151122664226408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=115151122664226408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/115151122664226408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/115151122664226408'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/06/let-loose-lawyers-on-hibernate.html' title='Let loose the lawyers on Hibernate'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-114794599994923477</id><published>2006-05-18T10:50:00.000+01:00</published><updated>2006-05-18T10:53:19.990+01:00</updated><title type='text'>Google Web Toolkit... looks nice but...</title><content type='html'>The Google Web Toolkit looks nice, but dammit Google, really it's 2006 and you should be in the habit of launching things with Mac support from day zero.&lt;br /&gt;&lt;br /&gt;GWT looks more than nice actually. It's AJAX development with no writing Javascript; you write Java top to bottom, and GWT takes care of everything else.&lt;br /&gt;&lt;br /&gt;They'll have to rename JavaOne to JavAjaxOne if this keeps up.... it's been a deluge of Ajaxy Java this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-114794599994923477?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/114794599994923477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=114794599994923477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114794599994923477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114794599994923477'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/05/google-web-toolkit-looks-nice-but.html' title='Google Web Toolkit... looks nice but...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-114398712911679511</id><published>2006-04-02T15:10:00.000+01:00</published><updated>2006-04-02T15:12:09.130+01:00</updated><title type='text'>What would be handy...</title><content type='html'>What would be handy is a simple hotkey for the command line so that when you type in...&lt;br /&gt;&lt;br /&gt;somecommandthatneedsroot&lt;br /&gt;&lt;br /&gt;and it comes back permission denied, you hit it and it recalls the line with "sudo " in front...&lt;br /&gt;&lt;br /&gt;sudo somecommandthatneedsroot&lt;br /&gt;&lt;br /&gt;(Another suggestion here is that you could just catch the permission denied and change it to "permission denied... sudo it y/n?" but that'd a lot harder to implement and probably bugger up all sorts of scripts)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-114398712911679511?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/114398712911679511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=114398712911679511' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114398712911679511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114398712911679511'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/04/what-would-be-handy.html' title='What would be handy...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-114382112124020470</id><published>2006-03-31T17:03:00.000+01:00</published><updated>2006-03-31T17:05:21.300+01:00</updated><title type='text'></title><content type='html'>Ah now we know the &lt;a href="http://weblogs.java.net/blog/alexfromsun/archive/2006/04/swing_team_reve_1.html"&gt;Secrets of the Swing Team&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-114382112124020470?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/114382112124020470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=114382112124020470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114382112124020470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114382112124020470'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/03/ah-now-we-know-secrets-of-swing-team.html' title=''/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-114198674965999584</id><published>2006-03-10T10:31:00.000Z</published><updated>2006-03-10T10:32:29.910Z</updated><title type='text'>A Netbeans Bug thats bugging me...</title><content type='html'>Netbeans has a bug where it gets the indentation wrong after annotations which have no braced parameters after them, when you use it's reformat code. See &lt;a href="http://www.netbeans.org/nonav/issues/show_bug.cgi?id=55644"&gt;the bug entry here&lt;/a&gt;. A quick workaround is to tag empty braces after your annotations so&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class ....&lt;br /&gt;&lt;br /&gt;becomes&lt;br /&gt;&lt;br /&gt;@Entity()&lt;br /&gt;public class ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-114198674965999584?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/114198674965999584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=114198674965999584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114198674965999584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114198674965999584'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/03/netbeans-bug-thats-bugging-me.html' title='A Netbeans Bug thats bugging me...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-114181955330859294</id><published>2006-03-08T12:05:00.000Z</published><updated>2006-03-08T12:05:53.340Z</updated><title type='text'>Brilliant - Omnicore</title><content type='html'>I went hunting for my serial number for Omnicore's XDevelop. Couldn't find it anywhere. So I mailed Omnicore and asked.....&lt;br /&gt;&lt;br /&gt;And within 5 minutes, I had a reply with my serials. So apart from making a brilliant code focussed IDE, they are also still one of the most responsive companies I've come across.&lt;br /&gt;&lt;br /&gt;Why am I pulling out XDevelop? Well, I was looking at the &lt;a href="http://rifers.org/about"&gt;RIFE&lt;/a&gt; site, and apart from it being very interesting as an application stack, I noticed that the first flash demo uses XDevelop to show the neatness. And it reminded me of how nice XDevelop's code environment is; especially compared to NetBeans which is "almost fast enough".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-114181955330859294?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/114181955330859294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=114181955330859294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114181955330859294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/114181955330859294'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2006/03/brilliant-omnicore.html' title='Brilliant - Omnicore'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113498564737965469</id><published>2005-12-19T09:47:00.000Z</published><updated>2005-12-19T09:47:27.430Z</updated><title type='text'>Sitting on the Doctype....</title><content type='html'>Tim Bray talks of &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/12/15/Drop-the-Doctype"&gt;dropping the Doctype from XML&lt;/a&gt; and I have to concur. For me, &lt;!Doctype&gt; is a carrier for cognitive dissonance in XML... contrary to the nature of an XML document, human readable but not human meaningful... But I suspect Mr Bray is right when he says it won't go away.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113498564737965469?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113498564737965469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113498564737965469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113498564737965469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113498564737965469'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/12/sitting-on-doctype.html' title='Sitting on the Doctype....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113481483127205484</id><published>2005-12-17T10:20:00.000Z</published><updated>2005-12-17T10:20:31.296Z</updated><title type='text'>Switching to Tiger on Tiger (J2SE 5.0 on OSX 10.4)</title><content type='html'>The number of times I see someone post "Here's how to use J2SE5.0 as default on Mac OSX 10.4..." and proceed to tell you &lt;a href="http://jdtangney.com/resources/blog/2005/12/tiger-on-tiger-take-374.html"&gt;how to change the JDK symlink for the current JDK&lt;/a&gt;....&lt;br /&gt;&lt;br /&gt;It's not necessary.... Here's how I do it. Add to your .profile&lt;br /&gt;&lt;br /&gt;export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home&lt;br /&gt;export PATH=$JAVA_HOME/bin:$PATH     &lt;br /&gt;&lt;br /&gt;There we go. JDK set. If you want to set it for webstart and applets as the default, go to /Applications/Utilities/J2SE 5.0 and run Java Preferences, which lets you change the order of use safely (and lets you get at a whole bunch of run time settings)....&lt;br /&gt;&lt;br /&gt;There, no messing with sudo, no changing symlinks, no danger when Apple update Java runtimes.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113481483127205484?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113481483127205484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113481483127205484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113481483127205484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113481483127205484'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/12/switching-to-tiger-on-tiger-j2se-50-on.html' title='Switching to Tiger on Tiger (J2SE 5.0 on OSX 10.4)'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113474003879317464</id><published>2005-12-16T13:33:00.000Z</published><updated>2005-12-16T13:33:58.823Z</updated><title type='text'>A clean sweep in the toolbox</title><content type='html'>So, I'm revising my toolbox for 2006. What looks like it's going to be in it? Netbeans 5.0 for an IDE, EJB3 Persistence+Derby/Java DB for storage, Spring+Struts for server framework (I think), Mochikit for Ajaxness... Now, a decent Javascript editor and debugger would be good (Come on Netbeans!), but what else...&lt;br /&gt;&lt;br /&gt;Break out the Festivus Pondering (post the airing of grievances)....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113474003879317464?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113474003879317464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113474003879317464' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113474003879317464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113474003879317464'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/12/clean-sweep-in-toolbox.html' title='A clean sweep in the toolbox'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113379588623825653</id><published>2005-12-05T15:18:00.000Z</published><updated>2005-12-05T15:18:06.256Z</updated><title type='text'>What am I up to...</title><content type='html'>I'm playing with &lt;a href="http://www.mochikit.com/"&gt;Mochikit&lt;/a&gt; to write an Ajaxy application. I'm finding &lt;a href="http://netbeans.org"&gt;Netbeans&lt;/a&gt; jolly nice, but it really needs to get up to speed for Ajax with some Javascript editting support.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113379588623825653?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113379588623825653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113379588623825653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113379588623825653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113379588623825653'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/12/what-am-i-up-to.html' title='What am I up to...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113218574659273255</id><published>2005-11-17T00:02:00.000Z</published><updated>2005-11-17T00:02:26.620Z</updated><title type='text'>Well Thanks for nothing AOL</title><content type='html'>AOL have decided to &lt;a href="http://www.boingboing.net/2005/11/16/aol_inserts_some_new.html"&gt;autoadd two bots to everyone's Buddy lists&lt;/a&gt;. It's easy enough to get rid of them, but the sheer impoliteness is going to ruffle enough feathers out there that IM bots could end up dragged through the mud meant for AOL's incompetent management.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113218574659273255?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113218574659273255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113218574659273255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113218574659273255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113218574659273255'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/11/well-thanks-for-nothing-aol.html' title='Well Thanks for nothing AOL'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113181375113616348</id><published>2005-11-12T16:42:00.000Z</published><updated>2005-11-12T16:42:31.143Z</updated><title type='text'>DashBlog</title><content type='html'>I use DashBlog... well I did till it stopped working. Now I'm trying to fix it. If you see this, I guess you'll know I've been successful!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113181375113616348?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113181375113616348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113181375113616348' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113181375113616348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113181375113616348'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/11/dashblog.html' title='DashBlog'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113179047542816722</id><published>2005-11-12T10:14:00.000Z</published><updated>2005-11-12T10:15:29.426Z</updated><title type='text'>Mustang savvy....</title><content type='html'>&lt;A href="http://weblogs.java.net/blog/opinali/archive/2005/11/mustangs_hotspo.html"&gt;This blog entry&lt;/A&gt; contains the yummy news that a new register allocator in the latest build of Mustang gives Hotspot clients a 50% plus boost in benchmarks. Can't wait to see how that translates to actual application performance. Java 6 has all the signs of being a rockingly good release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113179047542816722?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113179047542816722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113179047542816722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113179047542816722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113179047542816722'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/11/mustang-savvy.html' title='Mustang savvy....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113049441502729553</id><published>2005-10-28T11:13:00.000+01:00</published><updated>2005-10-28T11:13:35.026+01:00</updated><title type='text'>Strange bugs</title><content type='html'>Sometimes you really don't expect things to interact quite the way they do. For example, the latest drivers on the Marvell Yukon Gigabit Ethernet controller and Java. Yes, run a Java application with the 8.xx drivers and at some point as the application (Eclipse updating or Azureus) your machine will lock up it's Ethernet interface. I had to go back to the 6.23 drivers for the ethernet interface and make sure Windows Update wasn't going to update them to get a reliable connection again. Quality drivers there.... &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113049441502729553?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113049441502729553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113049441502729553' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113049441502729553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113049441502729553'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/strange-bugs.html' title='Strange bugs'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113041202327157303</id><published>2005-10-27T12:06:00.000+01:00</published><updated>2005-10-27T12:20:23.316+01:00</updated><title type='text'>Eclipse, getting to like the dark...</title><content type='html'>I've been working on a 'hands-on' coding review of a developers tool, but thats not important right now. What it has made me do is use &lt;A href="http://www.eclipse.org/"&gt;Eclipse&lt;/A&gt; a lot more; and dammit, I'm getting to like it. I've always had a fondness for &lt;A href="http://www.omnicore.com/"&gt;Omnicore's CodeGuide&lt;/A&gt; and was developing affection for X-Develop, the cross language replacement for CodeGuide, but this partially forced exposure to Eclipse has made me rethink what I'm looking for in an IDE. I still miss CodeGuide's instant checking; Eclipse eventually mentions code errors in the IDE, but it's not as well, instant, but Eclipse does offer more options for resolving errors, so... Eclipse does make much better use of a high res screen though. Ah, dilemmas.... I think the real decider will come when I move development off Windows and back onto OSX.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113041202327157303?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113041202327157303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113041202327157303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113041202327157303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113041202327157303'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/eclipse-getting-to-like-dark.html' title='Eclipse, getting to like the dark...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113040707627693119</id><published>2005-10-27T10:57:00.000+01:00</published><updated>2005-10-27T11:18:32.363+01:00</updated><title type='text'>Mail Pattern Boldness - That Email Article....</title><content type='html'>My article on JavaMail vs Commons Email is now on &lt;A href="http://uk.builder.com/programming/java/0,39026606,39280559,00.htm"&gt;up at Uk.builder.com&lt;/A&gt;. &lt;br /&gt;&lt;br /&gt;The working "headline" for this article was "Mail Pattern Boldness".... well, it's nice to start work with a dreadful pun... and have an editor who'll put a proper headline on it when I've forgotten to remove it.&lt;br /&gt;&lt;br /&gt;Anyway, what you'll see in the article is JavaMail and Commons Email contrasted to demonstrate when Commons Email is appropriate; from sending a simple text email, to embedding an image in a HTML email. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113040707627693119?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113040707627693119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113040707627693119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113040707627693119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113040707627693119'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/mail-pattern-boldness-that-email.html' title='Mail Pattern Boldness - That Email Article....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-113034527478875750</id><published>2005-10-26T17:47:00.000+01:00</published><updated>2005-10-27T10:54:28.643+01:00</updated><title type='text'>Quite pleased....</title><content type='html'>&lt;A href="http://weblogs.java.net/blog/emcmanus/"&gt;Eamonn McManus&lt;/A&gt; gives &lt;A href="http://weblogs.java.net/blog/emcmanus/archive/2005/06/nice_gettingsta.html"&gt;my article on getting started with JMX and JConsole&lt;/A&gt; a mention. And my occasional code blindness when I name things. Thanks Eamonn!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-113034527478875750?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/113034527478875750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=113034527478875750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113034527478875750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/113034527478875750'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/quite-pleased.html' title='Quite pleased....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-112990906806903900</id><published>2005-10-21T16:37:00.000+01:00</published><updated>2005-10-21T16:37:48.086+01:00</updated><title type='text'>A change of heart...</title><content type='html'>I thought the Apache Commons Email library was a silly idea, a simple wrapper for JavaMail? Why, I thought. Then I used it; it's a great "no worries" library for sending email, and as it rides atop of JavaMail so you can still use JavaMail when you actually need it. It's interesting to see how the reasonable and sensible abstractions of the JavaMail API make the world more complex when you want to do the simple things. Apache Commons Email makes the simple things simple again. Hussah. (And now back to wrapping up an article on that subject....)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-112990906806903900?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/112990906806903900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=112990906806903900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112990906806903900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112990906806903900'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/change-of-heart.html' title='A change of heart...'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-112911472186376494</id><published>2005-10-12T11:58:00.000+01:00</published><updated>2005-10-12T12:01:00.386+01:00</updated><title type='text'>Perils of I18N</title><content type='html'>Even when you've got the language support there, there's always something thats going to bite you. In Google's case, the &lt;A href="http://blogs.sun.com/roller/page/moazam?entry=google_pakistan_fix_your_punjabi"&gt;Google Pakistan has the right language, but the wrong script&lt;/A&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-112911472186376494?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/112911472186376494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=112911472186376494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112911472186376494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112911472186376494'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/perils-of-i18n.html' title='Perils of I18N'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17715831.post-112902353309245644</id><published>2005-10-11T10:35:00.000+01:00</published><updated>2005-10-11T10:38:53.096+01:00</updated><title type='text'>A seperation of content....</title><content type='html'>This is a new shiny blog for codepope. Why? Well, there's going to carry on being the Livejournal blog, but that'll be more about well personal things. This new shiny blog is for me to talk about code, which is what I do, rather than confusing people with a stream of personal and code stuff. So... Hello to the codepope blog about code....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17715831-112902353309245644?l=codepope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codepope.blogspot.com/feeds/112902353309245644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17715831&amp;postID=112902353309245644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112902353309245644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17715831/posts/default/112902353309245644'/><link rel='alternate' type='text/html' href='http://codepope.blogspot.com/2005/10/seperation-of-content.html' title='A seperation of content....'/><author><name>Codepope</name><uri>http://www.blogger.com/profile/06399274284779782498</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
