Change is good

Yesterday I had a dilemma when working on a healthcare IT project.  I was having troubles with an Excel file upload system that was throwing an error that I was out of system resources.  Research says that this error is due to the odbc/jdbc connection locking the connection and not releasing.  I found that interesting  but it didn’t solve my problem considering even after a CF restart, the same message appeared on the first upload try.  So, like anyone else in my shoes, I had to decide whether or not I needed to continue beating my head against a wall or find another solution.  Luckily a few weeks ago I’d started working with the Apache POI, more specifically, the version that ships with Coldfusion 8.  Now I know there are ways to grab the newest version of the POI, load it up with the javaloader function, but for now, I just need the basics, simply reading and writing basic Excel files from/into queries.  After all, that’s all that most medical eLearning and healthcare IT clients want and need.  Should we need to make it fancier, we can, and at that time (like everything else new that I learn) we will make that leap.

It’s funny really, as a techie, I find that in our field we’re more apt to want to find a good solution for things, but not necessarily the correct solution.  Sometimes this is as simple as doing exactly as we’re told (there is an error, fix the error from showing rather than fixing the application logic that’s causing the error) and sometimes trial and error that causes more problems than it solves. At some point in our quest for perfection in eLearning and healthcare IT program development, we can no longer go down the same path and we have to decide that we need to gain a new perspective and find the solution from a new point of view.  For most of us that is a hard thing to do. So much effort was put into the other way (however we were put in that position to begin with) but in the end, the best solution is the one that works in most cases with the least compromise: time, effort, scalability, usability.