Posted by pepe
on April 29, 2008 at 1:59 AM PDT
I recently deployed a new application to a customer's facility. Now that everything is fine there, i took a look back and watched what i did last year. One thing is sure, i could not have done it completely alone.
To resume, i love you all. Yeah, i mean it.
I entered a new company a bit over a year ago. Came back from Paris to my beloved French Riviera. Calanques, pastis and aÃ¯oli, i'm back.
In this company i am developing a new version of an old foxpro product which displays performance information in movie theaters. The old product -which i respect a lot- (developed in two days, sold and worked flawlessly as-is for years) had to be revamped.
Company wanted a new, smart (read "sexy") display, colorful, animated, customizable, skinable, flexible. They wanted to be able to configure everything through network, never touch display machines, be able to configure all machines (potentially hundreds) from the same interface and they wanted it to be easy.
At first, i had to do simple reporting, which movies were on air, in what hall, bla bla bla. It ended with a program that was able to display on multiple monitors a playlist of modules that displays completely different types of information (advertising, path to halls, synopsis of movies to come, ....). All modules had to be layered (clock over everything, for example), but everything had to be customizable, startable anytime upon simple action, independent and non-intrusive, animated, screen resolution independent, displayable in portrait or landscape independently on any monitor, ...
So i was there with a huge list of tasks. Excited on one side, totally frightened on the other. What i had to create became no-less than scala infochannel , I was pretty far from the ugly ticker they showed to me.
One year passed, it's spring and weather is getting better. I am at Deauville, north of France, installing my software in my first movie theater. I wanted to be there for the first customer so i got out of the office to install everything myself.
I am now a bit over 110K LOC, my netbeans RCP program works very well. It displays information with java3D on up to 4 full HD monitors at around 60 fps on a roughly standard PC. Everything is as wanted, configurable through the net, easy, interactive, sexy.
Customer is happy and wishes to have more displays as i leave and take train to get back to the office. I feel nice and happy of my work, life is fine.
Life was almost fine, in fact. My dell laptop inverter broke, which left me with a dark screen and nothing to do for hours.
This is where i thought about an old song from information society . "where would i be without IBM". This is something a friend forced me to listen once or two about a decade ago, as an introduction to a discussion on what personal computer became since i started programming, around 1983.(time flies)
I thought, "where would i be without Open Source?".
Where would this program be if the huge list of libraries i used were not there?
Let's face it, i would certainly have created an other ugly ticker.
Where would most of nice and interesting programs of these days be without opensource? Almost nowhere.
Force of opensource is that we, individuals and small companies can compete with multimillion budget projects. We are a strong team of millions developpers, working all the time, everywhere. Each day, libraries become better or die, this is a very active and alive ecosystem. In a very few years we became surrounded by so many good APIs for each and every thing we need that it became easy and fast to create programs of great quality.
An extension of this question, of course, is "where would i be without ibm, sun, microsoft?"
What would be our real force without their billions? What would even our computers look like if Microsoft were not such a dominant company?
Their competition feeds us with will, their money federate us.
I believe in open source, but not as a final goal. Both models need their counterpart, none being all white/all black.
So, here i want to send an electronic thank/kiss/hug/beer/handshake to all those that created the libs/specs for my program. You are part of my daily happiness:
Java SE platform, Netbeans RCP, java3D team, java2D, ImageIO, JPA/Toplink, JCE/BouncyCastle, derby, JMF, Fobs4JMF, Com4J, glassfish, JMS, JMX, hudson, webstart, ...
... and of course, Sun, Ibm, even Microsoft.