Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | adamowicz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | banan | bash | batumi | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bme280 | bono | borne-sulinowo | breugel | bt747 | budapeszt | budyń | bursztyn | canon | cedewu | chello | chiller | chillerpl | chown | chujowetaśmy | ciasto | cmentarz | contour | coronavirus | covid19 | cron | css | csv | curl | cycling | d54250wykh | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | dp1500 | ds18b20 | dulkiewicz | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | ep | erasmus | erasmusplus | ess | eu | eurostat | 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 | froggit | 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 | hp1000se | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | karob | 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 | marimekko | 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 | odessa | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | pogoda | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pstoedit | putin | python | pywws | r | radio | random | raspberry | raspberry pi | raspberrypi | raspbian | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | samba | sds011 | 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 | weather | weathercloud | webcam | webdav | webscrapping | weewx | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | wunderground | 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
Stół Bidulkiewicz czyli inna Polska w praktyce

Będziemy jeździć z tym okrągłym stołem po Polsce. Jest w częściach, całego pewnie nie damy rady wozić, ale ma różne konfiguracje, instalacje. Już o tym rozmawialiśmy z organizacjami społecznymi i z samorządowcami -- powiedziała Dulkiewicz w porannej audycji w TOK FM. Będziemy jeździć po Polsce i rozmawiać, przekonywać, że inna Polska jest możliwa -- dodała.

Powyższe było w czerwcu. W międzyczasie o ile mi wiadomo nigdzie ze stołem nie byli. We wrześniu natomiast:

0. Agitując za udziałem w tzw. Budżecie Obywatelskim twierdziła, że sama już zagłosowała.

1. Dziennikarz z lokalnego trojmiasto.pl zagłosował za nią udowadniając, że internetowy system do głosowania jest do dupy (i/lub nieprawdą jest że zagłosowała)

2. Rzecznik prasowy Bidulkiewicz -- realizując program innej Polski zapewne -- groził dziennikarzowi zawiadomieniem o popełnieniu przestępstwa

3. Szef trojmiasto.pl pokajał się publicznie (wolne media to te które przepraszają władzę przynajmniej w innej Polsce)

4. Sama Bidulkiewicz wycofała się z zawiadomienia (a miała inne wyjście?) wydając głupi i pompatyczny manifest (czyli zachowując się normalnie i w swoim stylu z naciskiem na głupio):

Moje zdanie na temat roli wolnych i niezależnych mediów w demokratycznym państwie prawa i współuczestniczenia w budowie społeczeństwa obywatelskiego jest powszechnie znane. [...] Dziennikarze patrzą nam, samorządowcom, urzędnikom, politykom na ręce. Jest to słuszne i potrzebne. Dziękuję panu redaktorowi naczelnemu Michałowi Kaczorowskiemu za refleksję na temat granicy tego, co jest konieczne, i tego, co jest naruszeniem prawa. To publiczne uznanie, że nie powinno się nadużywać prawa jest ważne. W moim odczuciu jest to wystarczające, by z powodów opisanych powyżej nie wchodzić na drogę prawną w związku z bezprawnym użyciem moich danych osobowych.

Więc jakby nie było przeproszenia to co by było? No i co z tą rolą wolnych mediów w innej Polsce w takim przypadku?

url | Fri, 27/09/2019 06:58 | tagi: , ,
Bodrum/Adana 2019

Ostatni odcinek moich wiosennych wojaży. Byłem w Uzbekistanie, potem w Turcji, Gruzji i na koniec w Połtawie (Ukraina). Wszystko już opisałem za wyjątkiem Turcji...

Przylot do Bodrum z opóźnieniem o 1 w nocy. Cały samolot jest upychany do autobusów, które zawiozą nas do różnych hoteli. Nasz hotel jest najdalej od lotniska więc zanim dojechaliśmy i zanim nas odprawili w recepcji jest już 3 rano. Można iść spać, ale my idziemy na śniadanie o 4 rano. Tak w ogóle mamy tu wykupiony pobyt pn all-inclusive-ultra czyli 6 posiłków na dobę w cenie, w tym jedzenie o północy i o czwartej nad ranem (poza tym śniadanie, późne śniadanie, obiad, kolacja). Są jeszcze opcje płatne, ale te w większości jeszcze niedziałające (przed sezonem jest?) Pierwszy raz biorę udział w czymś takim (człowiek uczy się całe życie)

