When it comes to open–source advocacy, timing helps. I spend one day a week with a manufacturing concern whose business runs on an IBM mid–range system (apparently it's old fashioned to call them minicomputers). My job is to rewrite an ASP application so that it will run on another virtual server in the mini.
Today I arrived on–site to the sound of alarm bells. The server hosting the current version of the application went down at some point yesterday. It's at a co–location facility, so not easily prodded with the sharpened stick. The net result is that the server "went away", perhaps never to return. Okay, why don't we just upload a backup to one of the other Web servers? Oh, it's ASP. That only runs on MS Windows machines (perhaps it could be ported to something like Mono, but not within our target timeframe). The two other Web servers available both run (and depend on) non–Windows operating systems.
When people are running around waving their hands in the air, they tend to be startled when I call a time–out. Sometimes that's the best time to stop and think though. I had been charged with porting this application from ASP to another proprietary programming language that was tied to a single commercial, closed–source operating system, which in turn is available on single–source server hardware. We can't move the application to the available servers because it was coded in a proprietary, non–portable language. If we rewrite it in another, similarly constricted language then we're repeating that past mistake instead of learning from it.
The Web server came back up (after it took a short car ride), but not before I was able to present a sound business case for rewriting the application in PHP, which will run on the minicomputer, on unix and even on MS-Windows if that's necessary. I have to go now, I have a lot of PHP to write...
2 comments:
That's funny how that happens. Not the whole proprietary mess, but how when you suggest something good, you immediate become solely responsible for making it happen.
I suggested that we have some sort of matrix available to customers to clearly and definitively outline what platforms we support so that there is no ambiguity and therefore when someone is trying to do something they're not supposed to do we can tell them flatly that we will not support it because it is quite clearly not on our "list".
Guess who got that job? ;-)
PHP is a good way to go. There's many good Linux LAMP install disks out there to make setting the whole thing up much more simple. On top of that, installing WebMin makes defining things like SAMBA shares a breeze (the only thing I've failed on so far is getting ProFTPd to run properly)
Additionally, PHP tailored editors are coming in thick and fast to help with things such as code completion, etc. Have a look at NetBeans 6.5 which has advanced PHP editing as part of the major feature list. Of course there are many others, that's just my personal favourite (working primarily in Java).
Stu (anon as I can't remember my google password)
Post a Comment