Sunday, May 22, 2011

littleware a little chill

I just updated littleware's ivy repository with new versions of the core littleware artifacts. I completely reworked the way the asset system manages client-server interaction, and also reworked the asset type-tree and IOC injection. I think it's a big improvement, but I'm too lazy to get into it tonight. The core littleware.asset APIs pass regressions, but the supplement tools under littleware.apps (data buckets, image managers, task tracking) need patches to work with the updated core APIs, so I didn't release new versions of those artifacts yet.

I'm busy now with some consulting work (whoot!), so littleware is going to have to simmer on the back burner for a while. I still laid out some goals for littleware's next milestone. Rather than complete the port of the supplemental modules to the new core api's, I plan to work on a couple services for services.frickjack.com that do not require the asset system.

The first service is a simple Google-calendar based appointment manager. A client supplies a calendar with events marking out when he or she is available for appointments, then other users from the general public may visit the frickjack service to view the calendar, and schedule an appointment - which just appears as another event in the calendar. This service will take advantage of the openId authentication service already deployed. I think this service would be useful for the owners of those "For Sale By Owner" homes to let potential buyers schedule home visits online.

I also want to deploy a simple barcode-image service where a client may submit a numeric barcode to a ReST-like URL, and receive in reply a .png barcode image. I've had this service in mind from when I worked at Auburn University's library, and a coworker in circulation mentioned how annoying it was to search for the record in the ILS associated some e-mail or web-based request. He suggested that it would be nice if the e-mail or web page had an embedded barcode-image that he could just scan with the hand-held barcode scanner that integrates with the ILS system.

We'll see how it goes.

Tuesday, May 17, 2011

Keep up with the bLog!

My list of blogging topics is piling up, but I've been putting off my latest post trying to finish several littleware changes, then a small contract.

Anyway, time to take a break from code, and complain about platforms. It's great that there are so many great tools and frameworks out there to take advantage off - application servers ( glassfish, tomcat, jetty, jboss, geronimo, ... ), distributed SCM (Mercurial, Git ), IDEs (Netbeans, Eclipse), java web component libraries (JSF, MyFaces, RichFaces, PrimeFaces, struts, ...), build tools (ANT, IVY, Maven, Scala SBT, Gradle), databases (MySQL, Postgres, Cassandra, ...) ORM ( Eclipselink hibernate, ...), javascript (YUI, JQuery, GWT, Flash, ...), languages (PHP, java, scala, python, ruby, ...), platforms (Spring, JavaEE, Guice, AWS) ... !

It's nice except when it's not nice. It always takes me a while to learn how to use a tool well - the right and wrong way to do things, the corner cases to avoid. So I like to use ant with ivy, glassfish, netbeans, mercurial, YUI, ...; and I'm not going to spend time learning jboss, maven, eclipse, and git unless they have something major to offer me. Of course - other people feel the same way. I can't argue with a project proposal where the client wants to use tomcat, struts, git, maven, and eclipse; because that's what the client is familiar and productive in, and there's no reason for that client to switch to glassfish, jsf, mercurial, ivy, and netbeans. It's a little annoying to spend time learning a new tool that does the same thing as a tool I know how to use, but in a slightly different way - even though I always learn something in the process.

End of rant!

Friday, May 06, 2011

Rejected by Google!

I was lucky enough to interview with Google in Santa Monica last week, but got the "thanks, but no thanks" call today. Ugh! On the one hand they would be scraping the bottom of the barrel to make me an offer, and on the other hand a company that can't talk itself into making me an offer has bigger problems than I can help with. Still sucks though.