Pobyt zaczyna się od spotkania z rezydentką z biura, które nas tutaj ściągnęło że tak powiem. Sympatyczna pani przedstawia wykaz atrakcji, w tym wycieczek po okolicy, z których możemy (za opłatą) skorzystać, z czego nas interesuje wyspa Kos i Pamukkale. Na Kos jest stąd o rzut beretem i pojedziemy jutro za 27 EUR. Z Pamukkale jest natomiast problem. Po pierwsze daleko, po drugie zorganizowane wycieczki tam są tylko w poniedziałki, My w poniedziałek jedziemy do Adany.

Po spotkaniu idę na śniadanie. Ale śniadania już nima. Spóźniłem się. Sześć posiłków w podanych terminach, ale pomiędzy kuchnia nie działa. He trudno...Na szczęście wszędzie są stoły z ciastkami więc zamiast śniadania jem te ciastka. Potem idę do Bodrum. Jest niby autobus, ale wolę się przejść. W Bodrum idę na dworzec autobusowy i się pytam o to Pamukkale. Jest normalny rejsowy autobus o 9:00 za 43 PLN w jedną stronę. Pięć godzin i się jest na miejscu (prawie). Mówię do kasjera, że słabo to widzę, a on że wcale nie, że na miejscu się jest około 14:00 a ostatni autobus powrotny jest o 19:00 więc spokojnie się wszystko obejrzy. No niby tak, tyle że 10h w autobusie brzmi przerażająco...

Oglądam Bodrum, wracam też piechotą (18.0 km razem wyszło wte-i-we-wte). Spotykam po drodze rezydentów z polskich biur podróży, których widziałem rano w hotelu. Mówią, że śmiało można jechać. Autobus będzie wygodny.

Spóźniam się na obiad też, więc zamiast obiadu znowu ciastka, bo wszędzie są stoły z ciastkami. Potem się okazuje, że to jakaś turecka konferencja była i to były ich ciastka a nie hotelowe (nigdy więcej nie było ciastek wystawionych non-stop). Jedzenie co do zasady tylko w godzinach wydawania posiłków. Pomiędzy posiłkami tylko napoje (w tym wyskokowe).

W sobotę (27.04) jedziemy na Kos wodolotem. Wysiadamy z wodolotu i pierwsze co robię to pożyczam za 5EUR rower. Objeżdżam Kos do połowy (65 km mi wyszło), wracam około 16:00. Nigdzie śladu słynnych uchodźców, nawet smrodu po ich nie ma...

W niedzielę (28.04) z kol. Karolem rano jedziemy na autobus do Pamukkale. Nie mamy kupionego biletu to się umawiamy na 7:00 na śniadaniu z zamiarem dojechania pierwszym autobusem o 7:30 do Bodrum. Kupujemy bilety bez problemu, jedzie z nami dosłownie kilka osób. Po drodze trzy razy dostajemy batony/herbatę i wodę. Autobus jest klimatyzowany. Standard lepszy niż w Wizzair. Dojeżdżamy do Denizli. Potem mikrobusem do Pamukkale (blisko 15km). Wszystko idzie jak po maśle: wchodzimy na górę, oglądamy wszystko co trzeba. Idziemy na obiad. Wracamy do Denizli, potem autobusem o 19:00 do Bodrum. Tym razem jest komplet i bardzo ciasno, ale na szczęście w Yatagan połowa wysiada. Robi się luźniej i nawet zasypiam. Kurcze od 6:00 na nogach...

