XPages brings a lot of really interesting technology and capabilities to the table for web (and for that matter, Notes) developers. In the middle of all that goodness, however, are some really basic things that are shockingly hard to do. For instance, modal dialogs from Server-Side JavaScript (SSJS).
From the research I've
done, there is probably, possibly, pretty sure, MAYBE a way to do modal dialogs with Dojo. Well, sure, of course there's a way to do modal dialogs with Dojo. They're really easy...unless you actually want to do something like, for instance, gather any user input. As soon as you need to collect the first data point (other than, I suppose, the click of an OK button), things get harder.
Hard enough that I gave up on them right after I discovered detailed instructions which included having to load extra code onto the server. Maybe there's an easier way, but any idea that begins with requiring a customer to talk an admin into loading new code on their precious Domino servers is pretty much a non-starter around here..
Now, in fairness, I'm not a Dojo expert, so maybe there's a way to do it without server add-ins. If so, I couldn't find it. So, I rolled my own.
I don't know about you but the applications we build are CONSTANTLY needing dialog boxes users can fill out to update information with. REAL dialogs, with fields and options and choices, not just text-only dialogs for annoying our users. And, with XPages, we rarely write any client-side JavaScript anymore so I needed a solution that would work in Server-Side code.
So, I says to myself, "Self?," I says, "There has to be an easy way to do this with CSS." And, joy of joys, there is.
Read More . . .
(11)
Tomorrow morning early we leave for Virginia International Raceway for the Grassroots Motorsports Pirelli Ultimate Track Car Challenge on Friday. It should be interesting, a one-day see-who's-the-fastest event for a year's worth of bragging rights.
The format is NASA Time Trial (TT), which is to say we'll have one 20-minute warm-up session at the
beginning of the day and then three 20-minute timed sessions throughout the day. The winner in each class is the driver with the fastest single lap. That means TT is essentially qualifying as opposed to wheel-to-wheel racing.
The catch, of course, is that some of us like, for instance, me, have never been to VIR before, so in addition to trying to put down a screaming lap we'll also be trying like heck to learn the track. Fortunately, I've been able to spend an inordinate amount of time in the evenings lately studying on-line videos so I think I have at least a reasonable starting understanding of both the track and how to go fast there.
My class is Independent Junior Varsity, which is for normally-aspirated (no turbos or superchargers) 4-cylinder cars created by guys like me in their own garages (as opposed to professionally built cars). I've seen the entry list and I'll be running against an interesting bunch of cars including the Honda that won last year, a Porsche 968, a Honda S2000 and, the ones I'm most concerned about, three Lotus Super Seven clones.
The Super Seven, a photo of one of which is above, is basically four wheels, two seats and a motor. Very light, very fast. It's also one of my all-time favorite cars. So much so that I have been giving somewhat serious thought to building one of these from scratch. The problem or, in this case, worry, about the Sevens is they are massively fast in the lower speed ranges and very good handling cars.
As you can probably imagine from the photo, they are not the most aerodynamic of vehicles so their top speed is somewhat compromised by an unfavorable shape. Also, they probably won't have aerodynamics in the form of a wing or similar tools, which should limit somewhat their cornering speeds. Regardless, of all the cars on the list, these are the three I figure have the best chance, if driven well, to beat me.
Time, of course, will tell.

My car is ready, including a new, much improved wing and splitter and sporting brand new GOODAero graphics. GOODAero is the company I am trying to start to manufacture and sell aerodynamic products for racing cars--starting with a wing like the one I'll be using Friday--and the UTCC is my introduction of the brand.
Last year's winner (in my class) finished with a 2-minute 11-second lap. The current GTS2 (my racing class) lap record at VIR is 2:12.916. My goal is at least one lap in the 2:09s and my dream is a 2:08. If I can get down in that range I think it will be hard to beat.
Regardless of our success in Virginia, Friday afternoon we'll pack it all up and make the 9-hour haul back to Mid-Ohio for a weekend of GTS racing. I'll let you know how they both turn out.
(1)

