Jeremy Rayner on java and other stuff.

All | AudioDrama | Chatter | Fun | Groovy | Java | Life

Tech Presentations for your ipod
Posted on 19 Sep 2006
Some excellent presentations to watch online or on your ipod
19 Sep 2006 |

Useful Java Stuff
Posted on 06 Jul 2006
Useful stuff
  • stomp is a cute protocol for working with messaging systems.
  • compass is an object-searchengine mapping tool, making lucene easier.
  • Many people suggest it is time to switch to subversion instead of cvs.
  • Also Trac is recommended for a project workbench, looks cool.
  • JAX-WS is the spec for Java and web services
  • JAXB 2.0 looks interesting [overview (old)]
  • but I still love XStream
  • JPA (Java Persistence API) is hot [walkthrough] and worth learning.
  • JPA is implemented by the FREE Oracle tool Toplink
  • as well as Open JPA which is based on the wonderful Kodo.
  • Jencks is a good implementation of JCA
  • Spring was of course implicitly wonderful, and Pitchfork appears to be adding EJB3 to Spring.
  • Glassfish is incubating lots of interesting side projects.
06 Jul 2006 |

BCS Open Source Meeting - review
Posted on 15 Mar 2005
I popped along to the first open source meeting of the British Computer Society last night.

It began with a very entertaining talk from Sarah Ewen about Linux on the Playstation 2. The Playstation2 Linux distro 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 VU coding contest entries. I would find it hard to recommend this 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 Mac mini, which would fly for desktop usage.

After the presentation, the usual BCS governance was ironed out, and the committee were voted in for the next six months. Amongst the aims of the BCS Open Source Specialist Group are reducing professional uncertainty around the subject of Open Source and to encourage serious debate & examination of Open Source.

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 discussion forum 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.

My thanks to the committee for organising a good evening, and the particularly nice cakes.

15 Mar 2005 |

Installing HenPlus on OSX
Posted on 02 Feb 2005
I came across HenPlusa 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.

It wasn't straightforward to install HenPlus on Mac OSX, largely due to HenPlus needing java-readline which in turn requires the darwin ports version of readline.

Thankfully, the blogosphere has got there first, and a step-by-step guide to getting java-readline working has been provided by Brian. cheers.

02 Feb 2005 |

grash: added a command history (jline)
Posted on 28 Oct 2004
Thanks to TheServerSide I have had significant interest in grash, 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.

Marc Prud'hommeaux has directed me towards his wonderful wrapper for streams, called jline, that allows grash to provide line editing and command history.

