June 19, 2006

CLI Magic: A new tool for Formula 1 fans

Author: Joe Barr

User level: Intermediate

Many feel that the the command line offers only archaic system tools crafted by gnarly old Unix geeks who cut their coding teeth before there was an Internet, let alone a blogosphere. They are sadly mistaken. The focus of this week's CLI Magic column is an example of a new CLI tool designed exclusively for Formula 1 -- sorry, NASCAR -- fans. It's called Live-F1, and it brings realtime race and practice data from Formula 1 events around the globe to your Linux terminal window.

Live-F1 is free software, but it depends upon (free) registration at the official Formula 1 Web site. This makes sense, because this Linux client is a replacement for the site's Live Timing feature, which requires a Java-enabled browser.

Grab the tarball with the latest release and enter the live-f1-version subdirectory once you've decompressed it. The README explains what prerequisites (development versions of the curses and neon libraries) are needed to compile it, and INSTALL explains the same thing in greater detail. Once you've done the ./configure;make;make install thing, you can execute
the program simply by entering live-f1 at the command line.

The first time you run Live-F1, you'll be asked for your account information at the Formula1.com Web site. After the first time, you're taken straight to the live timing display. Note that the "live" descriptor depends on there actually being a race or practice sessions underway. If not, you'll get a screen showing the status of things as of the last activity.

Here are two sample screens produced by Live-F1 on the weekend of June 10 and 11. The first one shows the final practice times turned in on Saturday:

P    Name           Period 1 Pediod 2 Period 3 Sec 1 Sec 2 Sec 3 Ls
 1  1 F. ALONSO      1:21.018 1:20.271 1:20.253  25.1  34.7  20.3 24
 2  3 K. RAIKKONEN   1:21.648 1:20.497 1:20.397  25.5  34.6  20.2 24
 3  5 M. SCHUMACHER  1:22.096 1:20.659 1:20.574  25.2  34.9  20.3 22
 4  6 F. MASSA       1:21.647 1:20.846 1:20.764  25.4  34.8  20.4 21
 5  2 G. FISICHELLA  1:22.411 1:20.594 1:20.919  25.5  34.9  20.4 21
 6 11 R. BARRICHELLO 1:22.965 1:20.929 1:20.943  25.6  34.8  20.4 24
 7  7 R. SCHUMACHER  1:22.886 1:21.043 1:21.073  25.8  34.9  20.2 28
 8  4 J. MONTOYA     1:22.169 1:20.816 1:21.107  25.6  34.9  20.4 23
 9 16 N. HEIDFELD    1:21.670 1:20.629 1:21.329  25.4  35.2  20.5 28
10 17live-f1: key frame request failed: 200 OK
11 14 D. COULTHARD   1:22.424 1:21.442         ~^��U1�~R�_~C�� .5 12
12 10 N. ROSBERG     1:23.083 1:21.567           25.6  35.1  20.5  9

14 15 C. KLIEN 1:22.773 1:21.990 25.8 35.2 20.8 12

17 9 M. WEBBER 1:23.129 26.3 35.8 20.7 3

19 12 J. BUTTON 1:23.247 26.2 35.9 20.9 3

22 8 J. TRULLI 27.1 37.3 22.0 2

Notice the error message on the line for 10th place, and the garbled data for the 11th place
driver. This is realtime data from the track, and such things happen.

The second screen shows the final results of the Britsh Grand Prix the following day.

 P    Name            Gap  Int Time     Sector 1 Sector 2 Sector 3 Ps                      Lap  60
 1  1 F. ALONSO       LAP   60 1:24.798 26.4     36.2     22.1      2
 2  5 M. SCHUMACHER  13.9 13.9 1:26.187 27.1     37.0     21.9      2
 3  3 K. RAIKKONEN   18.6  4.7 1:22.722 26.3     35.7     20.6      2
 4  2 G. FISICHELLA  19.9  1.3 1:23.060 26.1     35.9     20.9      2
 5  6 F. MASSA       31.5 11.5 1:24.725 26.7     36.6     21.3      2
 6  4 J. MONTOYA     64.7 33.2 1:26.372 27.6     36.8     21.9      2
 7 16 N. HEIDFELD    71.5  6.8 1:23.863 26.7     36.0     21.1      2
 8 17 J. VILLENEUVE  78.2  6.7 1:24.432 26.9     36.3     21.2      2
 9 10 N. ROSBERG     79.0  0.7 1:23.479 26.4     36.0     20.9      2
10 11 R. BARRICHELLO   1L   1L 1:26.449 27.2     37.4     21.7      2
11  8 J. TRULLI        1L  7.9 1:29.002 27.9     39.2     21.8      2
12 14 D. COULTHARD     1L 20.2 1:24.889 27.2     36.3     21.3      2
13 20 V. LIUZZI        1L 10.7 1:25.932 27.4     36.9     21.5      1
14 15 C. KLIEN         1L  5.3 1:27.287 27.9     37.5     21.7      2
15 19 C. ALBERS        1L 13.7 1:25.192 27.2     36.6     21.3      2
16 18 T. MONTEIRO      2L   1L 1:29.211 28.7     38.7     21.6      2
17 22 T. SATO          3L   1L 1:28.941 27.8     39.2     21.8      2
18 23 F. MONTAGNY      3L 25.8 1:27.808 28.0     37.6     22.0      2
   12 J. BUTTON       52L  49L          26.7     36.9     STOP
   21 S. SPEED        59L   7L RETIRED                              1
    7 R. SCHUMACHER                     STOP
    9 M. WEBBER                         STOP

The race was held at noon, local time, which translated to a 6 a.m. Sunday morning start for me, or else I would have been able to show you a Live-F1 screen depicting live action during the event.

If you're a Formula 1 racing fan, it's no wonder that you're reading an article about the command line. Both attract people who appreciate lean, extremely fast, powerful machines.

Click Here!