Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | bash | batumi | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bono | borne-sulinowo | breugel | bt747 | budapeszt | bursztyn | canon | cedewu | chello | chiller | chillerpl | chown | chujowetaśmy | ciasto | cmentarz | contour | cron | css | csv | curl | cycling | d54250wykh | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | ds18b20 | dulkiewicz | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | erasmus | erasmusplus | ess | eu | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | foto | france | francja | fripp | fuczki | fuji | fuse | gammu | garmin | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | git | github | gmail | gmaps | gnokii | gnus | google | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | haldaemon | handbrake | hhi | historia | history | hitler | holocaust | holokaust | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | marchew | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | nafisa | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | pdf | pdfpages | pdftex | pdftk | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pstoedit | putin | python | r | radio | random | raspberry | raspberry pi | raspberrypi | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | samba | selenium | sem | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistics | stats | statystyka | stix | stretch | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | transylwania | truetype | ttf | turcja | turkey | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | vostro | wammu | wdc | wdfs | webcam | webdav | webscrapping | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zakopane | zakupy | zdf | zdrowie | łeba | świdnica | żywność
Archiwum
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
Spóźnione podsumowanie 2018

Dystans wg dni tygodnia

Średni dystans wg dni tygodnia

Dystans wg tygodni w roku

Średnio rocznie wg tygodni

To był rekordowy rok w wielu kategoriach:-)

Zacznijmy od pogody, którą mierzę od 2010 roku przypominam. U mnie średnia wyszła 9,56 C, do tej pory rekord to było 9,44 C w 2015 r. Szczegółowo to tak wygląda:

rok     : 2010  2011  2012  2013  2014  2015  2016  2017  2018
--------------------------------------------------------------
średnia : 8.65  8.94  8.17  8.63  9.33  9.44  9.18  8.75  9.56

Rekordowo niska była też suma opadów: 447.9mm (148 dni opadowych); dla porównania w 2017 roku spadło 763,8mm deszczu (194 dni). Rekord do tej pory to 2014 rok: 450,6 (148 dni) czyli w zasadzie tyle samo (z dokładnością do błędu).

Na rowerze przejechałem 19,100 km (302 razy, co nie oznacza dni, bo czasami były dwa razy dziennie). Poprzedni rekord z 2017 r wynosił 17,855 km. Z tej okazji podsumowałem swoje życiowe wyczyny, a mam statystykę szczegółową od 1993 r. Kurcze 26 lat pykło, w których to latach przejechałem prawie 210 tys km. Do tego w latach 1990--1992 przejechałem ponad 20 tys km, ale nie zachowała się niestety dokładna rozpiska. Z okazji tych wszystkich wyczynów podsumowanie zrobiłem wg dni tygodnia i wg. tygodni w roku (wg. miesięcy to liczę na bieżąco). Konkretnie to podsumowanie jest zestawem 7 wykresów słupkowych rysowanych w R. Dane do skryptu i sam skrypt jest z kolei generowany przez prosty program w Perlu:

  #!/usr/bin/perl -w
use Date::Calc qw(Week_Number Day_of_Week);

##my $RRcmd = 'R CMD BATCH'; ## see below

my $color= 'pink';
my $current_yr = 2019;

my %Miesiac = (1 => 'styczeń', 2 => 'luty', 3 => 'marzec', 4 => 'kwiecień',
        5 => 'maj', 6 => 'czerwiec', 7 => 'lipiec', 8 => 'sierpień',
        9 => 'wrzesień', 10 => 'październik', 11 => 'listopad', 12 => 'grudzień',);
my %DoWName = ( 1 => 'pon', 2 => 'wto', 3=> 'sro', 4 => 'czw', 5 => 'pia', 6 => 'sob', 7 => 'nie' );


open(O, ">dow.R") || die "Cannot open!\n";
open(P, 'LANG=C grep "dist\|date" c*.xml|' ) || die "Cannot open!\n";

