Thursday, April 29, 2004

The World Trade Center

I worked in the World Trade Center for 10 years. I started on the 68th floor and in 1990 I moved up the the 70th floor. I was there in 1993 when terrorists blew up a truck in the basement garage killing six people. I was not there in 2001 when the towers were destroyed.

I loved working in the World Trade Center. The buildings were not the most beautiful buildings to look at but they were wonderful to work in. The floors were open and with so many windows they always felt bright and airy. At night we had a magnificent view of the lights of Manhattan.

The amazing thing is that even at 70 floors up, we were still 40 floors from the top. I recall sitting in my office and looking out my window to see the Goodyear blimp sailing below us.

I found a few pictures that I had taken after a trip to San Francisco for a convention. I had bought one of those disposable cameras and had to finish the roll so I shot a few pictures from my office and my boss's office. I put them on this page.

A couple of links to sites about the WTC and the attack:
http://www.greatbuildings.com/buildings/World_Trade_Center.html
http://www.bluffton.edu/~sullivanm/yamasaki/wtc.html
http://www.auburn.edu/~peckrob/wtc_tribute.html

Saturday, April 24, 2004

The Rebecca Center

I mentioned earlier that my son has Down syndrome and ASD and receives some special types of therapies. Besides Horseability, another special therapy he gets is music therapy from the Rebecca Center. The Rebecca Center is a special program started by John Carpente at Molloy College. The therapy is designed to try to get Mikey to communicate by using music to promote speech and signing. It also helps Mikey to learn to appreciate music.

The program itself is amazing. It uses music to help people with various disabilites. For kids like Mikey, the main goal of the program is to use music to help with socialization and communication. And we have seen a big improvement in Mikey since we started the program.

We are sure that it is the combination of various therapies that have brought Mikey so far along. Horseability and The Rebecca Center are two key components in the overall program of therapies that Mikey receives. Thanks John, for providing such a wonderful program!

Thursday, April 22, 2004

Gmail - Threat to the free world?

According to Wired magazine, a California state senator is drafting legislation to block Google's new email service, Gmail. Among the stupider things said by this politician, "We think it's an absolute invasion of privacy. It's like having a massive billboard in the middle of your home," said Sen. Liz Figueroa (D-Fremont).

What exactly is the problem with Gmail? Google intends on analyzing your email and then show you a banner ad that is appropriate for that email. This is similar to the AdSense product that they currently use for web sites. They scan the contents of the page and then generate an ad appropriate for that page. Gmail will work exactly the same way. If someone sends you an email discussing their vacation in DisneyWorld, presumably Gmail will show an ad for vacation resorts.

Apparently, this has some people all upset because Google will be "reading" your mail in order to generate the ad. Well, I have a surprise for these people. Every email service "reads" your email in order to display it on the screen. Do you think Yahoo! closes their eyes when they pull your email up? It is true that they aren't reading it to generate a banner ad but so what? As long as Google isn't making my email visible to others who cares that they read it to generate a banner ad in addition to reading it to display it to me?

The worst part of this is that some politician in California thinks that she knows better than I do what level of privacy I want. If I am willing to let Google display targeted banner ads to me in exchange for a free email service then isn't that my business?

Monday, April 19, 2004

Vasovagal Syncope

I passed out at work on Friday. I was taking a class in SAP and I suddenly felt dizzy at about 3PM. The next thing I knew I was in an ambulance on the way to the hospital. I stayed in the hospital overnight but all the tests came back negative so they let me go home late Saturday evening.

It's probably Vasovagal Syncope which I have had for 15 years. I haven't had an attack in about 5 years so this was a bit of a surprise. I am taking a couple of days off from work because the attacks really take a lot out of me. I always feel drained after passing out.

Sunday, April 11, 2004

Happy Birthday, Mikey!

Mikey

My son, Mikey, is seven years old today. If you have been following my blog then you know that Mikey has Down syndrome and ASD. But I wouldn't trade Mikey for anything. Mikey is loved by us and is very loving.

Thanks Mikey and have a happy seventh birthday!

Friday, April 09, 2004

I don't feel liberated

