Archive for August, 2005

Call for scripts for Java

Friday, August 26th, 2005

I’ve a few bash and perl scripts that do helpful things to .java, .class and .jar files. I’m collating them online in a project (osjava scripts4java) and would love any useful scripts that people may have.

Mail them to username bayard, domain name osjava.org if you could.

Thanks.

Multidoc-jnr update

Friday, August 26th, 2005

Updated the OSJava multidoc with a couple of new features.

Firstly, we have automatic showing of the latest version. This stops the version pane being something you have to click on, and instead makes it an additional javadoc option.

Secondly, differences between each version are shown. Originally I used clirr, but that had problems when classes weren’t in the classpath (and getting them there would be very painful), so I enhanced an old bash alias I used to use for Commons release-notes into a perl script.

Only projects with multiple releases and jars in the maven repository were able to have a diff prepared, but that’s a fair chunk. For example, click on payload, simple-jndi or scraping-engine. I think you’ll like it.

multidoc-jnr

Sunday, August 21st, 2005

I’m always very frustrated by the lack of versioned javadoc at websites. Eric pointed out the other day that he had that pain trying to find the documentation online for the Tapestry 2.x application we have. Partly that shows that I should have it on my lleutranet informal intranet website :)

While cool ideas like Ashkelon exist to handle javadoc in a database, I’m going for something simpler. Put the javadoc into a versioned directory structure, then stick a simple site on top of it. The idea has floated around at Apache for a bit and I now have the energy to try out a prototype at OSJava.

It’s called Multidoc Jnr, after a previous attempt to do the same thing that was just a little bit too heavy to go ahead and use. The url is http://dist.osjava.org/releases/multidoc-jnr/.

  1. Suck doc out of .zip release files
  2. Generate multidoc jnr html pages
  3. Profit

Next steps. Make it a bit smarter on the .zip files; don’t unzip if already unzipped. Fix a couple of releases whose .zips were missing javadoc. Cron it.

Simple-JNDI 0.11

Sunday, August 21st, 2005

The last week has seen me diving back into the Simple-JNDI codebase.

The last chapter ended, post the release of the 0.9.1 bugfix, with the sinking realization that the Simple-JNDI codebase had finally gone as far as it could. I’d reached the point where I was making changes and hoping, rather than knowing. In short, the code was in control. A lot of this was due to the design decision to have a Context object that facaded onto the file-system.

Fortunately, the cavalry had quietly arrived and was already working to solve the problems for me. Robert Zigweid had looked at the PropertiesContext and created a separate in-memory Context, that was a lot cleaner and more importantly, did the job. By focusing on a smaller goal, he was able to support things that were an utter bitch to support in my code; most notably the important idea of being able to get a Context object out. Previously simple-jndi had only allowed leafs to be accessed, not branches.

As a complete in-memory implementation was waved under my nose repeatedly, the new simple-jndi design began to creep its way out of my sub-concious and onto my tongue. No one was listening, but that’s what you get for explaining a design to a 3 month old. Simple-JNDI-2 would be two components, an in-memory JNDI implementation and a piece of code for loading a file-system database into any JNDI implementation.

Given that we were only on 0.9, planning a 2.0 felt a bit weird. I quickly tagged and internally released a 0.10 so other projects could depend on the highly convoluted and increasingly painful latest code, then got to work. If ‘got to work’ can mean ‘lost enthusiasm to code anything’.

However, that has now passed, the late nights are being put in and Simple-JNDI 0.11 is surprisingly close. The TODO list is:

  • Test two new ideas for solving the Windows can’t have : in a filename pain.
  • Test System properties correctly override jndi.properties
  • Convince Eric Alexander to port XmlProperties from gj-xml to DOM
  • Write user-guide

The last one might sound worryingly large, but on the road to recovery a week or so ago I spent about a days worth of time writing a scraping-engine user-guide with good results, so know how I want to do it etc.

Two features have been lost. Firstly, only files from the file system are loaded currently. Classpath and URL lookup currently are not implemented, but a later release should replace those features; hopefully in addition to a lookup-plugin system. Secondly, files are no longer live. Change a file and you’ll have to restart the application. I could see that returning with the classpath/url return.

I’m very hopeful.

Clear head, drugs and the coding flow

Sunday, August 21st, 2005

At last. Antibiotics, allergy medicine and vitamin C have put an end to the pain that’s been plaguing me and draining my energy levels. Although I’m still undergoing the side-effects of said drugs, and feel like I have a fever though my temperature is fine; I feel alive again.

It’s been 6 months of just not having that ‘last-mile’ push to go from thought to action. Given that the previous 4 months or so were very taken up by Nathan’s first 4 months of life, it’s pretty much been a year since I’ve had this kind of coding flow in the evenings.

The last blog entry ended with: “none of this feels right yet”. Well, it feels right at long last. The worst part was that the pain wasn’t very noticeable most of the time, I just seemed to lack oomph and was down because of that. Now I just hope I don’t end up back there again anytime soon.

moving++, location != anywhere

Thursday, August 4th, 2005

Nowadays I’m moving forward but not getting anywhere.

Good news(?) health-wise, the aches, pains and irritations which were enough to affect my day to day actions and yet not enough to make me goto the doctor (yeah, I’m an idiot), were for the last week so painful that I finally went to the doctor. Seems I have another sinus infection, chances are the one I had a long time back never went away. So good news in that I know why the last week has been a week of utter misery, and bad news in that as with all medical issues there can be nasty repercussions, least it seems that way if you’re discovering all the wonderful vaccinations they want to jab your poor children with. So that’s a forward, though nothing actually different yet. Antibiotics, lemsip, advil, lots of H20 and vics vapour rub.

Another forward is the release of osjava oscube 0.2. A few minor fixes etc that really just shows that I need to code for myself again, I have no urge in the evenings to get anything done coding wise, even now my left ear feels like the room is depressurizing.

Admin stuff is easier, probably because each part has a defined start and close. I upgraded JIRA and Confluence a few times over the last months and have been doing lots of CVS to SVN migrations for Apache. Laid some network cable in the house, built a bed, put up a ceiling fan, setting up an OpenBSD firewall, replaced a towel rail, all really admin stuff and quite fun to do.

The Apache work is yet again moving forward without going anywhere. I’m definitely an inactive committer at Commons right now, I’ve a long list of want-todo’s that I’m unable to find the energy to move on and I’ve a set of chair emails that I need to write and send sometime soon.

All of this is better than it was a few months ago when I was getting nothing done at all. However, as is pretty usual for me, none of it feels right yet.