This has been a busy and bizarre month. A number of weird and wonderful things have happened, and I'll take you through them one by one.
If you remember, last month I promised to tell you about a strange rendezvous one of our chaps had with a Microsoft person. As regular readers know, we're based out in the back of beyond in the middle of the Scottish lowlands. We're the only software company for over a hundred miles in any direction, and it's a fact of life that you don't bump into many developers out on their lunch break. So you can imagine our surprise when Keith came in one day and announced he'd met a lawyer who worked for Microsoft at the local pub the night before. Hot damn.
Now we all know that Microsoft isn't the most popular company in the world of Java. With the present court case and what have you, the majority of the Java community isn't too happy with Microsoft's vision for the future. You also know that I have never been quiet about my thoughts on the whole issue, and have often been quite outspoken in this very column. So when one of my chaps "accidentally" bumps into a Microsoft lawyer in our neck of the woods, you have to be concerned. So far we've heard nothing more, but I'll keep you posted on any developments in this area.
For many a budding actress the draw of Hollywood is sometimes so great that they'll take on nearly any job to try and succeed. A number of mainstream actresses have questionable appearances on their resumes. Well, in our distant past we have a similar David "Red Shoe Diaries" Duchovny episode that has come back to haunt us.
Back when we started out, we had a lot of expenses to cover, most notably the rent and the cost of the bandwidth. Since Java was very slow at the start, we had to do a number of projects that would bolster the turnover until Java kicked in. One of these projects was that of Web hosting -providing an upstream service for companies. On the face of it, this wasn't a bad diversion, but it did lead us into hosting several adult-oriented Web sites.
The pornography laws here in Britain, however, aren't quite as liberal as those in the U.S. or some European countries. One of our clients pushed the boundaries of decency and, after a number of complaints, we decided to move the company on and have nothing more to do with it. Three years later, a knock on the door -the vice squad. Said company has been charged with a number of obscene publication violations, and they were tracing its history. (Fortunately, we have nothing to do with the actual prosecution and our company name will be left out of the whole trial. Right enough, me writing about it here in JDJ sort of null-'n'-voids the whole scandal thing! Oops.)
The officers stayed with us awhile and we took them around the place, showing them various bits of our company and our local town. It was the first time I had the opportunity to talk to guys that were in this sort of policing. It's a damn shame I'm not allowed to retell any of what they said to me, but whoa! Did they have bizarre stories to tell, including one involving a milk-crate, a bottle of ketchup and a horse! Nuff said, if you get my drift. But it gave me an idea for a book I could write that would collate all these sort of stories. Just need to find a publisher . . . oh, Fuat!
This month we had a very special guest stay with us, James Duncan Davidson, head of the Servlet API from Sun. He was over in Germany doing a conference and stopped by us for a few days before heading back to California. It was good to see him, but in true Alan Williamson style the visit didn't run as smoothly as one would have hoped.
I have a Toyota MR-2. Those of you who know the Japanese sports car will know it's not blessed with the largest of boots -trunks, to translate for our American readers. James was kind enough to e-mail me the size of his largest suitcase so I could determine whether I needed to borrow somebody else's car to pick him up at the airport. A quick runaround with the measuring tape seemed to suggest that the MR-2 was more than ample for the job at hand. So I made my way up to Glasgow airport.
Met James off the flight, but only when we tried to get his suitcase in the back did we realize that the boot was way too small. Bugger. Well, that's okay, we'll tie the boot down. But with what? I had no string, no rope, not even a belt. Oh, dear. We had a two-hour journey ahead of us, and there was no way we could drive with the boot bouncing up and down. It was at this point James came up with a blinder of an idea. Modem cable! We sacrificed a modem cable and tied the boot down with said cable, and it never moved a single inch. Fantastic. Only a pair of geeks could have come up with that solution.
It still wasn't plain sailing after that. By the time I got back to the office a raging thunderstorm had knocked out the power and the place was in complete darkness. Yes, James, we really are in the middle of nowhere. It's quite eerie how quiet a building becomes without the constant reassuring hum of servers in the background. I crawled into the house, found some candles and proceeded to give James the tour of the office, in the dark. There was something quite romantic about it all, but -no offense to James -I would have preferred to have been locked down with my other half, Ceri, in this pitch blackness.
When the power came on a couple of hours later, we both pounced on our e-mails like two addicts trying to get our next electronic fix. Welcome to Scotland, James!
Several months ago I detailed a problem we experienced with threads and the apparent lack of cleanup the virtual machine had in this field. We discovered that if we didn't call stop(), the thread wouldn't be cleaned up when the garbage collector ran. When I announced this, I got a whole flood of e-mails denouncing me as a charlatan, or purely a fiction author. This upset me more than a little. It has to be said that many of you still don't know good manners when it comes to composing e-mail. Let me give you a tip: if you want someone to reply to your e-mail, or at least read it, be polite. Try it - you may be surprised.
The major problem I faced was that I didn't have a simple test case that I could use to prove my point. My servlet environment highlighted it perfectly, but that was a scenario that couldn't be transported easily to another machine. The mailing list proved to be some comfort. Many of you had experienced the same problem, but in the Swing world. Again, no test programs were developed that could demonstrate this.
I was determined to simplify our code in such a way that we could prove it. I wanted to show the people who denounced me that the problem did indeed exist. Late one night I was sent a heavenly message from an angel in the strange form of Oracle. One of the core engineers found the problem and had a test program that proved it perfectly every single time. Hurray! Saved. I tested the program quickly on a number of JVMs and, sure enough, the mythical thread problem is not mythical.
So I can now state publicly that the thread does indeed exist, there is a test program, and it has been submitted to Sun as an official bug. I'll give you updates as and when I know more. So watch this space.
The mailing list is beginning to generate some seriously good threads of conversation. In the last month we've had a number of debates on the future of Java and whether it should be open-sourced or not. One correspondent posed the question, and we all answered it. Surprisingly, not many supported the open sourcing of Java, which was good. Personally, I had anticipated a much greater swing of support, but it was good to hear everyone's structured answers about why it should, for the time being, be left to Sun to manage.
Discussions on what we'd like to see in Java in the next wave have also taken place. One thing that came up time and again concerned operator overloading. I must say that I liked this facility in C++, and understand James Gosling's apprehension about not including it in Java. But we hear that it's seriously being considered.
If you want to be part of the discussion, send an e-mail to [email protected] with subscribe straight_talking-l in the body of the e-mail. From there you'll get instructions on how to participate on the list. Thank you all for your continued posts - I thoroughly enjoy the variety of topics discussed.
Salute of the Month
This month the salute goes to the team behind Formula1. Some months ago I moaned about trying to read Excel spreadsheet files and the hassles we were going through. Many of you e-mailed me your stories, but none had any solutions we could actually use. One of the core developers of Formula1, Joe Erickson, read my woes, however, and e-mailed me detailing his joy in licking the Excel format. On his advice we looked at Formula1 -and I have to take my hat off to those chaps. A fine piece of software. If you ever need to read and write Excel files, you won't find a better solution than Formula1.
It's time to finish this up and head into another month of excitement. Last month, if you recall, I told you about the Neil Diamond phase we were going through. Well, this month we've moved on: I've discovered the wonders of Dolly Parton and, two CDs later, I am well and truly hooked. The irony of it is that this column is actually named after a movie from the selfsame lady. I feel bad that it's taken me nearly two years to actually discover her music. To tell you a wee secret, as I explore this style of music, I find myself getting into more and more country. Scary. Am I turning into my father?
Alan Williamson is CEO of n-ary (consulting) Ltd, the first pure Java
company in the UK. A Java consulting company with offices in Scotland, England and Australia, they specialize solely in Java at the server side. Alan is the author of two Java Servlet books and contributed to the Servlet API. He has a Web site at www.n-ary.com.
He can be reached at: [email protected]