Apache Pivot

January 21st, 2010

Thanks to a tweet from @bdelacretaz I discovered Apache Pivot today. It does indeed have a nice website, and the library itself looks great. It’s pitched as an RIA framework and mostly seems focussed on browser based deployment via applets. However, pivot apps can also be deployed as standalone applications which is where I think it’s most promising.

The killer feature as far as I can see, is the much richer set of components that are available, combined with a better set of customisation points such as effects, transitions, web queries and data binding. There are libraries to do most or all of this with Swing, but since it wasn’t designed for it up front, they tend to feel pretty clunky and “bolted-on”. Hopefully Pivot can avoid that.

Sadly, it does look a bit like you’re leaving Swing completely behind – if for no reason other than the look and feel is unlikely to match nicely with the Pivot themes without a lot of effort. While Pivot has a lot of components built-in, there are a vast world of custom Swing components around and it would be nice if you could leverage those.

Know when to refine, when to refactor and when to refrain

January 11th, 2010

Chris J Davis in Lessons for the Newly Minted:

As you can clearly see, when you have tight deadlines, and mountains of work, refactoring existing code that works is highly unadvisable. As a developer you must make strategic decisions about where your time is spent, and this must be informed and balanced by the needs of the company. Should you strive to craft breathtakingly beautiful code? Yes, but not at the expense of the overall velocity of your development schedule. Sometimes good enough is beautiful.

Amen to that.

More Build Systems and Lots of Links

January 4th, 2010

I’ve been doing a bit more Googling and seem to have hit onto a few key articles that tie into a web of articles around build systems. There’s certainly a lot more options that I’d originally thought.

Build Tools

  • Gant – Not really a build tool itself but an interesting library for scripting ant tasks in Groovy.
  • Gradle – Came out of the work on Gant and provides a full build tool with Groovy scripting and leveraging Ant tasks quite heavily under the hood. Uses Ivy for dependency management and promises good things for multi-project builds. Most interestingly though it has transitive dependency support without the need for remote repositories or pom/ivy files.
  • Schmant – Aims to be comparable to Ant in features but nicer and easier to work with. Uses Java 6 scripting to let you use a wide range of languages to script the build, but the sample build files look a little complex still. Most interesting is the TaskExecutor support for running different build tasks in parallel threads – not sure if it’s easier to use than ant’s parallel task though.
  • Apache Buildr – rake for Java I guess. Could also be described as maven done right – the build files are kind of POM like, but are actually full ruby classes. I played with this one a bit and it’s very impressive, though its transitive dependency support is still a bit immature.

Maven Info

Also stumbled across some good Maven articles:

Subversion Pays Off

July 22nd, 2009

Subversion LogoFor ages now I’ve been keeping the EditLive! installer for my demo environment in subversion. Having the ability to roll back quickly and easily if something goes wrong has given me the confidence to track the development branch reasonably closely and then be able to show people the features that have just finished being developed which is fantastic market feedback. I’ve never actually had to rollback before, but today I found an alternative use: reproducing bugs.

It turns out a certain combination of plugins with specific signing certificates causes too many security dialogs to pop up and the dev team is having trouble reproducing it. Since I happened to hit that configuration in my demo environment, but had since resigned the plugins to get around it, I could just give the right revision number and they get an exact test case.

What I find particularly nice, is that there’s no overhead in using subversion because I’ve just included it in the update scripts I use to download the early access build and install it. I can carry on with what I’m doing and leave the planning for a rainy day to my scripts. That’s how computing should be…

Proper Care and Feeding of Computing Consultants

July 6th, 2009

Free Convertible Upgrades are GreatDave Walker – Proper Care and Feeding of Computing Consultants: Excellent set of things you should do to get the most out of a consultant visit. I haven’t been consulting very long and it’s not the main part of my job, but I’d add:

  • Let them know the hours you want them to be on site. It’s no fun for a consultant to be sitting outside the building at 8am when you start at 9:30. Similarly if you have an awesomely laid back European culture and finish at 4 they may be able to get an earlier plane home so it’s good to know in advance.
  • Make sure the consultant knows the exact name of your department (and how to pronounce it if it’s a foreign country to them)
  • Make sure you’ve lined up the important people your consultant will need to work with so that they are available. You don’t want expensive consultants wasting time waiting for people to come back from a meeting or trying to find the right people in the maze of your company.
  • When they arrive show them where the bathroom is – where to get water from is important too.
  • Recommended travel details if the place is hard to get to. Of course, flying into a different country and driving works out well if you just so happen to be upgraded to a convertible for free