I just got the news today that I have been invited to Grassroots Motorsports Magazine's Ultimate Track Car Competition. Yay!
Happening just a few weeks from now on Friday July 23 at Virginia International Raceway, this is a national competition to see who has the fastest track (which is to say "Race") cars. I've been hoping to get into this event as my car fits very well into their Independent Junior Varsity class which is for 4- (and fewer) cylinder normally-aspirated cars that weren't built by a professional shop. Barring a mechanical issue, I'd like to think I have a reasonable chance of winning my class.
It should be interesting because I've never been to VIR but have already been studying films for the past couple weeks in anticipation of getting the invite. Should be a lot of fun except for the 8-hour tow back that night to make the NASA races at Mid-Ohio the following morning.
Crossing my fingers...
(2)
Forgot to post this one sooner...racing at Putnam Park (Indiana) a couple weeks ago in mixed conditions. Because of problems with my transponder (which is used by the timing and scoring system) during Qualifying, I had to start at the back of the GTS field.
The rain had quit only a few minutes before the race and most of us, myself included, went out on slicks in anticipation of the track drying out over the course of the race. As you will see, though, the early laps were like driving on ice. As the track dried, the speeds grew. I eventually passed (by my count) a net 28 cars. With about three laps left, I caught the BMW 318 of Paul Milligan who was leading our class (GTS2) and we went at it hard until he got together with a Miata on the final lap.
(7)
Thanks to the graciousness of Mark Myers from Lane Aviation, the wonderful folks at Flight Safety International, and the
influence of a good friend with more pull than I will ever have, I was lucky enough to spend yesterday morning in front of a control panel like the one shown here, flying a Gulfstream G200 around Manhattan.
Well, OK, it wasn't a real G2 and we weren't actually in Manhattan, but it was certainly the next-best thing: a multi-million dollar simulator, the same ones G2 pilots train in. And, let me say, it was fantastic!
Here on the fringe of Columbus International Airport, on the East side of Columbus, Flight Safety International has a facility (formerly the site of Paul Tibbets' company Executive Jet Aviation) where they have seven (count 'em, seven) full-size, full-motion executive jet simulators. You can see a few of them in the photo below.
These simulators represent a range of flying hardware including the G2, Cessna Citations, and so on. Each is incredibly and exactly built to look, act, feel and respond just like the real thing. This facility is mostly used to train and keep up to date the 2,000 or so pilots for NetJets, which is also headquartered here in town. One thing I didn't know is that the FAA considers these simulators to be so much like the real thing that pilots (with appropriate prior credentials) can be trained, certified and licensed in one without ever actually flying the real plane. That is great simulation.
The experience, not surprisingly, was quite amazing. I'm not a pilot but I grew up the son and grandson of pilots so I've always had more than a passing interest and spent more than a few of my younger days trying not to puke from motion sickness in a variety of smaller private aircraft. I thought I knew at least a little bit about what to expect.

Mostly, I was wrong.
The simulator--and the real jet, for that matter--has a "glass cockpit," which means there are virtually no real gauges. Everything is presented on a collection of multi-function devices--computer screens--right in front of you.
Like every multi-engine aircraft, the collection of dials and switches and levers and knobs is overwhelming but John Bhim-Rao, the G200 Progam Manager for Flight Safety, who apparently drew the short straw and had to ride along with us, kept enough of the right things adjusted to the right positions to allow Mark and I to "fly" and worry about mostly the basics, which is to say steering, power, flaps, landing gear and, of course, getting the thing back on the ground in one piece.
Our flight departed from LaGuardia on a beautiful sunny day (light cumulus cloud cover, unlimited visibility) and, although it took a moment to figure out that the left pedal makes it turn right when you're on the ground, we took off successfully to the North, and climbed to 2,000 feet while turning left for a nice view of Manhattan out the port side of the cockpit.
But the take-off was a lot more interesting than that. First, of course, was the thrust of those two engines. With the power on, that little jet goes. And, as speed builds, the tires start thumping surprisingly hard on the expansion joints of the runway. Much harder than you feel in a larger commercial jet. When we had reached an appropriate speed, a gentle pull back on the controls and the thing rose easily into a 1000+ feet per minute climb. It was so, well, real, it was uncanny.