Ktoś mnie budzi. Policja. Kontrola dokumentów na rogatkach Bodrum, do którego dojeżdżamy zgodnie z planem przed północą. Chcemy jechać taksówką do hotelu, ale się okazuje, że jest autobus. Po 24:00 jesteśmy z powrotem, cała wycieczka trwała 17h z czego jakieś 12h w autobusach. Żebym się nie dopytał to byśmy nawet nie wiedzieli, że można pojechać do Pamukkale nie tylko w poniedziałek i za pół ceny (ale się nie dziwię przewodnikom/rezydentom, ostatecznie oni są od sprzedawania a nie od darmowej akwizycji na rzecz konkurencji.)

Następnego dnia (29.04) jedziemy po śniadaniu na lotnisko i jeszcze przed południem jesteśmy w Adanie. Oficjalna część pobytu: Adana University. Wiozą nas autobusem do hotelu, potem zwiedzanie miasta i na koniec kolacja (kebap). Kolejny dzień zwiedzanie Uniwersytetu. Nowoczesna szkoła, robi dobre wrażenie. Tylko studentów dziwnie mało. Mówią, że 2 tys. U nas w PL by wlazło 20 tys...

Po zwiedzaniu Uniwersytetu obiad (znowu kebap). Współtowarzysze wyjazdu sobie życzą pojechać na zakupy do sklepów, więc jedziemy na przedmieścia. Wielkie galerie jak w PL... Eeee nic tu po mnie myślę, wrócę piechotą do hotelu. No i wracam. Galerie światowe, potem nowoczesne osiedla (często jeszcze niezasiedlone) no a potem slamsy aż do centrum. Kilometry slamsów...

Powrót do Bodrum. Idę znowu na miasto. Kupuję parę suwenirów i wracam. Przebojem jest torba z Kamlem Ataturkiem. Turcy są zachwyceni, że coś takiego noszę...

Rano na lotnisko (02.05). Trochę jakby wcześniej niż trzeba, ale szybko się okazuje dlaczego: autobus jeździ w odwrotnej kolejności po hotelach, a że my najdalej od lotniska to zaczął od nas. Wylot do tego się dramatycznie opóźnił. Nawet nam rozdali jedzenie na koszt firmy. Przed północą w GDA (zamiast 19). Potem pół godziny czekania na walizę (bagażowi sobie poszli?) Wreszcie jestem w domu. O północy, ale warto było....

Spisane 16.8.2019 w samolocie do Cluj. Ciekawy wyjazd, ale jakoś nie mogłem się zebrać i go podsumować. Pierwszy raz w Turcji byłem zresztą.

Zdjęcia z wyjazdu są tutaj; ślad (ze zdjęciami) jest zaś tutaj (albo do pobrania (bez zdjęć) w formacie GPX.)

url | Thu, 05/09/2019 19:49 | tagi: , ,
Powrót z Cluj-Napoki

W zeszłą środę (28/08) wróciliśmy z Elką z wycieczki po Transylwanii. Bombardierem Q400 z Cluj-Napoki do Warszawy. Potem tym samym z Warszawy do Gdańska. Pierwszy raz leciałem Bombardierem BTW.

Z Cluj do W-wy obyło się bez większych przygód. W Warszawie komunikat że będzie opóźnienie. Najpierw że 10 minut, ostatecznie wyszło 40. Do tego jak już byliśmy w autobusie czekając na odjazd wkroczył pan z LOTu i odczytał 5 nazwisk (w tym dwa ewidentnie rosyjsko brzmiące). Nikt nie zareagował... Zamknęli drzwi i pojechaliśmy do samolotu. Wśród pasażerów extra załoga w pełnym rynsztunku, do tego kapitanem tej załogi Murzyn. Ciekawostka...

Wreszcie start o 20.25 (zamiast 19:40). Do Warszawy lot jest krótki, więc ledwo dali Grześka już zapowiadają lądowanie. Z nudów włączyłem GPSa w smartfonie, żeby sprawdzić czy będzie działał w Bombardierze (w Airbusach mi nie działa). Działa, więc widzę gdzie lecimy, na jakiej wysokości i z jaką prędkością. Mijamy Tczew. Tak nad Pruszczem zachrobotało: Cabin crew 4 minutes, ale zaraz potem wciągnął podwozie i minął GDN Rębiechowo na 900mnpm. Poleciał na Kartuzy.