I happened to glance through last November's Java Developer's Journal and there was an article about TDD. The author said when discussing writing tests before code, "This is a tremendously liberating thing to do." Is this the new buzz-word? I have seen this same word, "liberating," used in relation to TDD quite often. Did one of the priests of XP use the word "liberating" and now it has spread among all the minions? Do a quick search on Google of "liberating and TDD" and you will find lots of sites dealing with this concept. But among them you will find web sites that discuss TDD and are correct when they say, "liberating". Those sites aren't discussing another lame and overblown programming paradigm. Those sites are discussing "Telecommunication Device for the Deaf," something that truly is liberating.

I have to admit that I am not impressed with the hype surrounding test driven development. I have been using this type of unit testing since I was writing assembler programs on an IBM S370 in 1979. Of course, we didn’t have a fancy acronym for it. But then I am not impressed with the whole XP hype that seems to have lost the idea of what programmers are actually trying to do. We aren't trying to write perfectly refactored programs. We aren't even trying to write easily maintainable systems. We are trying to make profits for our company. (Something that all the dotcomers seemed to have forgotten about.) That means spending a few weeks of serious design to insure that an application really is cost justified. I once asked an XPer how he budgets a project. He really couldn't answer because since serious design and analysis is done during coding, all he does for his customers is give a rough estimate that is refined as the coding progresses. This means that the customer is buying something without being sure what he is getting or how much he is paying for it.

"Embrace change" is another mantra that is thrown around but this is exactly wrong. We want to control change, not embrace it. We need to analyze every change request and determine how it will affect the budget and schedule. The real paradigm that is good for a company is, "on time, on spec, and on budget". It seems like we have abandoned this for the concept that coding is the most fun so let's code. Producing pretty code might be fun and rewarding personally but every refactoring is costing money. Every day when two programmers are working on a program that one could do is costing money. Want to know why your job is being moved to India? Look around and see how much profit you are producing for your company. Your code doesn't have to be perfect it just has to make sense from a cost point of view.

I am reminded of a web application my group did for a real estate branch of a company I used to work for. The code we produced wasn't pretty but it was produced on time, on spec, and on budget. It has been running for several years and the company has earned several hundred thousand dollars in profit annually from the application. Could it stand a round of refactoring? Hell, yes! It could probably stand a complete rewrite. But why would you want to?

How is that for a rant? ;-)

Tuesday, April 06, 2004

Lucene search engine

Lucene

My article on the Lucene search engine was published in the April issue of the JavaRanch Journal. I became interested in Lucene because it is used in the open source forum software that I am enhancing. I had seen the Lucene page on Jakarta but I was never sure exactly what it did or how it was used. It is actually a nice piece of software that is fairly easy to use once you get a handle on it. The documentation is not very good, unfortunately, but that is not an uncommon problem in open source projects.

The article covers the basics of using Lucene although I have simplified the task by using text files as the files to index. However, Lucene has several converters listed on the contributions page. The converters can be used to convert other document formats such as XML and PDF into text so that Lucene can index them. Since I wrote the article version 1.4 has come closer to completion. The one feature that I am looking forward to trying out is sorting of hits. The prior release only allowed sorting by score but the new release allows sorting by any indexed field.

So check out the article and take Lucene for a spin. I think you will find it very easy to use. And since I already found the cause of the infamous java.io.IOException: Bad file descriptor you don't have to worry about searching all over the web to diagnose your bug!

Monday, April 05, 2004

Review - Enterprise Java Security by Marco Pistoia

Enterprise Java Security by Marco Pistoia

This is the second J2EE security book that has been released by Addison-Wesley in the past six months. The earlier book was J2EE Security for Servlets, EJBs, and Web Services by Pankaj Kumar and I have to admit that I liked the first one a lot more.

This book is very detailed with a lot of information but virtually no code to show how to actually implement anything. The chapter on cryptography, for example, looks like it belongs in a college textbook and not a book for developers to actually use. There are all sorts of formulas and equations, and graphs that really don't tell me much. There are chapters without a bit of code in them. Chapter 2 is a discussion of using applets through a firewall with RMI (is that really so commonly used that it rates a chapter in the front of a book on J2EE security). There is not a single line of Java in the entire chapter.

