<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>javanicus</title>
<link>http://javanicus.com/blog2/</link>
<description>Jeremy Rayner on java and other stuff.</description>
<admin:generatorAgent rdf:resource="http://javanicus.com/blogmento"/>
<item>
        <title>Tech Presentations for your ipod</title>
        <link>http://javanicus.com/blog2/items/197-index.html</link>
        <description>Some excellent presentations to watch online or on your ipod
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-594153467742593805"&gt;Selenium: The in-browser acceptance testing tool&lt;/a&gt; - &lt;a href="http://jrandolph.com/blog/"&gt;Jason Huggins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=4378663232897374824"&gt;Building testable AJAX applications&lt;/a&gt; - Adam Conners and &lt;a href="http://joe.truemesh.com/blog/"&gt;Joe Walnes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-6459339159268485356"&gt;Python 3000&lt;/a&gt; - &lt;a href="http://www.artima.com/weblogs/index.jsp?blogger=guido"&gt;Guido van Rossum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=3897010229726822034"&gt;Debugging Backwards in Time&lt;/a&gt; - Bil Lewis&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=8135690990081075324"&gt;Behaviour Driven Development&lt;/a&gt; - Dave Astels&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-7230144396191025011"&gt;Scrum Et Al&lt;/a&gt; - Ken Schwaber&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-6726522426109060914"&gt;Anatomy Of A Debian Package&lt;/a&gt; - Jonathan Oxer&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-7227306990557696708"&gt;Doubling the value of automated tests&lt;/a&gt; - Rick Mugridge&lt;/li&gt;
&lt;li&gt;&lt;a href="http://video.google.com/videoplay?docid=-6891978643577501895"&gt;Using open source tools for performance testing&lt;/a&gt; - Goranka Bjedov&lt;/li&gt;
&lt;/ul</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2006-09-19T09:13:08+0100</dc:date>
</item>
<item>
        <title>Useful Java Stuff</title>
        <link>http://javanicus.com/blog2/items/195-index.html</link>
        <description>Useful stuff
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stomp.codehaus.org/Protocol"&gt;stomp&lt;/a&gt; is a cute
protocol for working with messaging systems.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.opensymphony.com/compass/content/about.html"&gt;compass&lt;/a&gt;
is an object-searchengine mapping tool, making lucene easier.&lt;/li&gt;
&lt;li&gt;Many people suggest it is time to switch to &lt;a
href="http://subversion.tigris.org/"&gt;subversion&lt;/a&gt; instead of
cvs.&lt;/li&gt;
&lt;li&gt;Also &lt;a href="http://www.edgewall.com/trac/screenshots.html"&gt;Trac&lt;/a&gt;
is recommended for a project workbench, looks cool.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jax-ws.dev.java.net/"&gt;JAX-WS&lt;/a&gt; is &lt;i&gt;the&lt;/i&gt;
spec for Java and web services&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jaxb.dev.java.net/"&gt;JAXB 2.0&lt;/a&gt; looks
interesting [&lt;a
href="http://java.sun.com/developer/technicalArticles/WebServices/jaxb/index.html"&gt;overview
(old)&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;but I still love &lt;a href="http://xstream.codehaus.org/"&gt;XStream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2006/05/17/standardizing-with-ejb3-java-persistence-api.html"&gt;JPA
(Java Persistence API)&lt;/a&gt; is hot [&lt;a
href="http://weblogs.java.net/blog/ss141213/archive/2005/12/using_java_pers.html"&gt;walkthrough&lt;/a&gt;]
and worth learning.&lt;/li&gt;
&lt;li&gt;JPA is implemented by the FREE Oracle tool &lt;a
href="http://www.oracle.com/technology/products/ias/toplink/jpa/index.html"&gt;Toplink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;as well as &lt;a
href="http://dev2dev.bea.com/pub/a/2006/02/interview-kodo-opensource.html"&gt;Open
JPA&lt;/a&gt; which is based on the wonderful Kodo.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jencks.org/"&gt;Jencks&lt;/a&gt; is a good implementation
of &lt;a href="http://java.sun.com/j2ee/connector/"&gt;JCA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Spring was of course implicitly wonderful, and &lt;a
href="http://www.nofluffjuststuff.com/blog_detail.jsp?rssItemId=97449"&gt;Pitchfork&lt;/a&gt;
appears to be adding EJB3 to Spring.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://glassfish.dev.java.net/"&gt;Glassfish&lt;/a&gt; is
incubating lots of interesting side projects.&lt;/li&gt;
&lt;/ul</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2006-07-06T10:24:31+0100</dc:date>
</item>
<item>
        <title>BCS Open Source Meeting - review</title>
        <link>http://javanicus.com/blog2/items/174-index.html</link>
        <description>I popped along to the first open source meeting of the British Computer Society last night.
&lt;p&gt;
It began with a very entertaining &lt;http://ossg.bcs.org"&gt;talk&lt;/a&gt; from &lt;a href="http://www.thaum.net/sarah"&gt;Sarah Ewen&lt;/a&gt; about Linux on the Playstation 2.
The &lt;a href="http://www.linuxplay.com/"&gt;Playstation2 Linux distro&lt;/a&gt; is apparently a limited run, it was based on Redhat 6.2, and will soon be sold out in PAL regions.  She then showed a previous &lt;a href="http://www.pcs.uklinux.net/id19.htm"&gt;VU coding contest entries&lt;/a&gt;.  I would find it hard to recommend &lt;a href="http://www.linuxplay.com/INCLUDE/IMAGES/big_linuxkit.jpg"&gt;this&lt;/a&gt; as an entry level machine for anyone, as at £253 including PS2 it is quite a poorly spec'd machine.  For only £86 more, you could get yourself a &lt;a href="http://www.apple.com/macmini/"&gt;Mac mini&lt;/a&gt;, which would fly for desktop usage.
&lt;p&gt;
After the presentation, the usual BCS governance was ironed out, and the committee were voted in for the next six months.  Amongst the &lt;a href="http://ossg.bcs.org/about/OpenSourceConstitutionFinal.pdf"&gt;aims&lt;/a&gt; of the BCS Open Source Specialist Group are reducing professional uncertainty around the subject of Open Source and to encourage serious debate &amp; examination of Open Source.
&lt;p&gt;
One thing that is apparent is that people interested in being involved will not all be able to get to London.  As such a wiki and &lt;a href="http://ossg.bcs.org/forum/"&gt;discussion forum&lt;/a&gt; has been setup, where you can contact other professionals/academics who are interested in Open Source, and it's applications.  You don't have to be a member of the BCS to be involved, and indeed from my viewpoint as an open source developer, I see an opportunity for us to show the decision makers in all aspects of professional computing, the real advantages of adopting open source at all stages of development.
&lt;p&gt;
My thanks to the committee for organising a good evening, and the particularly nice cakes.</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2005-03-15T10:34:53+0000</dc:date>
</item>
<item>
        <title>Installing HenPlus on OSX</title>
        <link>http://javanicus.com/blog2/items/171-index.html</link>
        <description>I came across &lt;a href="http://henplus.sourceforge.net/"&gt;HenPlus&lt;/a&gt;a nice looking console based SQL-shell for database interaction, rather like SQL*Plus for Oracle, but this claims to work for any JDBC data source.
&lt;p&gt;
It wasn't straightforward to install HenPlus on Mac OSX, largely due to HenPlus needing &lt;a href="http://java-readline.sourceforge.net/"&gt;java-readline&lt;/a&gt; which in turn requires the &lt;a href="http://darwinports.opendarwin.org/"&gt;darwin ports&lt;/a&gt; version of &lt;a href="http://readline.darwinports.com/"&gt;readline&lt;/a&gt;.
&lt;p&gt;
Thankfully, the blogosphere has got there first, and a &lt;a href="http://telly.bravo5.org/blojsom/blog/java/2004/08/30/java_readline_with_mac_os_x.html"&gt;step-by-step guide&lt;/a&gt; to getting java-readline working has been provided by &lt;a href="http://telly.bravo5.org/blojsom/blog/"&gt;Brian&lt;/a&gt;. cheers.</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2005-02-02T14:35:37+0000</dc:date>
</item>
<item>
        <title>grash: added a command history (jline)</title>
        <link>http://javanicus.com/blog2/items/162-index.html</link>
        <description>Thanks to &lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=29625"&gt;TheServerSide&lt;/a&gt; I have had significant interest in &lt;a href="http://grash.javanicus.com"&gt;grash&lt;/a&gt;, for which I'm very grateful.  It's great to see that after only two weeks from the initial idea, I have so many positive suggestions and enhancements to think about. 
&lt;p&gt;
&lt;a href="http://www.storrow.org/code.php"&gt;Marc Prud'hommeaux&lt;/a&gt; has directed me towards his wonderful wrapper for streams, called &lt;a href="http://jline.sf.net"&gt;jline&lt;/a&gt;, that allows grash to provide line editing and command history.
&lt;p&gt;
I have released a new version (&lt;a href="http://groovy.javanicus.com/grash.jar"&gt;grash 0.0.0.5&lt;/a&gt;) which now includes this facility by default, both from the command line (java -jar grash.jar) and when embedded.  If  you have any security issues with this amendment when embedding grash, I have provided a new constructor that allows you to turn this facility off.  Marc has very kindly relicensed jline as BSD, so grash is still fully available under an Apache2.0/BSD style license.
&lt;p&gt;
On Unix and MacOSX you can simply use the arrow keys to navigate round your most recent commands (on Windows you will have to use CTRL-N/CTRL-P due to an issue in jline).  The commands you type are persisted (beyond the session) currently in your home directory in a file cunningly called "~/.grash_history".
&lt;p&gt;
I'm quite excited that jline also provides the potential for command line completion (a.k.a. tab completion), this would be a splendid addition which I must look into.
&lt;p&gt;
This new release also fixes an issue found by &lt;a href="http://paperstack.com"&gt;Dave Minter&lt;/a&gt;, thanks for the feedback Dave, hopefully you will find things a bit more bulletproof now.
&lt;p&gt;
Please keep your thoughts and ideas rolling in, cheers.
&lt;p&gt;
jez.</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-10-28T09:35:11+0100</dc:date>
</item>
<item>
        <title>grash: a unix-like shell for your JVM</title>
        <link>http://javanicus.com/blog2/items/161-index.html</link>
        <description>"If everything in Unix is a file and everything in Java is an Object, wouldn't it be nice if you could explore your Objects in the JVM with the same powerful mechanisms you use in Unix."&lt;p class="paragraph"/&gt;
My line of thought a couple of weeks ago has led to a small implementation of a shell for the JVM, which I have named &lt;a href="http://grash.javanicus.com"&gt;grash&lt;/a&gt;.  

The name is derived from the fact that it is based in part on the externally observed behaviour of the bash shell, and that it is written in and exposes to the user the &lt;a href="http://groovy.codehaus.org"&gt;Groovy&lt;/a&gt; programming language. 

Hence 'GRoovy-Again SHell'&lt;p class="paragraph"/&gt;Using the concept of a 'current working instance' in place of a 'current working directory' some of the tools in a normal shell already make some sense.&lt;p class="paragraph"/&gt;&lt;i class="italic"&gt;what follows has been adapted from the wonderful &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0139376992"&gt;Kernighan and Pike&lt;/a&gt; &lt;/i&gt;&lt;h3 class="heading-1"&gt;What Objects are out there?&lt;/h3&gt;&lt;p class="paragraph"/&gt;The &lt;b class="bold"&gt;ls&lt;/b&gt; command lists the names (not contents) of Objects:&lt;div class="code"&gt;
&lt;pre&gt;/ grash$ ls
junk
main
temp                
/ grash$&lt;/pre&gt;
&lt;/div&gt;The names are sorted into alphabetical order automatically.&lt;b class="bold"&gt;ls&lt;/b&gt; , like most commands, has options that may be used to alter its default behavior.  The &lt;b class="bold"&gt;-l&lt;/b&gt; option gives a "long" listing that provides more information about each Object:&lt;div class="code"&gt;&lt;pre&gt;/ grash$ ls 
&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;rw&amp;#45;  junk
&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;x  main
&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;&amp;#45;rw&amp;#45;  temp
/ grash$&lt;/pre&gt;&lt;/div&gt;The string - - - - - - r w - tells who has permission to read and write the Object; in this case there is a public getter and setter for the junk and temp objects.&lt;h3 class="heading-1"&gt;Printing Objects - cat&lt;/h3&gt;Now that you have some Objects, how do you look at their contents?  The simplest of all the printing commands is &lt;b class="bold"&gt;cat&lt;/b&gt; . &lt;b class="bold"&gt;cat&lt;/b&gt; prints the contents of the Object name by its argument:&lt;div class="code"&gt;
&lt;pre&gt;/ grash$ cat junk
To be or not to be
/ grash$ cat temp
That is the question.
/ grash$&lt;/pre&gt;&lt;/div&gt;&lt;h3 class="heading-1"&gt;A handful of useful methods&lt;/h3&gt;Grash exposes the &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api"&gt;Java&lt;/a&gt; and &lt;a href="http://groovy.codehaus.org/groovy-jdk.html"&gt;Groovy&lt;/a&gt; Libraries to the command line user, providing &lt;div class="code"&gt;
&lt;pre&gt;/ grash$ cat junk
To be or not to be
/ grash$ cat junk.length()
18
/ grash$ cat junk.tokenize()
&amp;#91;To, be, or, not, to, be&amp;#93;
/ grash$ cat junk.tokenize().sort()
&amp;#91;To, be, be, not, or, to&amp;#93;
/ grash$&lt;/pre&gt;&lt;/div&gt; &lt;h3 class="heading-1"&gt;Pipes&lt;/h3&gt;  A pipe is a way to connect the output of one expression to the input of another.  I have implemented pipelines in the simplest way at the moment.&lt;div class="code"&gt;
&lt;pre&gt;/ grash$ ls &amp;#45;a | println size()
11
/ grash$&lt;/pre&gt;&lt;/div&gt;The expressions in a pipeline currently evaluate one after another, but in order to behave like Unix, concurrent evaluation of the commands in a pipeline would be desired.&lt;p class="paragraph"/&gt;The methods are currently called on the result of the previous evaluation, again this should perhaps be a different mechanism, using the current working instance and others.&lt;h3 class="heading-1"&gt;NOTES&lt;/h3&gt;&lt;h3 class="heading-1-1"&gt;How do I embed grash in my own programs&lt;/h3&gt;&lt;ul class="star"&gt;&lt;li&gt;put &lt;a href="http://grash.javanicus.com"&gt;grash.jar&lt;/a&gt; in your classpath&lt;/li&gt;&lt;li&gt;include these lines somewhere in your code (note: you can pass your own input/output streams in the Grash constructor}&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;
&lt;pre&gt;import com.javanicus.grash.Grash;
...
Grash grash = &lt;span class="java&amp;#45;keyword"&gt;new Grash(myObject);
&lt;span class="java&amp;#45;object"&gt;Thread consoleThread = &lt;span class="java&amp;#45;keyword"&gt;new &lt;span class="java&amp;#45;object"&gt;Thread(grash);
consoleThread.start();&lt;/pre&gt;&lt;/div&gt;&lt;h3 class="heading-1-1"&gt;Under the covers&lt;/h3&gt;&lt;ul class="star"&gt;&lt;li&gt;100% Groovy source, at the moment (although some unit tests on Java will be needed)&lt;/li&gt;&lt;li&gt;Object references are currently piped around, rather than streams.&lt;/li&gt;&lt;li&gt;The grash command line parser takes precedence over groovy, so any &lt;b class="bold"&gt;;&lt;/b&gt; &amp;#124; &lt;b class="bold"&gt;&amp;#62;&lt;/b&gt; &amp;#38; symbol will be ignored by the time that groovy sees it.&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="heading-1"&gt;What's left to do...&lt;/h3&gt;&lt;ul class="star"&gt;&lt;li&gt;Everything...&lt;/li&gt;&lt;li&gt;I have implemented other features such as &lt;b class="bold"&gt;cd&lt;/b&gt; , &lt;b class="bold"&gt;ps&lt;/b&gt; , pipes, redirects and some advanced options on &lt;b class="bold"&gt;ls&lt;/b&gt;&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Feel free to play with them.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Decisions over pipes:&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;object handles or serialized objects ?&lt;/li&gt;&lt;li&gt;Do the methods in the subsequent pipe commands call methods on the result of the former, or methods on the 'current working instance' ?&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h3 class="heading-1"&gt;HEALTH WARNINGS&lt;/h3&gt;&lt;ul class="star"&gt;&lt;li&gt;This project is just a baby (born 14 Oct 2004), and is an extrapolation from the concept of file/object equivalence.&lt;/li&gt;&lt;li&gt;This project uses &lt;a href="http://groovy.codehaus.org"&gt;Groovy&lt;/a&gt; which is still in Beta.&lt;/li&gt;&lt;li&gt;grash.jar contains all of groovy-all.jar, to help ease of setup.  However a version without included groovy will be available upon request.&lt;/li&gt;&lt;li&gt;You won't be able to get STDIN (InputStream) to work if you are running your program from ant and it's derivates.&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="heading-1"&gt;BIG DISCLAIMERS&lt;/h3&gt;&lt;ul class="star"&gt;&lt;li&gt;"It's amazing what you can do when you're too stupid to realised that it is impossible to achieve"&lt;/li&gt;&lt;li&gt;I have no clue whether this will be useful, I'm just experimenting right now.&lt;/li&gt;&lt;/ul&gt;&lt;p class="paragraph"/&gt;I'm looking forward to your comments and ideas</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-10-25T08:29:38+0100</dc:date>
</item>
<item>
        <title>London Souvlaki Meetup</title>
        <link>http://javanicus.com/blog2/items/159-index.html</link>
        <description>This morning started as I fought my way against the commuters on London Bridge, into the Regis House (Sun training centre).  &lt;a href="http://www.jroller.com/page/cpurdy/20041018#london_java_been_there"&gt;Cameron&lt;/a&gt; gave a nice little talk explaining the concepts surrounding the scalable perfomance concerns of high end J2EE applications.  
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/jules-cameron.jpg" alt="Jules and Cameron after the Tangosol seminar"&gt;&lt;/center&gt;&lt;/p&gt;
Cameron very kindly managed to get at least six people from the seminar to then show their faces at the &lt;a href="http://javanicus.com/londonjava/items/157-index.html"&gt;London Java Meetup&lt;/a&gt;.
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/sos.jpg" alt="People at SOS"&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/andrew.jpg" alt="Some new faces too"&gt;&lt;/center&gt;&lt;/p&gt;
A great turnout at tonight's meetup, finally &lt;a href="http://www.jroller.com/page/cv"&gt;Carlos&lt;/a&gt; managed to make it along, yay.
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/carlos-cameron.jpg" alt="Carlos and Cameron"&gt;&lt;/center&gt;&lt;/p&gt;
I Managed to talk to &lt;a href="http://www.jroller.com/page/ervines"&gt;Stuart Ervine&lt;/a&gt; who is tackling the task of creating a Swing frontend to his &lt;a href="http://www.opensymphony.com/xwork/"&gt;xwork&lt;/a&gt; actions, called &lt;a href="http://www.desktopdeveloper.com/display/PEN/Quick+Tutorial"&gt;Pendulum&lt;/a&gt;.  If you look slightly beyond the coolness of being able to reuse your xwork actions in an app, Stuart is also looking very hard at providing an junit extensions for asserting that your swing application frames have all the right buttons and labels etc.
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/stuart-max.jpg" alt="Stuart and Max"&gt;&lt;/center&gt;&lt;/p&gt;
Jules managed to get the chance to explain that &lt;a href="http://wadi.codehaus.org/"&gt;WADI&lt;/a&gt; is shaping up nicely.
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/brian-jules.jpg"&gt;&lt;/center&gt;&lt;/p&gt;
The meetup moved out of SOS as the evening progressed, as Cameron suggested we find solace in a &lt;a href="http://www.athensguide.com/souvlaki.html"&gt;souvlaki&lt;/a&gt; bar. 
&lt;p&gt;&lt;center&gt;&lt;img src="http://fun.javanicus.com/tapas.jpg" alt="A souvlaki bar in the heart of the city"&gt;&lt;/center&gt;&lt;/p&gt;
For those that care, I rambled on about &lt;a href="http://groovy.codehaus.org"&gt;Groovy&lt;/a&gt;, &lt;a href="http://grash.javanicus.com"&gt;grash&lt;/a&gt;, &lt;a href="http://www.thinlet.com/"&gt;thinlets&lt;/a&gt;, &lt;a href="http://projects.javanicus.com"&gt;gnudiff4java&lt;/a&gt;, &lt;a href="http://nothome.com/javaxdelta/"&gt;xdelta in java&lt;/a&gt;, the &lt;a href="http://freenet.sourceforge.net/index.php?page=ngrouting"&gt;freenet routing algorithm&lt;/a&gt;, &lt;a href="http://xstream.codehaus.org/"&gt;xstream&lt;/a&gt;, &lt;a href="http://www.opensymphony.com/sitemesh/"&gt;sitemesh&lt;/a&gt;, &lt;a href="http://www.bannister.org/software/horizon.htm"&gt;BBC Emulation on MacOSX&lt;/a&gt;, &lt;a href="https://jogl-demos.dev.java.net/"&gt;JOGL&lt;/a&gt;, and &lt;a href="http://projects.javanicus.com"&gt;redbook OpenGL examples&lt;/a&gt;.
&lt;p&gt;
Thanks to Cameron for increasing the fold, and thanks again for the prized Tangosol T-Shirt.</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-10-19T01:19:35+0100</dc:date>
</item>
<item>
        <title>London Java Meetup - tonight</title>
        <link>http://javanicus.com/blog2/items/158-index.html</link>
        <description>It's the &lt;a href="http://javanicus.com/londonjava"&gt;London Java Meetup&lt;/a&gt; this evening.  If you haven't been before, then tonight is a good night to join us.  &lt;a href="http://www.jroller.com/page/cpurdy"&gt;Cameron Purdy&lt;/a&gt; should be able to make it, which is always fun :-)  So if your near London, and want a cheap night out with geeks, look no further.