No fear, skręci w lewo, okrąży Żukowo i spróbuje jeszcze raz (tak sobie myślę). Ale ten nie skręcił w lewo tylko w prawo, na Wejherowo i nabiera wysokości. 1600 mnpm. Do Szwecji kurna lecimy, bo molo w Sopocie widać i statki... Tylko po co?

Eeee rozmyślił się, wraca do PL, nawet podwozie znowu wysunął mimo, że do lotniska to jeszcze ładny kawałek (póki co nie w tą stronę leci w ogóle.) Nad stałym lądem jesteśmy z powrotem na wysokości Portu Północnego. Stąd już blisko i lecimy coraz niżej, ale ciągle całkiem wysoko (900m)

Cabin crew 4 minutes

No to już było 13 minut temu... Lecimy nad centrum Gdańska prosto na GDN w Rębiechowie. Wysokość taka jakby OK też, może tym razem się uda:-) No i się udało, tyle że captain taki mało wylewny był. Życzył udanego pobytu i goodbye...

W sumie nic się nie stało oczywiście. Coś chyba z podwoziem było nie ten teges, ale to moje przypuszczenie. Jak się wpisze Bombardier+podwozie do Google to jest tego trochę (nawet filmy:-))...

url | Thu, 05/09/2019 17:42 | tagi: , ,
Mevo na umbrielu








Umbriel to mój serwer. W pliku crontab są następujące nastawy:

## co 120s
*/2 * * * * /home/tomek/bin/mevo_get.sh
## Codziennie 2:33 po północy
33  2 * * * /home/tomek/bin/mevo_process_yesterday.sh
## Raz w miesiącu 2:43 (musi być po mevo_process_yesterday.sh)
43  3 1 * * /home/tomek/bin/mevo_process_lastmonth.sh

Uruchamiany co 2 minuty mevo_get.sh pobiera (mevo_get_store.pl) ze strony plik locations.js, wyciąga z niego najważniesze dane, które dopisuje do pliku YYYYMMDD_log.csv

Uruchamiany raz dziennie mevo_process_yesterday.sh agreguje (robi to skrypt mevo_yesterday_f.pl) dane z pliku YYYYMMDD_log.csv, które zapisuje do pliku MEVO_DAILY_BIKES.csv.

Zawartość MEVO_DAILY_BIKES.csv jest następująca:

day;bikes;zb;dist.total;ga;gd;sop;tczew;rumia;s10111;s10111d;s10112;s10112d;zstat;sstat;\
gd0p;ga0p;sop0p;tczew0p;rumia0p;gd1p;ga1p;sop1p;tczew1p;rumia1p;slope3;\
slope5;stage2;stage4;stage6;stage8;stage10;stage12;stage14;stage16;stage18;stage20;stage99

gdzie:

bikes -- łączna liczba rowerów dostępnych/wykazanych w ciągu dnia w plikach locations.js;

zb -- łączna liczba rowerów wykazanych, które nie były używane (zero-bikes);

dist.total -- dystans łącznie (liczony po prostej);

ga/gd/sop/tczew/rumia -- dystans łącznie (liczony po prostej dla miast; jeżeli rower przejechał z miasta do miasta to każde miasto dostaje połowę);

s10111/s10112 --przeciętna liczba rowerów na stacjach s10111/s10112 liczona jako $\sum_{i=1}^N r_i / N$ (N -- liczba pobrań pliku locations.js, jeżeli pobrano wszystkie to $24 \times 30 = 720$);

s10111d/s10112d -- przeciętna liczba rowerów na stacjach s10111/s10112 w godzinach 5--23;

zstat -- przeciętny odsetek stacji bez rowerów (zero-stations), liczony jako $\sum_{i=1}^N s_i / (S \times N)$ (N -- liczba pobrań pliku locations.js, $S$ -- liczba stacji w systemie);

