Archive for December, 2005

Roller + Derby + OS X + Tomcat 5.5 + Java 5.0

Wednesday, December 28th, 2005

Just spent an interesting couple of hours getting a development version of Roller up and running on OS X. The process went something like:

  • Check Roller out of SVN. Run ‘ant all’.
  • Download Derby. Play with its network demo a bit, then leave the server part turned on.
  • Download Squirrel SQL Client. Point it to the derbyclient.jar and connect.
  • cat the createdb.sql script in the build/roller/WEB-INF/dbscripts/derby/ directory into the ij tool.
  • Download Tomcat 5.5.x. Try to run, discover that I’m on Java 1.4.
  • Find the Apple 5.0-rc3 release. Download and install.
  • Set the JAVA_HOME manually to the 5.0 version and hack the PATH as I don’t want to push the whole machine onto 5.0 quite yet (or at least not while Java programs (Squirrel, Derby) are still open).
  • Turn on Tomcat. Goto localhost:8080 in Safari.
  • Copy build/roller in svn checkout to webapps/roller in Tomcat.
  • Copy roller.xml file from production blog, try to run, everything blows up.
  • Add derbyclient.jar to Tomcat common/lib.
  • Spend far too long trying to figure out what’s wrong, before reading the install instructons and realising I’d forgotten that Tomcat 5.5.x changed the way database stuff is handled. Modify roller.xml.
  • Start, crash, grab common-dbcp, collections and pool. Restart, crash. Modify webapps/roller/WEB-INF/classes/hibernate.cfg.xml to use the Derby dialect.
  • Start. Works. Blog test crap.

Fun :)

Back-in-mac

Wednesday, December 28th, 2005

Happiness is being back on a powerbook. I love these things; just hoping I can figure out how to submit expenses next week :)

Successful Software

Sunday, December 25th, 2005

It’s time for my yearly gush over my favourite computer game. I started playing it when it first came out on the Commodore Amiga, around 1989 or something (random guess). It’s been swallowed by Eidos, lost its name but not the source, and continued to charge on, always gaining huge sales in the UK and I presume elsewhere.

Nowadays the software is called Football Manager, which incidentally was the name of the first computer game I ever owned in 1983 or something like that on the BBC ‘B’. Its released each year with game tweaks, updated data and new ideas. Here’s why I think this software rocks:

  • Test of time. For 15+ years it has been THE football management software. Nothing else has compared. Achieving this is hard, but a huge part would seem to be that the people behind it have a genuine love of what they are doing. Apart from an Ice Hockey management game, they mostly seem to have focused on this genre (okay, Baseball as well, forgot about that one).
  • Community. The data is compiled by fans around the world, not by a commercial entity. Eidos, who have kept the old name of Championship Manager and have released a dud under that brand switched from working with the community to working with a hried company, SI Games kept with the community.
  • Depth vs Imagination. The trick to a good ‘god-game’ is to offer lots of depth, but not to get in the way of the ego of the player. CM/FM has always been great at that, it’s not a game, it’s an exercise in megalomania.
  • Reality. Football is a mess of corporations and sponsorships nowadays. Getting permission to use real names, kits etc seems to cause trouble with software all the time, but the CM/FM developers have always managed to use the real names.
  • Depth (again). 158 leagues in 51 countries, massing 2351 clubs and 270,000 players. Plus all the countries at the national level. It’s odd they don’t have some countries; such as Japan, Canada and more African countries than South Africa. I presume that most of these are down to commercial reasons; not likely to drive enough sales. Japan seems odd though, maybe they hit legal issues.
  • No difficulty levels. So many games have artificial systems so you can define how hard you want the game to be. In CM/FM you do this by the choice of your team. Very natural, and it works.
  • PC/Mac. The latest version ships with a CD that has both Mac and PC versions. No more having to pay twice just to be agile machine-wise.
  • Start screen has an description of your addiction level :)

