Albert, I think if that had been me I would have found a way to stay 
horizontal! Even if that meant having to have an alcoholic drink (or two) <g>.

Well done to you and to R:Base.
Regards,
Alastair.


  ----- Original Message ----- 
  From: Albert Berry 
  To: RBASE-L Mailing List 
  Sent: Wednesday, June 24, 2009 4:14 PM
  Subject: [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. 


------------------------------------------------------------------------------



  No virus found in this incoming message.
  Checked by AVG - www.avg.com 
  Version: 8.5.374 / Virus Database: 270.12.90/2198 - Release Date: 06/23/09 
17:54:00

Reply via email to