sstat -- przeciętny odsetek stacji z maksimum jednym rowerem (single-stations), liczony jako $\sum_{i=1}^N s_i / (S \times N)$;

gd0p/ga0p/sop0p/tczew0p/rumia0p -- przeciętny odsetek stacji bez rowerów (zero-stations) dla miast (gd/ga/sop/tczew/rumia). Liczony jak zstat tylko $S$ -- liczba stacji w danym mieście oczywiście;

gd1p/ga1p/sop1p/tczew1p/rumia1p -- przeciętny odsetek stacji z maksimum jednym rowerem (single-stations) dla miast (gd/ga/sop/tczew/rumia). Liczony jak sstat tylko $S$ to liczba stacji w danym mieście oczywiście a nie ogółem;

slope3/slope5 -- łączny dystans przejechanych odcinków o nachyleniu przeciętnym 3%/5%;

stage2/stage4 itd -- łączny dystans przejechanych odcinków o dlugości 0--2km, 2--4km itd...

Następnie uruchamia skrypt mevo_daily_report.pl, który z pliku MEVO_DAILY_BIKES.csv wyciąga ostatni i przedostatni dzień; kompiluje raport dzienny tj. oblicza podstawowe statystyki, tworzy raport tekstowy (ograniczony do 280 znaków bo Twitter więcej nie potrafi) tworzy bardziej obszerny raport w formacie TeXa, konwertowany później do obrazka (za pomocą XeTeXa/converta) Publikuje na twitterze (twitter_post.py) obrazek i ww raport tekstowy.

Następnie uruchamia skrypt mevo_yesterday_hr_f.pl, który agreguje dane z pliku YYYYMMDD_log.csv w ujęciu godzinowym. Zapisuje wynik do pliku MEVO_STAT_BIKES_HRS_YYYYMM.csv (plik przechowuje zagregowane dane godzinowe dla miesiąca). Ten skrypt niczego nie publikuje na twitterze

Plik MEVO_STAT_BIKES_HRS_YYYYMM.csv ma następującą zawartość:

day;hr;bikes;nzstations;bikesGD;bikesGA;bikesSP;nzsGD;nzsGA;nzsSP

day/hr -- dzień i godzina;

bikes -- przeciętna liczba rowerów na wszystkich stacjach (definiowana jako suma rowerów/suma pomiarów);

nzstations -- przeciętna liczba stacji z minimum jednym rowerem (non-zero stations);

bikesGD/bikesGA/bikesSP -- przeciętna liczba rowerów na stacjach w mieście

nzsGD/nzsGA/nzsSP -- przeciętna liczba stacji z minimum jednym rowerem w mieście

Wykonywany raz w miesiąc mevo_process_lastmonth.sh uruchamia mevo_monthly_report.pl, który agreguje w skali miesiąca dane z pliku MEVO_DAILY_BIKES.csv; kompiluje raport miesięczny tj. oblicza podstawowe statystyki, tworzy raport tekstowy i obrazek (w sposób analogiczny jak raport dzienny) publikuje na Twitterze (twitter_post.py) obrazek i raport tekstowy.

Następnie uruchamia skrypt mevo_stat_bikes_hrs.pl, który konwertuje/łączy MEVO_DAILY_BIKES.csvMEVO_STAT_BIKES_HRS_YYYYMM.csv do pliku MEVO_HRS.csv. Na podstawie danych z pliku MEVO_HRS.csv tworzone są wykresy, do czego wykorzystywany jest R.

Plik MEVO_HRS.csv ma następującą zawartość:

dow;dowNN;hr;bikes;bikesGd;bikesGa;bikesSp;stats;statsGd;statsGa;statsSp;\
pbikes;pbikesGd;pbikesGa;pbikesSp;pstats;pstatsGd;pstatsGa;pstatsSp

gdzie:

dow -- dzień tygodnia (0 -- powszedni; 1 -- święta, soboty i niedziele)

dowNN -- liczba dni powszednich i niepowszednich (w miesiącu)