&lt;p&gt;
Hope to see you there </description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-10-18T08:03:44+0100</dc:date>
</item>
<item>
        <title>Ninja Joe</title>
        <link>http://javanicus.com/blog2/items/155-index.html</link>
        <description>After hearing that &lt;a href="http://joe.truemesh.com/blog"&gt;Joe&lt;/a&gt; would be attempting to backflip down finsbury pavement, like a ninja, I was to say the least a little skeptical.
&lt;p&gt;
&lt;img src="http://ninja-joe.javanicus.com/joe-training2.jpg"&gt;
&lt;p&gt;
But Joe persisted and as you can see from &lt;a href="http://joe.truemesh.com/blog/000383.html"&gt;this blog entry&lt;/a&gt;, he did his research and attempted to raise lots of money for charity.
&lt;p&gt;
&lt;img src="http://ninja-joe.javanicus.com/joe-training4.jpg"&gt;
&lt;p&gt;
Did he do it?
&lt;p&gt;
&lt;img src="http://ninja-joe.javanicus.com/joe-training3.jpg"&gt;
&lt;p&gt;
Judge for yourself...
&lt;p&gt;
&lt;img src="http://ninja-joe.javanicus.com/joe-training1.jpg"&gt;
&lt;p&gt;
&lt;a href="http://ninja-joe.javanicus.com"&gt;&lt;img src="http://ninja-joe.javanicus.com/joe-triple.jpg" border="0"&gt;&lt;/a&gt;
&lt;p&gt;
&lt;a href="http://ninja-joe.javanicus.com/l1040458.mov"&gt;Quicktime Movie of Three Back Handsprings (2Mb)&lt;/a&gt; and &lt;a href="http://ninja-joe.javanicus.com"&gt;other pics/movies&lt;/a&gt;
&lt;p&gt;
Well done Joe!</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-10-11T10:32:11+0100</dc:date>
</item>
<item>
        <title>London Pub Crawl - the results...</title>
        <link>http://javanicus.com/blog2/items/153-index.html</link>
        <description>A very enjoyable &lt;a href="http://www.javanicus.com/londonjava/items/151-index.html"&gt;pub crawl&lt;/a&gt; for the geeks last