There are some negatives. A year after I get Football Manager 2005, I get Football Manager 2006. The cost isn’t a problem (actually I make my parents buy it for me each year :) ), but there’s no update ability. I can’t see any way to update the game engine of a 2005 game to the 2006 engine. The second negative is that it uses some kind of copy-protection software. Never been a problem until the latest one, in which I had to uninstall CloneDVD. Not a problem as I don’t use it, but figuring that out saw me deleting the 2005 install in case that was the problem.

The last negative? I need more time and I need a powerful quad-CPU Windows machine if I ever want to run all 158 leagues.

Maven -> Maven 2

Sunday, December 18th, 2005

So it’s time to learn about the maven1 to maven2 migration route. As always, start with osjava and then take that education elsewhere (maybe Commons if no one has done it by the time I grok the various bits).

First off, turn your project.xml into a pom.xml. Mostly this is search and replace, or bits to delete. Apparantly there’s a tool out there to do this, and someone suggested writing an xslt file. Currently I’m just using a bash script of perl -pi -e’s. Gets me mostly there.

Next, transitive dependencies + legalities bite your arse. Simple-JNDI depends on Commons-dbcp and it depends on jdbc-stdext, and maven quite rightly throws a fit when it’s not available. Luckily I found the jar on my server as it’s a pain in the arse to find otherwise. You install it with mvn install:install-file -Dfile=jdbc2_0-stdext.jar -DgroupId=javax.sql -DartifactId=jdbc-stdext -Dversion=2.0 -Dpackaging=jar and then things will work. I’m looking forward to the Glassfish versions of these jars appearing on ibiblio, though I have a sneaky feeling that the jdbc-stdext jar won’t be there.

Knowing what to type at the command line is a surprising blocker. Well it is if you skip the ‘getting started’ to dig into the maven 1 and 2 differences :) Anyway, the goals to remember are compile, test, package, install.

Not exactly a lot of education, but time is short etc :) Roller migration to do and I just remembered that the Jakarta board report is due.

Free Beer

Tuesday, December 13th, 2005

Open source is not free beer. But it can be. Thanks Google, Oracle, Chariot, Sun and many others who help to bring free beer to ApacheCon.

ApacheCon targets

Monday, December 12th, 2005

I’m doing pretty well so far on hitting my targets for ApacheCon. It’s a working trip of course (Apache work), so I’ve managed to hassle the remaining people about their SVN migrations (OJB, what’s the plan??); I’ve dropped the Commons CSV fax into Jim’s hand; I’ve waved a CCLA in front of Byron (CEO of SourceLab) and got him to sign it; promptly following by dropping it into Jim’s hand. If I can find a printer I might print a code grant for OsJava Norbert and get that to Jim as well.

Then there’s making sure I said hi to Ted Leung and Cliff Schmidt; my future neighbours in the lovely overcast city of Seattle. Lots of talking with Cliff, I seem to have become a focal point for quite a few legal issues and I just love to add them to his very ’short’ list of todo’s. Plus I can irritate him further by asking for what we all want, a Yes/No license matrix on a web page :) He’s working on it, I think he needs more beer.

Talking lots about Jakarta has been very high on the list. I’ve talked to Martin Cooper, Niall Pemberton, Will Glass Hussain, Henning Schmeidehausen, Brian McCallister, Torsten Curdt and probably many others. Slowly increasing my mad schemes until I start to believe myself. We need to tighten Jakarta by continuing the TLP migrations and then fold Jakarta and Commons into the same concept. Bit odd as we then have two very strong brands and (possibly) only one brand space. I won’t say that I’m getting huge grins and +1s across the board, but responses are generally positive enough to make me push forward a little.

There’s a change in the attitude too. We’re increasingly evolving to inactivity, because activity is rewarded with TLP-migration; so someone needs to compensate and its the chairs role to fill a job when a job is not being done :) The buck really does stop here, it’s what we’re about. So I expect to have lots of interesting times.