I have released a new version (grash 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.

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".

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.

This new release also fixes an issue found by Dave Minter, thanks for the feedback Dave, hopefully you will find things a bit more bulletproof now.

Please keep your thoughts and ideas rolling in, cheers.


28 Oct 2004 |

grash: a unix-like shell for your JVM
Posted on 25 Oct 2004
"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."

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 grash. 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 Groovy programming language. Hence 'GRoovy-Again SHell'

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.

what follows has been adapted from the wonderful Kernighan and Pike

What Objects are out there?

The ls command lists the names (not contents) of Objects:

/ grash$ ls
/ grash$
The names are sorted into alphabetical order , like most commands, has options that may be used to alter its default behavior. The -l option gives a "long" listing that provides more information about each Object:
/ grash$ ls 
-------rw-  junk
--------x  main
------rw-  temp
/ grash$
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.

Printing Objects - cat

Now that you have some Objects, how do you look at their contents? The simplest of all the printing commands is cat . cat prints the contents of the Object name by its argument:
/ grash$ cat junk
To be or not to be
/ grash$ cat temp
That is the question.
/ grash$

A handful of useful methods

Grash exposes the Java and Groovy Libraries to the command line user, providing
/ grash$ cat junk
To be or not to be
/ grash$ cat junk.length()
/ grash$ cat junk.tokenize()
[To, be, or, not, to, be]
/ grash$ cat junk.tokenize().sort()
[To, be, be, not, or, to]
/ grash$


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.
/ grash$ ls -a | println size()
/ grash$
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.

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.


How do I embed grash in my own programs

  • put grash.jar in your classpath
  • include these lines somewhere in your code (note: you can pass your own input/output streams in the Grash constructor}
import com.javanicus.grash.Grash;
Grash grash = new Grash(myObject);
Thread consoleThread = new Thread(grash);

Under the covers

  • 100% Groovy source, at the moment (although some unit tests on Java will be needed)
  • Object references are currently piped around, rather than streams.
  • The grash command line parser takes precedence over groovy, so any ; | > & symbol will be ignored by the time that groovy sees it.

What's left to do...

  • Everything...
  • I have implemented other features such as cd , ps , pipes, redirects and some advanced options on ls
    • Feel free to play with them.
  • Decisions over pipes:
    • object handles or serialized objects ?
    • Do the methods in the subsequent pipe commands call methods on the result of the former, or methods on the 'current working instance' ?


  • This project is just a baby (born 14 Oct 2004), and is an extrapolation from the concept of file/object equivalence.
  • This project uses Groovy which is still in Beta.
  • grash.jar contains all of groovy-all.jar, to help ease of setup. However a version without included groovy will be available upon request.
  • You won't be able to get STDIN (InputStream) to work if you are running your program from ant and it's derivates.


  • "It's amazing what you can do when you're too stupid to realised that it is impossible to achieve"
  • I have no clue whether this will be useful, I'm just experimenting right now.

I'm looking forward to your comments and ideas

25 Oct 2004 |

London Souvlaki Meetup
Posted on 19 Oct 2004
This morning started as I fought my way against the commuters on London Bridge, into the Regis House (Sun training centre). Cameron gave a nice little talk explaining the concepts surrounding the scalable perfomance concerns of high end J2EE applications.

Jules and Cameron after the Tangosol seminar

Cameron very kindly managed to get at least six people from the seminar to then show their faces at the London Java Meetup.

People at SOS

Some new faces too

A great turnout at tonight's meetup, finally Carlos managed to make it along, yay.

Carlos and Cameron

I Managed to talk to Stuart Ervine who is tackling the task of creating a Swing frontend to his xwork actions, called Pendulum. 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.

Stuart and Max

Jules managed to get the chance to explain that WADI is shaping up nicely.

The meetup moved out of SOS as the evening progressed, as Cameron suggested we find solace in a souvlaki bar.

A souvlaki bar in the heart of the city

For those that care, I rambled on about Groovy, grash, thinlets, gnudiff4java, xdelta in java, the freenet routing algorithm, xstream, sitemesh, BBC Emulation on MacOSX, JOGL, and redbook OpenGL examples.

Thanks to Cameron for increasing the fold, and thanks again for the prized Tangosol T-Shirt.

19 Oct 2004 |

London Java Meetup - tonight
Posted on 18 Oct 2004
It's the London Java Meetup this evening. If you haven't been before, then tonight is a good night to join us. Cameron Purdy 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.

Hope to see you there

18 Oct 2004 |

Ninja Joe
Posted on 11 Oct 2004
After hearing that Joe would be attempting to backflip down finsbury pavement, like a ninja, I was to say the least a little skeptical.

But Joe persisted and as you can see from this blog entry, he did his research and attempted to raise lots of money for charity.

Did he do it?

Judge for yourself...

Quicktime Movie of Three Back Handsprings (2Mb) and other pics/movies

Well done Joe!

11 Oct 2004 |

London Pub Crawl - the results...
Posted on 28 Sep 2004
A very enjoyable pub crawl 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 PowerBooks in a pub.

It all started at Ye Olde Mitre, 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. Rohan, Marco and Duncan find ye olde mitre
Simon, Simon, James, Dominic, Marco and Rohan enjoy ye olde mitre
Then we moved on to the Cittie of Yorke, this spacious pub seemed to suffer from communication issues between the staff, which led to delayed orders, and unhappy geekspeekers. Dominic and Duncan discuss the supper artifice at the cittie of yorke
Simon, Joe, Torgeir and Marco watch James stag video in the cittie of yorke James shows off his stag video.
The Princess Louise, it seemed a decent enough palace, but the various beverages obtained therein left something to be desired. Duncan and Simon discuss the needs of the modern male
Torgeir, Simon and Duncan find peace at the white hart Finally ended up at The White Hart on Drury Lane, a nice little pub, with a clean modern atmosphere. Will this pass the grade? Only Duncan knows...

28 Sep 2004 |


October 2007
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Prev | Today | Next

rss:subscribe (Java)

What I'm reading
my feed aggregator ->box

My websites
London Java Meetups
Programming Projects
Elite in Java
Jez's Photos
Fantasy Stock Market
Cool Saxophonist
Doctor Who Audios
Pisces Audios

Other Blogs
Mike Cannon-Brookes
James Strachan
Joe Walnes
Sam Dalton
Simon Brown
Cameron Purdy
Mike Roberts
Erik C. Thauvin
John Martin
Manfred Riem

B5 d++ t++ k s+ u- f
i+ o+ x-- e+ l- c--

powered by blogmento