Friday, July 1, 2011

I'm bored

Seems like I finally have a project with alot of things I have always wanted to do...

For the server code we are using Groovy (mostly) and Grails.  We practice TDD where our builds have code coverage > 80% as a standard.  Clean Code (by Uncle Bob) is our team coding standards 'bible'.  Yes, it is not really 'coding standards'.  But I think most coding standards are like trying to cure the symptoms of bad code with perfume.  What we really want is code that is easy to maintain and a joy to modify.

We have gotten rid of several of our mandated technologies from management that have no technical merit.  No more Liferay, ImageNow, Maven, Java (mostly), Spring XML config or Oracle.  No we use simper technologies like Tomcat 6, Grails, Groovy and PostgreSQL.  Unfortunately, we are still not *allowed* to use Flash since Steve Jobs said "Flash is dead" and our management thinks that means we shouldn't use the Flex framework anymore.

The last thing is a sore spot with me.  Lexmark still has several good projects that use "Flash".  They use Flex for very nice RIA front ends.  I spent close to 4 years getting pretty good with Flex.  Probably more than I wanted, since I still like writing server side code etc.  So I when I was told we weren't going us Flex, I was open to diving back into JavaScript, HTML and CSS after years of avoiding it.  Well, maybe not interested in CSS.

I find myself still avoiding the JavaScript though.  Our UI guys are doing a great job with ExtJS but still get tripped up with browser issues, mostly IE8 now, and nothing I hate more than browsers.  So I find myself longing for the clean, consistent framework I enjoyed and beginning to remember why I gladly stopped writing JavaScript close to a decade ago.  I don't want to be a JavaScript ninja.  Investing intellectual capital in CSS styling to avoid IE issues.  Or avoiding language constructs core to JavaScript that simply suck.  Or trying avoid the sea of unused reserved words.  Or probably the worst...not good way to run JavaScript unit tests in a build and show test coverage.

JavaScript bashing aside...I'm bored.  Our project is pretty basic at this point.  We are in the final months and not a ton of coding.  Mostly configuring security.  Testing integration with external systems.  Dealing with UI bugs caused by browsers, ExtJS4, CSS, JavaScript, localization or whatever.  Thankfully I have motivated JavaScript ninjas doing most of that.

So bored that I gladly picked up the ball to do some ill-advised story for using MS Office as the conversion technology for our doc to PDF work.  We already use JODConverter to manage LibreOffice, which works fine and has thought given to how we are using already.  The fidelity is on ly 50% what our customers want however and some customers will pay for better.  And rather than bying something, which is what we SHOULD do, we are going hack up some way to use office behind some queuing mechanism since MS Office was built for single user automation only and you can only convert one Word, one Excel and one Powerpoint at a time with a given instance of MS Office.

I'm currently using Groovy library, Scriptom, that runs on top of a Java COM library called Jacob.  But more fun that chasing weird browser UI bugs or integrating with some external implementation of OpenAM.  I think I will need to use queue or maybe even batching for the conversions.  Fun exercise, I think, although means I have to run on a Windows VM and I am a Mac guy now, 4 years reformed but I still fall off the wagon occasionally because of business requirements.

Regardless coding still can be fun.  Maybe I'll throw a little Flex UI on top of my conversion engine.  ;-)

No comments:

Post a Comment