while (<P>) { 
  chomp();
  ##print ">>$_;";
  if (/date[^'"]+["']([0-9\/]+)["']/) {$date = "$1";}
  if (/dist[^'"]+["']([0-9\/]+)["']/) {$D{$date} += $1;}
}

close(P) || die "Cannot close!\n";

for $d (sort keys %D ) {    
  ($dyy, $dmm, $ddd) = split '/', $d;
  if ($dyy == $current_yr ) { next } ### skip as incomplete

  my $dow = Day_of_Week($dyy,$dmm,$ddd);
  $DoWs{$dow} += $D{$d}; $DoWNums{$dow}++;

  my $woy = Week_Number($dyy,$dmm,$ddd);
  $WoYs{$woy} += $D{$d}; $WoYNums{$woy}++;
  $RdT++;
  $Years{$dyy}=1;
}

@YNo = sort(keys (%Years));
$YNo = $#YNo +1;

print O "##Generated content == do not edit\n";
print O "##By Day of Week\n";
#
for $d (sort keys %DoWs) { 
  $mean = sprintf "%.1f", $DoWs{$d} / $DoWNums{$d}; 
  $t += $DoWs{$d}; 
  $days_totals .= "$DoWs{$d}, ";
  $days_means .= "$mean, ";
  $days_ns .= "$DoWNums{$d}, ";
  $days_labels .= "'" . $DoWName{$d} . "', ";
  ##printf "%-12.12s %7i %.1f (%i)\n", $DoWName{$d}, $DoWs{$d}, $mean, $DoWNums{$d};
  ;
}
$days_totals =~ s/, $//; $days_means =~ s/, $//;
##$days_ymeans =~ s/, $//;
$days_ns =~ s/, $//; $days_labels =~ s/, $//;

print O "days_totals <- c($days_totals);
  days_means <- c($days_means);
  days_ns <- c($days_ns);
  days_labels <- c($days_labels);\n";

print O "barplot(days_totals, 
 main='Distance (total $YNo[0]--$YNo[$#YNo]): $t kms', horiz=F,  
 names.arg=days_labels, col=c('$color'));
barplot(days_means, main='Day means ($YNo[0]--$YNo[$#YNo])', 
 horiz=F,  names.arg=days_labels, col=c('$color'));
barplot(days_ns, main='RideDays (total): $RdT', horiz=F,
 names.arg=days_labels, col=c('$color'));\n";

print STDERR "##Razem: $t\n";

##print "====\n";

print O "\n\n##By Week of Year\n";

for $w (sort {$a <=> $b } keys %WoYs) { 
  $mean = sprintf "%.1f", $WoYs{$w} / $WoYNums{$w}; 

  $vals_totals .= "$WoYs{$w}, ";
  $vals_ymeans .= sprintf "%.1f, ", $WoYs{$w}/$YNo;
  $vals_means .= "$mean, ";
  $vals_ns .= "$WoYNums{$w}, ";
  $vals_labels .= "$w, ";
}

$vals_totals =~ s/, $//; $vals_means =~ s/, $//;
$vals_ymeans =~ s/, $//;
$vals_ns =~ s/, $//; $vals_labels =~ s/, $//;

print O "vals_totals <- c($vals_totals);
  vals_ymeans <- c($vals_ymeans);
  vals_means <- c($vals_means);
  vals_ns <- c($vals_ns);
  vals_labels <- c($vals_labels);\n";

print O "barplot(vals_totals, main='Distance (total $YNo[0]--$YNo[$#YNo]): $t kms', 
  horiz=F,  names.arg=vals_labels, col=c('$color'));
barplot(vals_ymeans, main='Weak means ($YNo[0]--$YNo[$#YNo])', 
  horiz=F,  names.arg=vals_labels, col=c('$color'));
barplot(vals_means, main='Day means ($YNo[0]--$YNo[$#YNo])',
  horiz=F,  names.arg=vals_labels, col=c('$color'));
barplot(vals_ns, main='RideDays (total): $RdT', 
  horiz=F,  names.arg=vals_labels, col=c('$color'));\n";

print O "### ENDE!\n";

close(O);

print STDERR "##R dow.R\n";

system ("R", "CMD", "BATCH", "dow.R");
print STDERR "##xpdf Rplots.pdf\n";

print STDERR "##convert -density 300 Rplots.pdf opus_by_dow.jpg\n";
system ("convert", "-density", "300", "Rplots.pdf", "opus_by_dow.jpg");

Na koniec przyznam że mam mieszane uczucia co do zeszłorocznego wyczynu, w sensie że za dużo wyszło. Oprócz roweru też jest życie...

Tak więc w przyszłym roku raczej rekordu nie będzie.

url | Thu, 24/01/2019 20:19 | tagi: , ,