Ironically, considering where we were, John then showed us how much like a video game the aircraft actually is...or at least can be. In the center of the instrumentation was a pink V-shaped indicator along with another white one. The white V was our plane, the pink one where we wanted our plane to be. Getting the aircraft to go to the right place--that is, climbing to the correct altitude at the appropriate climb rate and following the correct heading--was as simple as keeping the white V nestled inside the pink one. Want a new heading? Turn a dial on the dashboard to request, say, a left turn to 280 degrees, then just follow the pink V. Amazingly easy to do. At least, with John over your shoulder.
After flying across above the Statue of Liberty, John pointed to the Verranzo-Narrows bridge, South of Manhattan, and said, "let's see how close you can get to that." We banked to the right and started to descend. Mark Myers, in the co-pilot's seat, said, "I'll give you a buck if you can fly under it" and, of course, I took the bet. Even better, we actually made it!
From under the bridge, we climbed back to 2,000 feet and banked left and to the North for our approach back into LaGuardia. As you approach the runway, from many miles back you can see the glide-path indicator, a series of four huge lights right next to the runway. If they're all white, you're too high. All red, too low. Get two red and two white and you will drop neatly back down onto the runway, which is exactly what we did.
After a few high-fives and some quick photos with our mobile phones, Mark then took us back up and around with me playing co-pilot. He was able to earn back his dollar by making it under the bridge too (he did it better than I) and also successfully landing back at LaGuardia.
A great experience I won't soon forget. Thank you to all who made it possible.
(6)

Below, please find links to my presentations from Lotusphere 2010. If you have any questions about either of them, feel free to write.
- BP202 There’s No Fixing Ugly: How to Make a Great First Impression with Your Applications
- JMP104 JavaScript, JSON, jQuery and AJAX for IBM Lotus Domino Developers
If you were there, thanks for coming...I hope they were useful. If you are the person I offended in one of my "You can't fix ugly" presentations, my apologies. Completely unintended, I assure you.
(5)
For my trip to Orlando for Lotusphere
I picked up a copy of this book. As someone who loves racing in the rain, I was intrigued by the title from the time the book first came out.
But when I found out the narrator was a dog, for reasons I can't exactly explain, I worried the name was a come-on--that it was too much to hope somebody had actually written something compelling, thoughtful, about racing--and somehow that kept me from pulling the trigger.
Then, when it became popular with, well, normal people, that pushed me even further away.
That, I can tell you now, was time sqandered. Wasted. Frittered away.
Gestures are all that I have; sometimes they must be grand in nature. And while I occasionally step over the line and into the world of the melodramatic, it is what I must do in order to communicate clearly and effectively. In order to make my point understood without question. I have not words I can rely on because, much to my dismay, my tongue was designed long and flat and loose, and therefore, is a horribly ineffective tool for pushing food around my mouth while chewing, and an even less effective tool for making clever and complicated polysllabic sounds that can be linked together to form sentences. And that's why I'm here now waiting for Denny to come home--he should be here soon--lying on the cool tiles of the kitchen floor in a puddle of my own urine.
Read More . . .
(1)
I'm sure you've seen some of the hype about President Obama's BlackBerry and have probably heard the various noises being made (mostly by people who have no idea what they're talking about) discussing how unsecure it is and why, therefore, it's a risk to our National Security.
My friend John Wargo, who knows a lot about BlackBerry devices (he worked for RIM for a while, has just written what I think will prove to be the definitive book on BlackBerry application development, and is one of the best BlackBerry developers in the country) took the time a few days ago to explain why all the hype is just so much hooey.
If you have a few minutes, you may want to read John's post, The President's BlackBerry. Interesting stuff.
(3)























