Showing posts from June, 2009

Interesting Tidbits

It's been a while since I had a post to talk about some of the new(er) technology I'm just hearing about. Here are three things that got me excited recently. First person user interfaces I came across this article on First person UIs . Basically it works like this: you have a location aware device like a smart phone with GPS and a camera. You're walking around and you see a historical building, business, or other point of interest (POI). You point the device's camera at the object and WHAMO - you instantly get a bunch on info about the object. This can include the name of the POI, how far it is away, a phone number to call, a history, and a bunch of other interesting tidbits. It will be like having a virtual tour guide in your pocket. This is very cool! This concept is also called "augmented reality". Google App Engine, Big Table, and more on the Cloud I recently watched this talk on Google App Engine . I've been watching Amazon's EC2 for s

Maven - Why not?

I guess I still get a little surprised when I see code for a Java project and there's not an automated Maven build. These projects often have an Ant script (many times the default one generated by Netbeans or Eclipse), but seldom a Maven POM file. I wonder why? Especially since Maven is so easy to use and really adds value over a vanilla Ant build. Maven takes an Ant build to a higher level of abstraction to where it's easier to manage and change. What I think I like most, is the idea of the Maven repository. It's a nice way to store and share application dependencies. In a typical Ant project, dependent JARs will be stored in source control along side the source code (typically in a lib directory). This can make initial checkouts of these projects S-L-O-W. Compounding the problem is when a set of projects use a framework like Spring. Each project will store it's own set of Spring jars with the source, forcing developers to download the same set of jars mult

Spring Revisited

Recently I retrofitted some code I was working on to utilize Spring . It's been some time since I'd used it and I'd forgotten how much I enjoy coding in this framework. It really helps me write better, cleaner code. As developers, we always strive to create plug-and-play architectures - you know, code to an interface, achieve easily swappable implementations, etc. That in itself really isn't that hard to do, but Spring really shines in enforcing this idea. My original code (for Jena) needed to grab some Resource references from the model and looked something like this... {method declaration} OntologyModel model = {get model reference} URI resourceUri = new URI(""); Reoruce myResource = model.getResource(resourceUri); {additional business logic} The equivalent Spring configuration replacement for this code looks like this... <bean id="myResource" class="com.myCompany.Resource" factory-bean="