lunedì, ottobre 31, 2011

Calcolo tempo medio mezza maratona

La mezza maratona è una gara su strada di 21,097 km (http://it.wikipedia.org/wiki/Mezza_maratona)

Grazie all’aiuto dei miei colleghi, sempre pronti a darmi nuove motivazioni, è partita una scommessa: io riuscirò a correre una qualsiasi mezza maratona con il tempo di 4’30” entro la fine dell’anno 2011 (anche se la formulazione ufficiale è impostata in senso negativo).

Vista la precisione della formulazione, anche la sua analisi deve avere per lo meno la stessa precisione.

Innanzitutto si parla di “qualsiasi mezza maratona”, quindi qualsiasi percorso che soddisfi tale lunghezza può andare bene e non necessariamente una gara ufficiale, potrebbe essere in leggera discesa e a favore di vento… ma non voglio sfruttare queste lacune della formulazione e mi cimenterò in una mezza maratona con tutti i crismi (Busto Arsizio come primo tentativo e, eventualmente, Padenghe come secondo tentativo).

Un po’ di matematica applicata…

Ogni variazione di un secondo della media corrisponde ad un periodo di 21,097 secondi nel tempo totale della mezza maratona. Va da sé che per lunghezze diverse, tale periodo è diverso e, per esempio, nella maratona la variazione di un secondo sulla media modifica il tempo totale di 42,194 secondi.

Considerando che:

4’30”/km corrispondono a (4 minuti *60 secondi+30 secondi)/km = 270 secondi/km

Per calcolare i secondi necessari moltiplico la distanza della mezza maratona per la velocità media richiesta (4’ 30”):

21,097 km *270 secondi/km= 5.696,19 secondi.

Lo scaglione successivo è quello della media dei 4’31” ovvero 4*60+31 secondi/km = 271 secondi /km

21,097 km * 271 secondi/km = 5.717,287 secondi.

Per quanto riguarda la virgola (decimi, centesimi, millesimi, fantastimillipiccolesimi) leggo dal sito della Federazione Cronometristi Italiani

CRITERI DI ARROTONDAMENTO ED ASSEGNAZIONE DEI TEMPI

Qualunque sia il tipo di cronometraggio (automatico o manuale) adottato in queste gare disputate parzialmente o totalmente all’esterno della pista, i tempi rilevati aventi le frazioni di secondo diverse da zero, devono essere arrotondati al secondo intero immediatamente superiore (arrotondamento per eccesso). Le frazioni di secondo non devono comparire trascritte sui cronologici.

Esempi:

a) Il tempo di 59’45"00/100 rimane 59’45" e così va trascritto sul cronologico.

b) Il tempo di 59’45"01"/100 diventa 59’46" e così va trascritto sul cronologico.”

Quindi arrotondando al secondo superiore abbiamo 5.697 secondi (per stare tranquilli).

Questi corrispondono a : 94 minuti e 57 secondi ovvero 1h34’57”.

Il tempo medio superiore (ovvero quello che non devo raggiungere) di 4’31” corrisponderebbe a:

21,097 * 271 = 5.717,287 secondi.

anche qui arrotondiamo al secondo inferiore (sempre per stare tranquilli) e otteniamo 5.717 secondi.

Questi corrispondono a : 95 minuti e 17 secondi ovvero 1h 35’ 17”.

Quindi per fare il fatidico passo aspetterò 3 secondi dal tempo iniziale e a 1h35’00” vincerò la scommessa (ovviamente dando per scontato che io arriverò al traguardo prima ti tale tempo!!!!).

Nota: per evitare di perdere il tempo ufficiale del cronometraggio, la partenza e l’arrivo per la scommessa sarà ad una decina di metri dopo dell’arrivo ufficiale. Questo mi permetterà di correre la mezza al massimo delle potenzialità e di usare il traguardo fittizio (cronometrato separatamente da me) per la scommessa.

Un riscontro di questi calcoli lo si può avere dalle classifiche delle mezze in giro per il mondo.... Usualmente la media al chilometro non viene riportata, ma in alcune è presente. Una a caso (in cui è riportato il tempo medio) http://www.romaostia.it/?page_id=3807

Peraltro questa classifica usa un metodo sub-ottimale di calcolo della media andando ad arrotondare i risultati all’unità inferiore fino allo 0,5 e a quella superiore sopra lo 0.5.  Tale algoritmo può essere testato anche qui. Anche con questo sistema, comunque, il tempo di 1h35’00” rientra nella media voluta.

Ho aggiornato il mio sito per visualizzare il range sulle distanze classiche.

domenica, ottobre 16, 2011

Biciclettata da Chiavenna a Dubino

