HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 
Source Code - It's Not Pretty, by Alan Williamson

I've had an interesting month, I can tell you. This was the month we had our annual n-ary Halloween party. The time of year when we go a little wild, dress up stupidly, and generally make a right tit of ourselves. This year I decided to don a genie outfit as opposed to the eighteenth century ladies garb I borrowed last year. It was a good do, couldn't complain. We all got horribly drunk, sang awful '70s songs in true karaoke style, and watched fireworks light up the sky. Thankfully it only comes once a year, and even then it doesn't seem 52 weeks since the last time. Amazing how fast it's all going and how little Murray's singing has improved.

Want to Buy an Operating System?
I'm sure you didn't miss the news and media buzz around Microsoft and their wee boo-boo with respect to leaving the lid off the cookie jar only to have someone come along and pinch the source code to Windows. It would appear that someone in the Ukraine is now poring over reams of their source code trying to make some sort of sense of it. Apparently the hacker snuck in using an official Microsoft home worker's remote dial-in account and then, once in, set up the necessary access rights to get into other areas of the Microsoft Empire. Apparently this occurred over a period of weeks, and apparently Microsoft was well aware of the hacker's movements.

I've used the word apparently an awful lot, haven't I? Don't panic - this is by design. The problem is that there're so many conflicting reports about it all that getting to the truth is something I doubt we mere mortals are ever going to do. But if all this is true, one has to question a number of obvious blunders.

One, if Microsoft was aware of the hacker's movements right from the start, why did it feel the need to shut down the remote-access servers for its some 35,000 employees? Second, if it knew from the start, why was the FBI called in so late? I don't know, but it makes wonderful material for us writers to play with.

I was giving it some thought: the theft of source code. Is it really that serious? Let's look at it from several points of view. First of all, let's assume that Microsoft's developers are not the elite-of-the-elite as we're all told in software folklore. Let's assume they're just an ordinary crew of software developers. With this comes the chance that the code isn't that well documented. You know what I mean.

Of course, you're supposed to document your code as you go along, but the module you're working on is late, the project manager is breathing down your neck, and your partner is continually vibrating your phone in a desperate bid for your attention. Ah, what the hell. I'll document it in the morning. Sadly, nine out of 10 times the morning never comes and only after the code review does the need for some documentation arise. You can't really remember what it did, let alone how it did it. You whisper to yourself that it works, and no one will ever need to go near it again. You then decide to throw enough comments that will get it through code review and hope it slips through with minimum fuss. Sound familiar? I'm sure you're sitting there convincing yourself that's not how you work. Sure it is...who are you kidding? You're not a real developer if this scenario hasn't happened at least once (if an n-ary developer is reading this, I'm on to you!).

Assuming that some of the core dudes have suffered from this fate at some point, that even they can't figure out what the code is doing (which if you count how often Windows 2000 crashes, then I can believe that), what are the chances of an outside body being able to decipher it? Slim, methinks.

Maybe that's a bit harsh. Assume that the code is all nicely documented, every line clearly marked with the necessary annotations that clearly pave the flow of execution. That said, I'd bet money that somewhere in the Windows' code base is a comment that says something like:

/*
Not too sure what this line does, but don't take it out as it seems to be fairly important.
*/
It has to. Even Microsoft developers are human. Aren't they?

So a hacker has got his or her hands on the crown jewels. Well, the hacker can't do any worse. The worse thing that could happen is for it to be e-mailed back to Microsoft with various improvements. Remember back when Netscape open sourced its crown jewels? Did you ever download it and have a look? It was a mess. How they thought anyone would take it on and do a "Linux" on it I'll never know. Based on the state of the code for Netscape, I don't think Microsoft has too much to worry about. Only good can come of it.

I think the media has to report the facts a little more clearly in the future. I had someone come up to me and ask me what Microsoft was going to do now that it no longer had the source code to Windows. I tried my hardest to stifle a small titter as I explained that "stealing" the source code didn't mean there was now an empty cupboard somewhere where the code used to be. Bless such innocence, I say.

Oh, Go on Then...You Can Play
In early November Sun announced a fairly major milestone in the history of Java - almost a year since they nearly fell out with IBM about not allowing them enough say in the evolution of the language. As part of their Community Process program, they've set up two governing bodies and, more important, given those bodies control over the future of Java. One body will concentrate on Java Micro Edition, while the other deals with the Standard and Enterprise Editions.

Sun, wonderfully democratic, has appointed itself with a seat in each body, while everyone else has to be elected. I guess it's their party so why not, eh? It would appear that IBM is the only company that's in the running to have representation on both bodies.

These bodies have to take Java and move it forward, developing the interfaces that will enable the next generation of applications. This on the whole is very exciting. For one, it should silence the critics of Sun's near monopoly on Java. I for one didn't have a major issue with Sun taking the mantle of maturing this new language. Of course, I had my reservations and what have you, but never enough to stop using Java.

Java is like a small child. It's now nearly 6 years old and the time has come to venture out into the world of primary school. Up to now it has had to listen and take its lead from its parents (Sun). It's now being introduced to other teachers who will take its evolution to the next level. After primary school comes high school. Here it has to be tough enough to play in the schoolyard with the other children. George Paolini was even reported saying that an open-source Java wasn't that many years away after all. Well, they do say that once a child gets to high school, that's when the problems generally come as the parents no longer have the same level of control.

Whether Java will survive the schoolyard with the other open-source kids no one can say for sure. It seems to have worked for Apache and to a certain degree Linux, but can a language that pertains to be write once, run anywhere really survive the pushing and pulling that will transpire once it gets into the hands of the world at large? Who knows?

From the Dead It Arises
I'm seriously getting into "Buffy the Vampire Slayer" these days. I had avoided it for so long, writing it off as a silly teenagers' series. Boy, was I mistaken. It's extremely funny and well worth checking out if you, like me, have not really given it a fair chance. Buffy, our heroine, slays vampires as her destiny. A vampire results when human and vampire exchange blood; chicken and egg situation there, if you see what I mean. Generally, if you come back as a vampire, you're not in as good shape as you were when you were fully alive and kicking.

With that, let me I introduce you to the latest vampire that's been created. It would appear that boo.com, the ill-fated fashion e-tailer that went bankrupt in early spring with 150 employees, has risen from the grave with just 10 support crew. A brave move by its new owner who assures us that it's here to stay and people shouldn't have any concerns about placing orders on its Web site.

Maybe some things are best left dead, or do we have to rely on an e-Buffy to come and save us from the charms of a dot.vampire?

Speaking of Creations
It's a rather exciting month. My first wee one is about to enter the world and I'm frantically trying to prepare myself for this new addition to my life. It's exciting and bloody damn scary at the same time. By the time I write the next column I could be a "dad." Gosh what a strange feeling that is. Me? A father? Now there's a thought.

With that I had better go. I'm hearing contractions in the background and need to start counting. Well, what else can I do? Precious little, let me tell you!

Author Bio
Alan Williamson is CEO of the first pure Java company in the UK, n-ary (consulting) Ltd (www.n-ary.com), a Java solutions company specializing in delivering real-world applications with real-world Java. Alan has authored two Java servlet books and contributed to the servlet API. He can be contacted at: [email protected]

 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.