Title: Meddelande
I refuse to show this reply to my wife. She wants to hike all th elderhostels across the top of Switzerland.
Albert

Gunnar Ekblad wrote:
Albert
Besides the obvoius in this case, like you beeing a hero (again)!
I still ove you a dinner why not come to Switzerland early September, that woould be a nice bussiness/holiday,and chance for me to pay you back with a dinner.
 
 

Gunnar Ekblad

Kontema IT AB

Hästholmsvägen 32

131 30 Nacka

Sweden

 

-----Ursprungligt meddelande-----
Från: [email protected] [mailto:[email protected]] För Albert Berry
Skickat: den 24 juni 2009 17:14
Till: RBASE-L Mailing List
Ämne: [RBASE-L] - Why we love R:Base the way we do. A case study.

A very simple application needing a large dose of rapid application development.

A week ago, Tuesday evening June 16, 2009, I attended a meeting of the Knights of Columbus Council (I am a Knight) here to wrap up the annual soap box derby preparations for last Sunday, June 21, 2009. The KC sponsor soap box derby events all over North America as a way to get young people aged 9 to 14 involved in a good, clean, fun event. A good time has been had by all in past years. Our Council puts on the Derby, which with the Soccer tournament finals are the major activities on this, the last day of Coal Miner Days, our little (less than 4,000 population) District of Sparwood's annual community celebration.

At that meeting I was informed that the spreadsheets (!!!) that had been used for years to keep track of the racing were on a computer in a far away land, not to be found. As some of the other council members had reason to believe that once upon a time I had used a computer or two, I was promptly voted unanimously the new chief score keeper. There was one abstaining. Me. I was overruled. It should be noted that my only previous connection to this annual event was as unofficial photographer. I had no idea what the whole thing was about, let alone how the scoring worked. Later that evening, my e-Mail contained the following "business information analysis".
_________________________________________________________________________________________________
Guidelines for Soapbox computer programming for Race Day
Participants need to be listed by cart number for the starting gate people, and the list should have the driver's name, sponsor's name and car number for the announcer need to be
sorted by weight and lane for the first 4 runs.
The 4 lightest will race against each other, then the next 4 lightest, etc,until the last
4 heaviest.
Each group of 4 will race 4 heats against each other - once in each of the 4 lanes.
never running in the same lane. The drivers & lanes need to be sequential and can be color coded as per the ramps to distinguish this.
At the end of all the four heats, each child's' 4 heat times need to be totaled and then a
completely new list begins for HEAT 5 - the final race for each child, grouping according to the times.
The 4 slowest will race together, then the next 4 slowest, etc. until the
group of the 4 fastest will race last.
The computer should randomly pick the lanes for this 5th and final heat.
If the number of participants is not divisible by 4, then the lightest weight and the
slowest should be in groups of no less than 3 (one or two groups as required) so that
the heaviest or the fastest races as groups of 4.
In these last 5th Heats, in each group of 4, there will be 3 medal winners and
the fastest in each of these groups of 4 will be a trophy winner.

Early Wednesday morning, I came down with food poisoning, and spent much of my time in a room that is not equipped with a computer. The rest of the time, I was horizontal. Late Wednesday I received a spreadsheet with the preliminary list of cars, drivers and sponsors. Some (not all) of the drivers' weights were present. The accompanying email also added a request for the fastest single run in the race, regardless of heat. I was recovered enough to start to look at this situation.

Friday night, I had blocked out the system, created a database and loaded the Driver/Sponsor data from the spreadsheets. I had created input forms for each of the 5 heats, created corresponding reports - virtually identical format - to hand to the announcer and to be run up to the top of the hill for the starting crew. The sheets printed in order of groups and lanes. The Deputy Grand Knight and his wife came over to vet the system Saturday afternoon. Small changes and additions were made on the spot. Data was updated based on emails and on site the last of the weights were entered at about 9:30 am. The race start was scheduled for 10:00 am. The final list was 59 cars, 59 drivers and some number of sponsors I have not yet counted. Some sponsors ran more than one car, some cars had two sponsors.

The Deputy Grand Knight hovered, stapler in hand, mounted on his trusty steed (a quad), as I crossed assorted digits and pressed the print button on the menu form in the back seat of my truck for the first heat lineup to print on the laser printer in the front seat of my truck. We checked that the first and last groups were in the right weights, and off he went. The race started 5 minutes late. I am reliably informed that was the closest to being on time in the entire history of the event. The first group was announced to us (at the finish line) by the starter (up the hill and around the corner out of sight) "lane 1, Car 19; lane 2, car 37, lane 3, car 41, no one in lane 4" The list matched ours (same report!) and it was good to go. The ladies clicked the stop watches, came over to me, read off the times, I entered them, we checked, times were cleared, the OK for the next group to start was radioed up the hill. Car/Lane checks completed. 5,4,3,2,1,GO. Click. Click ##,## [Enter], check , good....

15 groups and 57 cars later (two no shows!), heat 1 was complete. Then we did Heat 2 (adding back one of the no shows and running him twice to make up for missing heat 1), 58 cars each in Heats 3 and 4.

After a 15 minute break while the Chief Score Keeper had a panic attack while he looked for the cause of a mixed up list of competitors for the 5th heat, finally resolved when he ran the stored procedure source file which had not been reloaded into the database when it should have been, we ran and timed Heat 5.


The spectators were coming down the hill while the Chief Score Keeper did a sorted UNION SELECT on all five heats to get all 75 runs in order from quickest to slowest to find the one and only fastest run of the day. Bingo! we have a winner. Print out the lineup sheets for heat 5 again (including the scores this time) and scribble the fastest single on it. Hand to the announcer. Collapse.

********************************

Thanks to R:Azzak for writing a dbms with built in forms and reports that can actually be used to quickly and efficiently do this in the time available. If something went wrong, I knew it was I, not he. The R:Base for Win 7.6 development environment is nothing short of miraculous. I agree that this was a pretty simple application, but it worked first time out of the gate. Race day was beta testing, and it did the job with only one glitch.

We in this community are very privileged to work with the dedicated team at RBTI.

PS - I just printed out the sheets as PDF and mailed them to assorted people. No development time here, just "PRINT Heat1 OPTION PDF" and attach them to an email. You have to love it.
Albert.

Reply via email to