Approfittando di una delle ultime domeniche di bel tempo di questo autunno splendido oggi siamo andati a fare un giro in Valchiavenna salendo da Dubino fino a Chiavenna in treno e discendendo in bici dal percorso Valchiavenna prendendo spunto dal percorso GPSed. Ovviamente anche noi abbiamo tracciato il percorso tramite GPS.

Prima tappa alla stazione di Sondrio per acquistare i biglietti. 6 adulti e 6 bambini più una bimba sotto i 4 anni che non paga. Inoltre 11 biglietti per le biciclette, in questo caso 2.30€ a bici (il biglietto per una giornata intera costava 3€, ma a noi non serviva).

Arrivati alla rotonda di Dubino (Nuovo Olonio) abbiamo preso l’uscita verso Gera Lario, e dopo meno di 50 metri prima del passaggio a livello abbiamo svoltato a destra. Dopo 50 metri c’è la stazione con un ampio parcheggio sterrato.

image

Il treno arrivava alle 10.08 (in orario) e ci eravamo già preparati in due gruppi per poter salire da due porte separate (altrimenti ci sarebbe stato il problema di spazio per le bici).

Dopo mezzora arrivo alla stazione di Chiavenna. Nessuna indicazione della ciclabile e uscita solo dalle scalinate (quindi le bici sono da portare). Scesi nel sottopasso abbiamo preso l’uscita a destra (tenendo le spalle alla direzione in cui è arrivato il treno) arrivando in un parcheggio. Proseguendo per cinquanta metri (sempre nella direzione di marcia del nostro treno) arriviamo all’inizio del corso Pratogiano. Giriamo a destra e vediamo l’indicazione del percorso Valchiavenna.

Da qui seguiamo le indicazioni abbastanza chiare per un percorso saliscendi in strade con traffico promiscuo. Grazie alla presenza di un esimio podista (che si è fatto i 25km a piedi) i bambini di 6 anni sono stati aiutati nelle salite incontrate e aiutati nelle discese abbastanza impegnative. Inoltre c’è anche un pezzo di sterrato (tipo 100m) in discesa che ha richiesto un aiuto.

Il tutto per i primi 5 km, dopodiché la strada è in pianura.

Dopo Pizzo, abbiamo girato a destra dovendo attraversare la statale alla rotonda.

Proseguendo per la strada per Gordona, abbiamo girato (seguendo un cartello) ad un incrocio con una fontana. Andando dritti fino al Mera avremmo preso la ciclabile dritta ed evitato qualche problema di orientamento.

Seguendo la strada da noi scelta, abbiamo avuto qualche problema in quanto i cartelli del percorso non sono sufficienti per orientarsi. Il percorso è stato comunque interessante, incontrando parecchi animali (mucche, pecore, cavalli ecc), arrivando alla fine sulla ciclabile che scorre a lato del Mera.

Non trovando un’area di sosta, ci siamo messi in un prato a mangiare. Quindi abbiamo ripreso il percorso arrivando al lago di Mezzola e sulla sua riva, dopo qualche centinaio di metri, un parco giochi dove i bimbi hanno ritrovato un bel po’ di energia.

Quindi abbiamo attraversato il ponte di legno sul torrente Codera, svoltando subito dopo a destra e ritrovandoci dopo un centinaio di metri in una strada senza uscita (un cartello non ci starebbe male!). Quindi dopo il ponte di legno proseguire dritti.

Da qui abbiamo superato Verceia e preso la ex-strada statale resa ciclabile e siamo arrivati sulla strada che corre parallela alla ferrovia e quindi alla stazione di Dubino.

Per arrivarci bisogna fare un cinquanta metri sulla strada per Gera Lario e passare il passaggio a livello.

Riprese le macchine e ritornati a casa contenti per la splendida giornata.

sabato, ottobre 08, 2011

Compilare una libreria per MODFS

Scarico una distribuzione linux dove farò la compilazione.

Es. Ubuntu 11.04 Ubuntu 11.10 (Ho fatto l’errore di accettare l’aggiornamento proposto dalla 11.04, macchina virtuale persa!!! RIP). Per comodità la userò virtualizzata quindi mi scarico anche VirtualBox 4.1.4.

Creo una nuova vm creando un disco dinamico da 8 giga, 1 giga di ram. Aggiungo quindi il cd appena scaricato di Ubuntu.

Faccio partire la macchina che esegue l’installazione di Ubuntu sull’hard disk. La installo in inglese per velocizzare la ricerca di eventuali problemi.

Una volta installata faccio tutti gli aggiornamenti che mi propone.

La libreria che voglio compilare è TcpDump e quella da cui dipende ovvero libpcap.