hr -- godzina

bikes/bikesGd/bikesGa/bikesSp -- przeciętna liczba rowerów na wszystkich stacjach i na stacjach w mieście;

stats/statsGd/statsGa/statsS -- przeciętna liczba stacji z minimum jednym rowerem ogółem i w mieście;

pbikes/pbikesGd/pbikesGa/pbikesSp -- przeciętna % rowerów na stacjach ogółem i w mieście (% średniej dobowej);

pstats/pstatsGd/pstatsGa/pstatsSp -- przeciętny % stacji z minimum jednym rowerem ogółem i w mieście (% średniej dobowej);

Konkretnie zaś uruchamiany jest R ze skryptem mevo_hrly.R, który generuje wykresy do pliku Mevo_hrly_YYYYMM.pdf. Następnie Mevo_hrly_YYYYMM.pdf jest konwertowane (convert) do formatu JPG (Mevo_hrly_YYYYMM-0.jpg, Mevo_hrly_YYYYMM-1.jpgMevo_hrly_YYYYMM-2.jpg).

Publikuje na twitterze (twitter_post.py) Mevo_hrly_YYYYMM-*.jpg

Uruchamia R ze skryptem mevo_daily_bikes.R. Uruchamia R ze skryptem mevo_daily_zstats.R. Skrypty generują wykresy do plików mevo_daily_bikes.pdfmevo_daily_zstats.pdf. Pliku mevo_daily_bikes.pdf/mevo_daily_zstats.pdf są zamieniane na format JPG. Publikuje na twitterze (twitter_post.py) mevo_daily_bikes.jpg/mevo_daily_zstats.jpg.

Reasumując tworzone/wykorzystywane są następujące pliki danych: YYYYMMDD_log.csv (dzienny log dopisywany co 2min); MEVO_DAILY_BIKES.csv (dzienny log aktualizowany co 24h (o 2:33)); MEVO_STAT_BIKES_HRS_YYYYMM.csv (dzienny log godzinowy aktualizowany co 24h (o 2:33)) MEVO_HRS.csv (plik tymczasowy z MEVO_DAILY_BIKES.csv/MEVO_STAT_BIKES_HRS_YYYYMM.csv (raz w m-cu))

Przy okazji się okazało że XeTeX na Debiana 4.9.51-1 (chyba Stretch) w wersji Armel jest epicko spieprzony. Konkretnie nie może znaleźć fontów systemowych, bo szuka jakiś dziwnych obciętych nazw. Przykładowo Iwona-Reg.otf nie znajduje, bo szuka Iwona-Reg.. Dziwaczny błąd. Zrobiłem link ln -s Iwona-Reg. Iwona-Reg.otf i działa bo mi się nie chciało tracić czasu na poprawienie tego lepiej.

Anyway za 4 ostatnie miesiące zbiorcza statystyka wygląda następująco (dystanse w tys km za wyjątkiem Dist/r -- miesięczny średni przebieg roweru w km):

YYMM Days   Dist %Change Dist/r   GD %Change    GA %Change   SOP %Change
------------------------------------------------------------------------
201905 31  569.8  241.1  531.5  359.5  235.6  126.6  267.3   42.9  244.3
201906 30  856.9  150.4  677.4  501.4  139.5  220.5  174.2   76.2  177.7
201907 31  751.4   87.7  570.9  438.8   87.5  187.9   85.2   69.0   90.5
201908 31  781.0  103.9  592.3  466.5  106.3  180.3   96.0   73.3  106.3
------------------------------------------------------------------------

Czyli najlepiej było w Czerwcu, bo jeżdżą wcale nie przyjezdni tylko miejscowi do roboty. Potwierdza to też zmienność tygodniowa (mniej się jeździ w soboty i niedziele). Połowa odcinków ma mniej niż 4km (liczone w linii prostej przypominam). Długość odcinków o nachyleniu 3% jest śladowa (a 5% to już ślad w śladzie). Resztę na wykresach widać...

url | Wed, 04/09/2019 19:05 | tagi: , ,