We had the member’s meeting of course. Lots of good things. Lots of learning too, you can see the apache way in action at these things. Oscillating chaos and organization, ending with a result amidst a fun atmosphere.

Probably other things, but I’ve got emails to send :)

Nomadic conference attendee

Monday, December 12th, 2005

Gotta admit, I’m having fun.

I’ve met lots of people and put faces to login ids. It’s a bit odd as a social
event for me because of the magic that is the asf virtual world, I don’t
actually belong to an obvious community. I do a lot of Jakarta worrying as
chair, but does that make me a part of the Jakarta community, the officer
community or the board mailing list community. I do a little Roller, and
because other people like to overlap their communities I find myself
sitting in a Jakarta Commons group one moment and then with no warning it has
become the Struts project.

Throw in the cvs2svn work, which means that I’ve come into contact with
most of the ASF; and of course Infra itself and I’m some kind of nomadic
itinerant who is wandering around confused and bemused. To add another slice,
Byron and Garrett from SourceLabs are here, so I’ve another stopping point
on my nomadic conference lifestyle.

Very odd. Almost as if I could use some kind of networking metaphor, quick, time to trademark.

ApacheCon arrival…

Saturday, December 10th, 2005

Little late (4am my time, 1am local time), but I’m in San Diego. Time to crash methinks. Given that we cosleep for half the night with our son, it’s weird sleeping in a bed without the usual battle for space. Bet I end up curled up on the edge out of habit.

New Job

Friday, December 9th, 2005

And now I get to crow about the new job :)

On January 2nd I start my employment at SourceLabs, Inc. where I will (as the site says) provide “Dependable Open Source Systems for enterprise IT organizations”. Part of my day will involve supporting customers with open-source project problems, part will involve researching more into those projects (ie: writing articles, swik entries, and good old school hacking I presume) and part just let’s me sit down and work on Apache things.

I know what you’re thinking…. “Support?” Ugh, Ick, Ptui — Relax. Have some kool-aid :) Support at SourceLabs isn’t about someone reading off a FAQ and asking questions on the mailing lists for customers, it’s about having a nomadic open-source developer who’ll go digging into the supported project, hunt down bugs and work with its community to get the bugfixes worked into the trunk instead of forcing a customer onto an internal branch, with an advantage being that said nomadic developer often passes by this watering hole, so not only do the locals know them, but they know the locals and the local customs.

Being able to work on Apache things in the day is going to be lots of fun. It’ll open up time in the evenings for essential things that were being blocked. Like erm…more Apache things.

Lastly, and the one my wife is most enthused with, the job is in Seattle. So at some point in the near future we’ll be moving to Seattle. Given that the temperatures in Louisville have been sub-zero for the last few days, and there’s an evil layer of snow-become-ice on the ground, I can’t get to Seattle’s weather soon enough.

So that’s what the future holds:

SourceLabs, Seattle, “have Source will Patch”. I’m excited :)

Ch-ch-changes….

Thursday, December 8th, 2005

It’s a week for changes.

Firstly, I’m flying off to San Diego tomorrow for a week. With the exception of a 2 day period a couple of weeks ago (more on that later), I’ve not been away from my wife in a long time and I’ve never been away from my son (with the exception of those 2 nights recently….).

Secondly, we put our house up for sale two days ago. We’ve been here for three and a half years, and this is our first home of our very own, so it’s a big step to be leaving it. It’s where Nathan cried out his first night outside a hospital, where he crawled his first few inches to undo my shoe laces and where he walked his first steps. My parents moved when I was three and when my sister was Nathan’s age, so I know what it’ll be like for him. We’ll mention ‘the house’ every now and then for the next N years, and to him it’ll be nothing more than those two words and a world of context. Still, maybe we can show him the place one day.

Thirdly, I handed my notice in at work yesterday. I’ve been there for 4 years and a week, so it’s a pretty big change. More on where I’m going once I check with my new employers to ensure I can mention things :)