Seguo questo link e quello ufficiale delle librerie.

Apro una terminal window e mi scarico il programma git (per recuperare i sorgenti)

  1. cd $home
  2. mkdir sorgenti
  3. cd sorgenti
  4. mkdir MODFS
  5. cd MODFS
  6. sudo apt-get install git
  7. git clone git://bpf.tcpdump.org/tcpdump
  8. git clone git://bpf.tcpdump.org/libpcap
ok… ora ho tutti i sorgenti.

Per compilare devo prendere la toolchain di MODFS….

La scompatto in “opt/toolchains/uclibc-crosstools-gcc-4.2.3-3” con

  1. sudo file-roller toolchain_fedora6.tar.gz

Quindi uso lo script di Parnas72 per configurare la cross compilazione, mettendolo nella stessa directory dove è stato scompattata la toolchain.

Imposto il PATH sulla stessa directory

export PATH="$PATH://opt/toolchains/uclibc-crosstools-gcc-4.2.3-3"

Creare il file e dargli i permessi di esecuzione

  1. sudo gedit impostaCC.sh
  2. chmod 777 -R impostaCC.sh

 

quindi copiare il seguente contenuto all’interno

  1. #!/bin/bash
  2.       
  3. BASEDIR=$(readlink -f $0)
  4. BASEDIR=$(dirname $BASEDIR)
  5. export PATH="$BASEDIR/usr/bin:$PATH"
  6. export CC="mips-linux-gcc"
  7. export CXX="mips-linux-g++"
  8. export ac_cv_linux_vers=2
  9. cd
  10. bash

Dovendo fare delle manovre come root (tipo copiare il file di cui sopra nella cartella corretta) ho creato una entry nel menu per lanciare il file manager (nautilus) come root (administrator) usando il trucchetto 9.8.

Mentre per far diventare root il Terminal corrente

sudo -s –H

Mi costruisco un semplice programmino con

$home/MODFS/HelloWorld.c

  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.   printf ("Hello World!\n");
  6. }

 

Che compilo con

  1. $CC HelloWorld.c -o HelloWorld.out

 

La compilazione fallisce con un errore “mips-linux-gcc: No such file or directory”

Dopo un po’ di ricerche scopro che il problema era dovuto alla mancanza delle librerie 32 bit sul mio sistema a 64… quindi me le scarico…

  1. apt-get install ia32-libs

 

Prendo HelloWorld.out e lo copio sul DGN (attivando la share MODFS).

Ora cerco di configurare la libpcap con

  1. impostaCC.sh
  2. cd sorgenti/MODFS/libpcap/
  3. ./configure --host=mips-linux --with-pcap=linux

 

  1. configure: error: Your operating system's lex is insufficient to compile libpcap.  flex is a lex replacement that has many advantages, including being able to compile libpcap.  For more information, see http://www.gnu.org/software/flex/flex.html .

 

Per risolvere il problema aggiorno la libreria flex

  1. apt-get install flex

Quindi riprovo la compilazione “make”

  1. root@carlo-VirtualBox:~/sorgenti/MODFS/libpcap# make
  2. mips-linux-gcc -O2 -fpic -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -g -O2 -c ./pcap-linux.c
  3. In file included from ./pcap-linux.c:170:
  4. /opt/toolchains/uclibc-crosstools-gcc-4.2.3-3/usr/include/linux/ethtool.h:22: error: expected specifier-qualifier-list before 'u32'

 

Nota: Ubuntu mi ha proposto l’aggiornamento alla versione 11.10. Ovviamente ho accettato… risultato: non parte più. Magari ha un problema con VirtualBox…

Nota1: La saga (sfiga?!!?) continua… Ho fatto un aggiornamento a VirtualBox per portarlo alla  versione 4.1.4… L’installazione si bloccava su un errore di registrazione della dll VboxC.dll. Quindi l’ubuntu è sparito…Dopo un po’ di verifiche con ProcMon ho scoperto che l’installazione utilizzava ancora il file StdOle2.tlb che sul mio win7 64bit non era presente. Copiato nella directory c:\windows\system32 e tutto si è sistemato. Quindi posso tornare al problema di ubuntu… chissà mai se tornerò a quello della compilazione di TCPDUMP Occhiolino

Nota2: Ho rinunciato a recuperare l’immagine Ubuntu con il tentativo di upgrade e ne ho fatta una nuova con la 11.10. C’è di buono che posso verificare se mi ero segnato tutti i passaggi fatti per arrivare all’errore di compilazione di TCPDUMP…

TBC

Grazie alle info prese dai post sul forum di harware upgrade in particolare Parnas72 e Cionci