night. We attempted to find a suitable venue for the relocating geekspeek event, and also, seemingly, we attempted
the world record for number of &lt;a href="http://www.apple.com/powerbook/"&gt;PowerBooks&lt;/a&gt; in a pub.
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://joe.truemesh.com/blog/000383.html"&gt;Joe 'the agile ninja' Walnes&lt;/a&gt; says his training for the
&lt;a href="http://joe.truemesh.com/blog/000383.html"&gt;backflip attempts&lt;/a&gt; is going well.
Make sure you &lt;a href="http://joe.truemesh.com/blog/000383.html"&gt;sponser him!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://james.netlagoon.com/"&gt;James Fairbain&lt;/a&gt; recommends &lt;a href="http://www.flickr.com/"&gt;flickr&lt;/a&gt; as the best next thing, but with photos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td valign="top"&gt;It all started at &lt;a href="http://www.beerintheevening.com/pubs/show.shtml/1564/Ye_Old_Mitre/Holborn"&gt;Ye Olde Mitre&lt;/a&gt;,
a cute little pub in an old Dickensian alley.  This looks like a nice hideaway, but a bit too hard to find for occasional geekspeekers.
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/mitre.jpg" alt="Rohan, Marco and Duncan find ye olde mitre"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/mitre2.jpg" alt="Simon, Simon, James, Dominic, Marco and Rohan enjoy ye olde mitre"&gt;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td valign="top"&gt;Then we moved on to the &lt;a href="http://www.beerintheevening.com/pubs/show.shtml/446/Cittie_of_Yorke/Holborn"&gt;Cittie of Yorke&lt;/a&gt;,
this spacious pub seemed to suffer from communication issues between the staff, which led to delayed orders, and unhappy geekspeekers.
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/yorke.jpg" alt="Dominic and Duncan discuss the supper artifice at the cittie of yorke"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/yorke2.jpg" alt="Simon, Joe, Torgeir and Marco watch James stag video in the cittie of yorke"&gt;&lt;/td&gt;
&lt;td valign="top"&gt;&lt;a href="http://www.flickr.com/photos/jfairbairn/575981/"&gt;James&lt;/a&gt; shows off his stag video.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td valign="top"&gt;The &lt;a href="http://www.beerintheevening.com/pubs/show.shtml/194/Princess_Louise/Holborn"&gt;Princess Louise&lt;/a&gt;,
it seemed a decent enough palace, but the various beverages obtained therein left something to be desired.
&lt;/td&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/princess.jpg" alt="Duncan and Simon discuss the needs of the modern male"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table width="100%"&gt;&lt;tr&gt;
&lt;td&gt;&lt;img src="http://fun.javanicus.com/whitehart.jpg" alt="Torgeir, Simon and Duncan find peace at the white hart"&gt;&lt;/td&gt;
&lt;td valign="bottom"&gt;Finally ended up at &lt;a href="http://www.beerintheevening.com/pubs/show.shtml/117/White_Hart/Holborn"&gt;The White Hart&lt;/a&gt; on Drury Lane,
a nice little pub, with a clean modern atmosphere. Will this pass the grade?  Only Duncan knows...&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
</description>
        <dc:subject>Java</dc:subject>
        <dc:date>2004-09-28T09:34:18+0100</dc:date>
</item>
</channel>
</rss>