But not every chapter is like that. The chapter on JAAS has quite a few samples. The servlet/JSP chapter has a couple of short program samples. But the EJB chapter has a reasonable amount of sample code. My guess is that the authors of the book (there are four listed) didn't agree on a general style and that different authors approached writing a security book in different ways. Some people have complained that the Kumar book isn't technical enough so perhaps the combination of these two books will provide exactly what is needed.

The review is on my amazon review page.

Sunday, April 04, 2004

Digital Cameras

I have to admit that I don't have the technology hardware bug. I only switched to CDs when they stopped making vinyl. I had a PDA that came with my computer but my son dropped it and it broke. That was a couple of years ago and I never replaced it. Other than that I don't really own anything that you would consider high tech.

Tonight I went out and bought a digital camera. It wasn't in my plan to buy one tonight but it just happened to work out that way. Like I said, I'm not big on technology so I don't know much about digital cameras so I never knew what I should get. But my wife and I were in Target tonight buying Easter candy and I passed a display of digital cameras. I know a little so I knew I wanted at least a 3x optical zoom and at least 3 megapixels but I had no concept of what other features I should be looking for. I noticed one camera that was very inexpensive and yet was a 4x optical zoom and 4.0 MP. I asked the kid behind the counter why it was so cheap and he said it was the floor model and he could knock 20% off the already low marked down price. So tonight I bought a Kodak DX6440, which sells on Amazon for $350 and I paid $165. I am very pleased with myself. Now I just have to figure out how to use it!

All you need is love

You look so beautiful in this light

I was flipping through the channels last night and what do I see on one of the news channels but Scott McNealy sitting shoulder to shoulder with Steve Ballmer. And they weren't just sitting next to each other but clearly enjoying each others company! How could this be? It became clear rather quickly when flashed along the bottom of the screen that Steve had just bought $1.6 billion worth of love from Scott and the gang at Sun. It was well known that our friends at Microsoft had about $54 billion in cash that they didn't know what to do with and now it was clear that all Microsoft ever wanted was some soulful loving from McNealy and the gang.

What does all this mean to me and you? O frabjious day! Calooh! Calay! The real answer is, it's about time! Interoperability was always good for both companies and if the billionaire boys club had been able to keep their egos in check we wouldn't have had the raging battles between Java and Microsoft that led to the creation of C# and .NET.

For those of us old enough to remember the early days of Java when the rift occurred, the whole thing seems extremely silly now. Microsoft wanted to use Java but Java on the desktop sucked. All we had was AWT and anyone who tried to write a decent desktop application using AWT quickly learned that AWT simply wasn't up to the challenge. AWT isn't very good today but in the early days it was worse and Swing (as difficult as it is to use) didn't exist as an option. I recall working on a simple AWT application using a Choice. All we wanted to do was let our user select either US or Canada. If they selected US we would fill the Choice with the states. If they selected Canada we would fill the Choice with the provinces. The problem was that there was no way to remove an item added to a Choice so if the user selected US and then changed their mind and selected Canada there was no way to remove the states! We ended up having to create a brand new Choice object.

