I went bowling today with my wife & son and my folks. I love bowling, but I don’t actually get to do it that often. I love bowling, but I hate the bowling alleys because they are generally so full of cigarette smoke that I can’t breathe while there, and I come out smelling like a damned ashtray. But today we were there during a no-smoking period, which was nice.
Anyway, we had a good time, but I’ve been noticing over the last several times that I’ve bowled, that parents don’t seem to be teaching their children any lane courtesy. You know the “if someone is already poised to bowl on an adjoining lane, you must wait” type of courtesy. Or the “don’t hang around the foul line dancing around like a loon while your ball hurtles down the alley” type of courtesy. These youngsters today don’t know anything about that. They grab a ball and run up to the foul line with little regard for those on either side of them. It’s really annoying. Maybe I’m expecting too much, but when I was a kid and went bowling a lot, I was taught to be courteous of the bowlers on the adjoining lanes. Maybe bowling alleys need to make new bowlers take a course before they can take to the lanes the first time. 🙂
I discovered something interesting the other day at the office. We have a guy who has been unable to build a certain entire jar of entity beans ever since he started working there and I had only given it scant thought as to why. I knew that I had had no problems… So he came by my office on Wednesday and I said “OK. Let’s figure this out.” I ran our Ant build file that is specifically used for building this particular jar full of entity beans and got the same errors he was reporting. Odd, thought I. The errors being reported by ejbc were that the compiler couldn’t resolve symbols with names like
Foo$ValueObject. That was odd since that looked like the inner classes defined in each of the entity beans were not there. But looking at the classes directory, those classes were definitely there. What was really odd was that simply dropping back to J2SE 1.3.1, or even 1.4.1 worked.
For reference, we have a group of entity beans that each have a nested class called ValueObject. (I don’t particularly like that, but they’re there nonetheless.) Essentially we have 80 entity interfaces that follow this basic pattern:
public interface Foo extends EJBLocalObject
public ValueObject getValueObject()
public static class ValueObject
and then 80 entity bean classes that actually implement the
It was at this point that I started looking at that “$” in the class name. It then hit me that the code should be using a “.” between the outer and inner class names, not a “$”. But the code where the error was occurring was generated by ejbc. I’ve tried this now with WLS 7.0 sp2 and sp3 and the results are identical.
Even though I’ve not been able to find this documented in the release notes of J2SE, it would appear that versions prior to 1.4.2 allowed code to specify an inner class using a dollar sign, even though it was not technically correct, and that 1.4.2 has stopped being lenient in this regard. Yes, I know that WLS 7 is not officially supported with 1.4.2… I haven’t tried with WLS 8 yet; I would assume that since it is supported with 1.4.2 they’ve changed the code generation routines inside ejbc.
So the moral of the story is that if you find yourself needing to run WLS 7 with J2SE 1.4.2, and you happen to have entity beans that you need to run through ejbc, first run your build file for those entities using J2SE <= 1.4.1, and run everything else under 1.4.2.
I finished reading The Island of Dr. Moreau last night. That was one twisted book, especially since it was written in 1896. Twisted is really the only word to describe it. It was a good read but somewhat disturbing.
After finishing the text, I read the pages at the very back of the book and found something very interesting. My copy was printed and published in 1968, and the last two pages were an ad for the publisher listing other titles that they have. Here’s what it looks like
Notice the top paragraph on how to get these titles if your dealer doesn’t carry them: send the price of the book you want plus 10 cents for postage. Then notice the prices of the books. Most of them are 95 cents! (Well, all of them in this image are 95 cents, but there were others on the page for $1.25.) I know that money today and money in 1968 had vastly different values, but it’s just kind of funny to see books this cheap. To get this same book from Amazon.com today would cost $4.95, just for the book. Tack on 3 to 4 dollars for shipping and we’re up to 9 or 10 dollars at that point. Pretty sharp difference in price, eh?
I got a record last night by a band called Big Sandy & His Fly Rite Boys and it is really good. Of course, with a name like that, how could it be anything other than good? According to the blurb at the Borders bookstore, it was recorded on vintage equipment so it really has an old sound to it. They sound kind of like the Stray Cats, but recorded about 1956. They also sound a lot like early Elvis. Anyway, the record is called It’s Time and is a really good listen. One of the things that I think helps the sound even more than the old equipment is that they recorded the record with the whole band in the studio, all playing at the same time, just like at a concert. Just like records used to be recorded. Most records today are recorded one instrument at a time and then mixed together afterwards. I really prefer the “everybody ready? All right, let’s go” method of recording. Call me old fashioned if you want.
We went to see Freaky Friday last night. This, of course, is a remake of the original film of the same name from 1976. I was not terribly excited about seeing it, really rather wanting to see Pirates of the Caribbean or Terminator 3. But since I got to choose P. F. Chang’s for dinner, I had to go along, and I’m glad I did. This was an excellent film; extremely funny and well played. Jamie Lee Curtis is really good as the mom and as the daughter-trapped-in-the-mom’s-body. The daughter is good as well. I wouldn’t take my son to see it because of the terrible attitudes of the teen-agers and their proclivity for words like “sucks” and “blows” and a couple of other curses by the grown ups. For teens and up though, I think it’s ok. Here’s what ScreenIt.com has to say about it.
Bottom line: it was a very good and funny movie.
After newly a full week of no DSL I’m back online. Last Friday night we had some pretty severe storms in the area, and apparently my DSL bridge got cooked. The Sync light was flashing green/amber/green/amber/etc which it had never done before, and I had no connection. After 30 minutes with EarthLink tech support, they agreed that it sounded like the bridge had been cooked. The tech said they would send me a new one and it should take three to five days. Today was (business) day 5, and it arrived.
As I took it from the box, I noticed that it was not the BroadMax like I had before, but a DQ-something-or-other. There was no documentation in the box, so I was a bit unsure if things were going to work or not. I hooked it up, turned it on, and within 60 seconds sync had been achieved, my router had done the PPPoE shuffle, and I was live again. Ooh yah! I’m so happy…
USAPhotoMaps is one of the coolest pieces of (free!) software I’ve ever seen. It uses images from the MicroSoft TerraServer to populate location information with satellite photos or topographical maps. It interfaces with several GPS systems (such as Garmin or anything that groks NMEA) and will show your current location, let you send/receive waypoint data to/from the GPS unit, zoom in/out, scroll, create routes to send to your GPS unit and lots of other things. This thing has it all and it’s free! If you’re into maps or GPS (you don’t have to have a GPS unit to use it), this is a nice thing to have.