Monthly Archives: February 2011

Ant FTP task on OS X

I just spent a good deal of time trying to get the optional FTP task working with the default ant install on OS X 6.4. The most useful information on this topic that I found online was right here: http://mactip.blogspot.com/2009/02/ant-ftp-task-libraries-jakarta-oro.html. If you scroll down to the comments section:

"Whoever built the Ant distro from Apple didn’t have all the optional JAR files to hand, so things like the ssh task wont work even if you add jsch.jar to ~/.ant/lib"
— SteveL (on the Ant dev team)

So that pretty much nailed it. Time to upgrade. For this you’re going to need:

Continue reading

Imagining better bill-pay

I pay my bills on the same Saturday of every month, and every month sees the same routine: A frustrating experience with one (or all) of the websites that espouse “easy online payments,” only to wind up calling the company and paying by phone. While I appreciate any business that wants to keep my confidential information secure, requiring an increasingly convoluted combination of letters, numbers and special characters only ensures that I will find it necessary to write my password down somewhere and undermine the very security they hope to impose.

I have a technical background, and I know I’m not the only one who suffers this grind month after month. It’s time that bill payment systems see a user-experience overhaul, and I’ve got a few ideas:
Continue reading

An agile-ready checklist

If you aren’t in a position to deploy working code on a regular schedule, then your project can’t really be called “agile.” Getting the team together regularly and taking a test-first approach to development are fantastic practices, and employing them is crucial to a successful agile team. Agile by definition, however, means being able to deploy recent updates to production frequently and regularly.

“Agile” is a bit of a buzzword these days, and one of the chief complaints I hear from developers working towards an agile methodology is the push to be immediately more productive while the infrastructure lags behind. Maybe the development and pre-prod environments are unstable, the process for deploying to production is slow or costly, or there isn’t an accepted standard for driving automated unit and acceptance tests. Whatever it is that’s slowing you down, fix it! The longer it waits, the worse it gets. Here’s my own checklist for deciding whether or not a project is ready to be called “agile.”
Continue reading

Bundling Javascript and CSS resources with Jawr

On the surface, Jawr is a resource bundling library for Java web-apps with an incredibly confusing name (try saying “Put the Jawr JAR in the lib dir” a few times out loud…). The project website has this to say about it:

Jawr is a tunable packaging solution for Javascript and CSS which allows for rapid development of resources in separate module files. Developers can work with a large set of split javascript files in development mode, then Jawr bundles all together into one or several files in a configurable way.

Jawr allows you to keep your Javascript and CSS files separated and organized within a project, while still taking advantage of resource minification, concatenation, compression and caching (ie. bundling).

But why should I bundle my resources anyway?

Because for every shiny presentation effect there’s an HTTP request, and sometimes those requests are BIG. I’ve been recently working on a project that pulls in a number of Javascript data visualization libraries, none of which come cheap. The project is behind authentication and not exactly intended for public consumption, but here are some screenshots I pulled from Firebug’s net tab.
Continue reading