So Microsoft decided to extend Java with their own extensions that allowed Java programmers direct access to MFC. If you think of this from Microsoft's point of view it made perfect sense. Their bread and butter was (and still is) VB programmers. Do you really think they could tell their VB programmers that they should use AWT? The problem with the extensions, of course, is that any program that used them would not work in any OS except for Windows. So much for the dream of "write once, run anywhere". (Let's not even mention SWT at this point.) The gang at Sun had the dream of replacing all those PCs with network computers (don't try to tell me otherwise because I was in the room when the Sun salesmen tried to convince us that PCs would be obsolete in 5 years). Applications written with the Microsoft extensions wouldn't run on network computers (besides looking a lot prettier than any AWT application running on a network computer). So the lawyers had to put a stop to this desecration of Java.

But I guess that is all water under the bridge now and maybe we will see the MS J2EE application server running on Windows servers someday. Wouldn't that be a hoot! So Microsoft gets to end a potentially messy lawsuit by throwing away some money that they had sitting around. And Sun gets to end a messy fight with a company that they actually are better off being friends with. And maybe programmers can get back to writing applications and forget about the battle of the billionaires.

Friday, April 02, 2004

Review - Effective XML by Elliotte Rusty Harold

Effective XML by Elliotte Rusty HaroldThere seem to be two different types of technical writers. First, there are the good writers who know their topic fairly well and can clearly explain what needs to be explained. Second, there are the so-so writers who know their topic inside-out but can't clearly get the reader from novice to expert. One of the problems with being an expert is that you forget what it was that you once didn't know.

That is why I think teaching is very important for an expert. Being confronted by people who don't know the topic forces you to think clearly on how to explain things. Tapestry in Action is an example of this problem. The book is going to be read mostly by people who don't know Tapestry but the book doesn't take you from A to B to C but rather takes you from C to G to X. One of the causes of this problem is that authors don't get feedback until their book is in print unless they have excellent reviewers. The problem with some reviewers is that they can suffer from Stockhom Syndrome and begin to accept and support the author in their bad habits. Technical reviewing is a very difficult job and is certainly not for those unwilling to be critical.

I recall reviewing one book for Wrox which was a horror to review. I'm not sure if the authors were not native English speakers or they just cut all their English classes in college but they were unable to get coherent thoughts into properly formed sentences. I think the authors knew their topics but at times they seemed to be unable to show it. I tried my best to let the authors know that the book was spiraling out of control but they failed to respond and the completed book was not nearly as good as it should have been.

All this is as an introduction to Elliotte Rusty Harold's book, Effective XML. Harold is that rare writer who is both an expert on a subject and able to clearly explain that subject. Some of that no doubt comes from his being an adjunct profesor at a college in Brooklyn. Harold doesn't leave you wondering how he got to point C. He also doesn't use jargon or buzzwords just for the sake of using them. Right at the beginning of the book he clearly explains the difference between many of the common terms used in XML so that everyone is starting with the same lexicon. He also writes as someone who is eager to share his knowledge. I wish every book on technology was as enjoyable to read as this one.

The actual review is on my amazon review page.

The move

I am sure everyone is on the edge of their seat to know how the move went. Well, we are in our new space and settled in but the move itself didn't go quite as expected. I didn't mention it but the actual physical distance of the move was fairly short. In fact, I had moved some of my stuff myself on Friday so that it would be sure to be there on Monday. I had left the computer and phone because the movers were supposed to hook them up in the new space. But when I arrived Monday morning the box with the computer was still packed. So I ended up having to crawl under the desk to hook everything up. It was a minor pain in the neck. If I had known that they weren't going to do the work, I would have moved everything myself on Friday.

The voicemail system wasn't working either but that turned out to have nothing to do with the move. It is very annoying to see the little glowing red light on your phone and not be able to get the message that is waiting for you. The voicemail was down for a few hours and the message turned out to be nothing important anyway.

Anyway, we have settled into our new space and it is much quieter than where we were. No one passes through here since there is only one door so most of the time it is just the sound of clicking keyboards. I am in the last cubicle in our dead end aisle so no one comes down here at all. The phones don't even ring much.

Thursday, April 01, 2004

Horseability

Mikey and friend

Winston Churchill supposedly once said, "There is something about the outside of a horse that is good for the inside of a man."

My son, Mikey, has Down syndrome and ASD (autistic spectrum disorder). Mikey is a great kid and is extremly loving but his disabilites create many challenges. Mikey's biggest problem is that he can't speak which makes it very difficult to express his needs, wants, and desires so he sometimes acts out in frustration. He sometimes has a great deal of trouble controlling his behavior.

A few years ago we started Mikey with a program called HorseAbility. The program is designed to use different types of therapies while riding a horse. Mikey had originally started riding when he was three in order to improve his body strength but as his ASD became more apparent we started using it to improve his behavior. Mikey loves trotting on the horse and the therapist uses it as a reward for appropriate behavior.

There is no cure for ASD but we have seen a marked improvement in Mikey's behavior over the last year. The combination of various therapies with a program of appropriate medications has helped Mikey to regain control of himself and be a much happier child.

HorseAbility is not the only therapy that we use to improve Mikey's behavior and speech but we know that HorseAbility has been a key factor in helping Mikey gain control of himself. Thanks Melissa! (Melissa is Mikey's therapist.)

Over the next couple of weeks I will discuss some of Mikey's other therapies and his school. Meanwhile enjoy this picture of Mikey and a friend of his. :D