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 | odessa | 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 | pywws | 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 | weathercloud | webcam | webdav | webscrapping | 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
Mevo kaputt

No i się skończyło (Kompletne fiasko systemu za miliony złotych):

Decyzję o częściowym wypowiedzeniu umowy z wykonawcą NB Tricity podjął Zarząd Obszaru Metropolitalnego Gdańsk-Gdynia-Sopot. Powodem były między innymi niedotrzymywanie terminów w dostawach rowerów, usterki, czy brak dostępności jednośladów. -- Dalsza współpraca z nierzetelnym kontrahentem nie rodzi nadziei na poprawę, a dalsze czekanie na rozwój wydarzeń w spółce NB Tricity byłoby zbyt dużym ryzykiem dla publicznych pieniędzy -- czytamy w oświadczeniu OMGGS.

Własnością Obszaru Metropolitalnego są 1224 rowery, 660 stacji, system IT i całe oprogramowanie internetowe.

Rower Metropolitalny Mevo miał być najnowocześniejszym systemem roweru miejskiego w Europie.

Od siebie dodam że nie tylko miał być ale był. Przez pół roku:-) Co do majątku (rowery/stacje/ITsystem), to mniemam, że jest gówno warty (w szczególności system, który zgodnie z umową kosztował 600 tys PLN, LoL). Dane dotyczące wykorzystania MEVO, które zgromadziłem (kwiecień-październik) udostępniam tutaj.

url | Tue, 19/11/2019 10:57 | tagi: ,
Odessa -- ostatnia wycieczka w roku

Tour de Ost 2019 odcinek ostatni (szósty). Byłem już w Uzbekistanie, Turcji, Ukrainie, Gruzji i Rumunii (to też trochę na wschód). Teraz jeszcze raz na Ukrainie, w Odessie konkretnie. Ryanair otworzył połączenie GDN-Odessa od 2 listopada 2019. My (ja z Elką) tym pierwszym lecimy licząc, że będzie coś w rodzaju przywitania pierwego pasażyra Rusfłota (z filmu Machulskiego Deja Vu, w którym Stuhr gra zawodowego mordercę wysłanego do Odessy z Chicago); ale nie było żadnego przywitania.

Po wylądowaniu jedziemy trolejbusem z lotniska pod dworzec kolejowy. Stamtąd piechotą na kwaterę, która jest jakie 200 m w linii prostej od schodów Potiomkina-Eisensteina. Docieramy na miejsce już po zmroku. Zostawimy bambetle i idziemy na miasto. Zwiedzamy słynną ulicę Deribasowską i oglądamy Operę. To wszystko jest blisko siebie zresztą...

Rano rozpoczynamy zwiedzanie od portu i schodów. Potem znowu Opera za dnia. Idziemy do muzeum sztuki nowoczesnej (bez szału i dość małe, ale parę ciekawych rzeczy jest z czołgiem z tektury na czele), a potem schodzimy na plażę (bo to blisko jest). Wracamy do domu i idziemy na obiad do (podobno #1) lokalu pn. Kumanets na barszcz ukraiński i pierogi. Tanio nie wyszło... Jemy obiad w trójkę bo umówiliśmy się ze znajomym Ukraińcem JS (poznany w Bachotku), z którym pójdziemy też do Opery. Grają Romeo i Julię Prokofiewa. Opera zresztą jest imponująca a wśród widzów jest wielu Polaków... No proszę tak źle z kulturą wysoką nie jest w PL się okazuje...

Następnego dnia jedziemy oglądać twierdzę Akerman. Pociągiem ponad 2 godziny, powrót trochę krótszy bo jakieś 1,5h, ale za to trzęsie. Że pociąg regionalny, to nie musimy paszportów pokazywać przy kupnie biletów (poprzednio jak jechałem dwa razy pociągiem na Ukrainie to bez paszportu nie wpuszczali do wagonu). Po drodze na kwaterę idziemy do tatarskiej restauracji oczywiście na czebureki, które w życiu może jadłem ze dwa razy. Da się zjeść, ale żeby to jakiś miał być przysmak to też nie. Lokal BTW elegancki i oprócz czebureków dużo innych specjałów.

Ostatni dzień rozpoczynamy od zwiedzania bazaru koło dworca kolejowego. Wrażenie robi dział rybny. Mięsny to też egzotyka, ale podobny już widziałem w Gruzji czy w Uzbekistanie. NB znajdujemy na bazarze uzbecką piekarnię i kupujemy dwa uzbeckie chleby Non świeżo upieczone i gorące... Wracamy na kwaterę, zabieramy plecaki, idziemy na Uniwersytet odwiedzić JS. Potem już w stronę dworca... Robi się ciemno więc jedziemy na lotnisko. Koniec wycieczki. Bilety lotnicze w dwie strony były po 300 PLN, kwatera za 250 PLN, a bilety do Opery po 50 PLN (najlepsze miejsca).

Do pobrania ślady kml ze zdjęciami; album ze zdjęciami.

url | Tue, 19/11/2019 08:56 | tagi: , , ,
Emergency Mode

Mam między innymi taki dziwny komputer pn Asus X205TA. W sumie to go nie używam, bo mam jeszcze 4 laptopy (no i PCta). Razem wychodzi wszystkiego sześć: trzy z Windows i trzy z Linuksem, tyle że Linuks na PC, na klocowym Laptopie i na X205TA.

Asus jest dziwny bo nie ma dysku tylko 30 Gb pamięci flash (nominalnie, w praktyce mniej). Że jest mało pamięci, a komputer ma gniazdo mikro SDHC, to wsadziłem w to gniazdo kartę 32Gb. Do /etc/fstab wpisałem:

UUID=#### /media/tomek/sdhc ext4 auto,user,rw,exec 0 0 

No i zapomniałem o tych wszystkich nastawach. Wczoraj potrzebowałem Laptopa z Linuksem więc przypomniałem sobie o X205TA. Wyjąłem oryginalną, że tak powiem, kartę bo potrzebowałem wsadzić inną i uruchomiłem Asusa:

Welcome to emergency mode! 
After login in, type "journalctl -xb" to view system logs
...

Cyt (za https://blog.dsinf.net/): chyba każdy Linuksowiec korzystający z dystrybucji z systemd ujrzał kiedyś taki napis w trakcie rozruchu:

Welcome to emergency mode! 
After login in, type "journalctl -xb" to view system logs, \
  "systemctl reboot" to reboot, 
"systemctl default" to try again to boot in default mode.

Okazuje się, że rozwiązanie problemu może być bardzo proste [...] Jeśli mamy w /etc/fstab na sztywno wpisanego jakiegoś NTFSa [...] Rozwiązanie: na początek w /etc/fstab komentujemy wszystko poza rootfsem, zapisujemy i reboot -- sugerowany systemctl default nie przeładuje systemd od odpowiedniego momentu. Jeśli po restarcie wszystko działa trzeba ręcznie sprawdzić każdy wpis w /etc/fstab i zaktualizować plik...

U mnie o tyle jeszcze bardziej proste, że wystarczyło wsadzić z powrotem kartę. Nb i a propos każdego Linuksowca (ja na przykład używam Linuksa od 20 lat): może już miałem emergency mode, ale tak dawno, że zapomniałem i tylko dzięki google dowiedziałem się co robić...

url | Mon, 18/11/2019 07:47 | tagi:
Koniec Wunderground/przejście na Weather Cloud

Drugą stację typu 02/041 (WH-1080), którą kiedyś kupiłem i zamontowałem na Bruskiego w Gdańsku, wreszcie podłączyłem do Internetu via Raspberry Pi i pywws.

Tak jak pierwsza stacja, także ta z Bruskiego miała wysyłać dane do serwisu wunderground (dalej WG). Dodatkowo i na wszelki wypadek wymyśliłem sobie, że obie będą raportować do drugiej sieci, mianowicie do WeatherCloud (dalej WC).

Dorejestrowałem stację z Bruskiego do WG oraz zarejestrowałem obie w WC. W obu przypadkach jest to bardzo proste. W obu przypadkach nie wiadomo też dokładnie co dalej, tj. jak podłączyć stację do serwisu (w sensie nie ma na ten temat informacji na stronie). No ale ja już wiedziałem bo kiedyś to przerabiałem.

Zmodyfikowałem zatem plik weather.ini (pywws):

[underground]
station = IPOMORSK8
password = ******
internal = False

[weathercloud]
deviceid = 1bf59344954c4a28
devicekey = **************
internal = True

[logged]
text = []
plot = []
services = ['weathercloud']

[hourly]
services = ['underground']
text = []
plot = []

Kicha i nie działa. Tzn. wysyła na WG, ale nie na WC (z mojej stacji, tę na Bruskiego będą konfigurował później). Doznawszy olśnienia sprawdziłem wersję pywws a że była nie najnowsza to ją zaktualizowałem:

pip3 install pywws
apt install python3-usb

Teraz pywws raportuje na WG oraz na WC. Pojechałem na Bruskiego skonfigurowałem pywws. Działa WC nie działa WG. Błąd 401. Jakaś nowość.

Wpisuję do google 401+wunderground i trafiam od razu na ogłoszenie, że WG będzie wyłączone. Dokładnie jaki jest timetable wyłączenia to jest niejasne, ale po objawach sądząc moja stara stacja jest (jeszcze) obsługiwana, ale nowa już nie. Zapewne za jakiś czas obie znikną...

Tak więc przypadkowo pomysł z dodaniem WC okazał się na czasie...

Adresy moich stacji na WC: https://app.weathercloud.net/d6260490044 (Abrahama) https://app.weathercloud.net/d6442973536 (Bruskiego).

url | Sun, 17/11/2019 21:17 | tagi: , ,
RWC 2019

Ze strony https://www.rugbyworldcup.com/teams/TEAM (gdzie TEAM = england, georgia itd) można ściągnąć dane każdej drużyny. Ja ściągnąłem 14 września wszystkie 20 stron dla 20 drużyn biorących udział w turnieju i się okazało po obejrzeniu pliku od środka, że w każdym jest explicite dołączony JavaSciptowy fragment zawierający dane dotyczące zawodników. (Teraz wygląda na to, że zmieniono sposób generowania stron i JavaScriptowej wstawki nie ma.)

Jeżeli chodzi o statystki meczów, to startową jest strona https://www.rugbyworldcup.com/matches, z której zwykłym grepem można wydłubać URLe do wszystkich 48 meczy. Ten plik zawiera też opisy meczów w formacie JS (kto gra z kim i kiedy), dzięki czemu można ściągnąć pliki dla poszczególnych meczów w bardziej cwany sposób. Ja zrobiłem skrypt w Perlu, który tworzy plik .sh ściągający wszystkie mecze:

## ściąga tylko mecz rozegrany TODAY
if [ "$TODAY" = "20190921" ]; then
echo 'Download: France-Argentina => France_Argentina_0921_25292_.html'
selenium_get_www_page.py 'https://www.rugbyworldcup.com/match/25292' > France_Argentina_0921_25292_.html
## wyciąga statystyki i zapisuje do pliku .csv
perl html2csv.pl -f France_Argentina_0921_25292_.html > France_Argentina_0921_25292_.csv
fi

Idea była taka żeby dodać plik do Crontaba na nafisie (czyli raspberry). Codziennie po południu by się odpalał i ściągał mecze rozegrana tego dnia. Plik HTML jest deklarowany jako xhtml i nawet jest poprawny (well-formed). Dzięki temu dość sprawnie udało mi się zrobić skrypt html2csv.pl, który wydłubuje wszystkie dane meczowe i dopisuje je do pliku w formacie CSV.

Przedostatnim krokiem jest uruchomienie skryptu R, który rysuje 6 wykresów słupkowych dla najważniejszych statystyk.

Ostatnim zaś krokiem wysyłanie tego co zrobił R na twittera (za pomocą tweepy, codziennie wieczorem).

Baza danych z RWC 2019 jest tutaj.

url | Sun, 06/10/2019 08:33 | tagi: , , ,
Instalowanie selenium na raspberry pi

W moim rpi mam Debiana w wersji Buster:

$sudo apt install python-selenium python3-selenium chromium-browser

Uruchamiam prosty skrypt, którego używam do pobierania zasobów z Internetu:

$selenium_get_www_page.py https://www.google.pl
chrome not reachable

Po konsultacji z google znalazłem (radykalne) rozwiązanie. Należy zrobić downgrade relewantnych pakietów:

# Jakie są wersje dostępne:
apt-cache madison chromium-chromedriver chromium-browser

Nie ma żadnych innych poza tymi, które mam zainstalowane, więc trzeba doinstalować z wersji Stretch:

# Należy dodać deb http://archive.raspberrypi.org/debian/ stretch main
# do /etc/apt/sources.list

apt-get update

# Jakie są wersje dostępne teraz:
apt-cache madison chromium-chromedriver chromium-browser

chromium-chromedriver | 74.0.3729.157-rpt5 | \
http://archive.raspberrypi.org/debian buster/main armhf Packages
...

Instaluję stare wersje:

apt-get install chromium-chromedriver=72.0.3626.121-0+rpt4
  chromium-browser=72.0.3626.121-0+rpt4
  chromium-codecs-ffmpeg-extra=72.0.3626.121-0+rpt4
  chromium-browser-l10n=72.0.3626.121-0+rpt4

apt-mark hold
     chromium-chromedriver chromium-browser
     chromium-codecs-ffmpeg-extra chromium-browser-l10n

Teraz skrypt selenium_get_www_page.py działa.

url | Sun, 06/10/2019 08:06 | tagi: , , , ,
Taśmy Neumana czyli chujowe taśmy season 2019

Czemu chujowe taśmy to tutaj jest objaśnienie.

Tych z 2019 (tamtych sprzed 5 lat też zresztą) nie słuchałem w całości. Zresztą nie wiadomo co to jest całość.

Z tego co słyszałem (rzygam Tczewem/Tczewiacy to pojeby) taka specyficzna mobilizacja lokalnych działaczy. Że łudząco podobno do stosowanej w mafii to już inna sprawa (Naucz się tego, jak będziesz o czymkolwiek rozmawiał. Jak będziesz w Platformie, będę cię bronił, kurwa, jak niepodległości. Jak wyjdziesz z Platformy, to masz problem), albo inaczej cosaNostra (literalnie: wspólna sprawa) to Platforma w tym przypadku.

Ponadto ci niektórzy którym się wydaje, że popierają lepszą stronę mocy (nowoczesną/europejską/wykształconą itd) gdyby myśleli (a już dawno tego nie robią), to powinni być mocno zdziwieni co robi u boku p. Neumana wdowa po P. Adamowiczu. W oficjalnej wersji przecież św Paweł to niewinna ofiara PiSoskiego hejtu, a wg pana Neumna, no mówiąc oględnie średnio uczciwy typ żeby nie powiedzieć przestępca (Jedynym gościem jest Adamowicz, który ma absolutnie mega twarde rzeczy, które mogłyby go wyprowadzić w kajdankach). Zresztą wdowa Magdalena PecuniaNonOlet Adamowicz bezczelnie indagowana nt. ww. fragmentu zaapelowała o zmianę języka debaty oczywiście.

No i słusznie bo: Nasz elektorat, ten antypisowski, uzna, że to jest kurwa, atak PiS-u, żeby go zabić. I pójdą jeszcze bardziej na niego.

W tym przypadku na nią oczywiście.

Nb. pan SIENKIEWICZ Bartłomiej Henryk startuje do Sejmu z ramienia Koalicji Obywatelskiej w okręgu 33 (Kielce). Ma numer 1 na liście więc w zasadzie wejdzie na 100%.

url | Sun, 06/10/2019 06:56 | tagi: , ,
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: , ,
Nafisa: instalowanie debiana

Nafisa to arabskie imię żeńskie (i restauracja uzbecka w Elblągu, którą polecam) oraz nazwa mojego nowego serwerka uruchomionego na Raspberry Pi 3.

Do tej pory moje domowe serwery działały (od lat prawie 10) na sheevaPlug i cechowały się wysoką niezawodnością (uptime idący w setki dni; rekord 650 dni). Kiedyś już chciałem je przenieść na RPi, ale ówczesne modele RPi okazały się niedostatecznie reliable. Po nastu dniach następował zwis albo coś w tym stylu, więc dałem sobie spokój. Daję teraz RPi drugą szansę mając nadzieję, że nowe modele są bardziej niezawodne.

Instalacja przebiegła standardowo: ze strony https://www.raspberrypi.org/downloads/raspbian/ pobieram Raspbian Buster with desktop and recommended software. Pobieram też zalecany program balenaEtcher (https://www.raspberrypi.org/documentation/installation/installing-images/README.md) do utworzenia bootowalnej karty SDHC. Klikam, wybieram, zapisuje się. Nawet szybko. Teraz teoretycznie jak się utworzy plik (z dowolną zawartością) o nazwie ssh w partycji boot to można już wkładać kartę do komputerka i startować, ale ja chcę po WiFi więc i tak muszę hasło podać (też można pewnie podać grzebiąc w plikach na karcie ale ja nie wiem jak), więc podłączam RPi do telewizora, łączę z ruterem, zmieniam hasło i włączam SSH (które jest domyślnie zablokowane)

Konfiguruję router i wszystko działa. Teraz standardowo apt update.

Pora na zaistalowanie wszystkiego co używam na starym serwerze, więc sprawdzam co ja tam zainstalowałem:

sudo dpkg-query -l | awk '{print $2}' 

Wybieram z listy te, które wyglądają na doinstalowane:

apt-get install sshfs vim mc
## Digitemp bo planuję podłączyć termometry 18B20  
apt-get install digitemp flickcurl-utils \
     flickrbackup fonts-texgyre fuse gpsbabel gphotofs
apt-get install r-base r-base-core r-base-dev \
     r-base-html r-cran-boot r-cran-class r-cran-cluster \
     r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice
     r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet \
     r-cran-rpart r-cran-spatial r-cran-survival r-doc-html r-recommended
apt-get install imagemagick imagemagick-6-common \
     imagemagick-6.q16
## tweepy używam do zdalnego wysłania twitów 
apt install python3-tweepy python-tweepy
## net::twitter używam do pobierania twitów
apt install libnet-twitter-perl
apt install texlive-base texlive-binaries \
     texlive-extra-utils texlive-font-utils \ 
     texlive-fonts-recommended texlive-generic-extra \
     texlive-generic-recommended texlive-latex-base texlive-latex-extra \
     texlive-latex-recommended texlive-xetex

Potem się okazuje, że jeszcze trzeba doinstalować

apt install apache2
apt install r-cran-gg1plot2 r-cran-reshape2 r-cran-reshape
apt install libgeo-distance-perl libjson-perl libgeo-distance-perl

Sprawdzam czy apache działa (łącząc się z nafisa/). Działa... Kopiuję skrypty ze starego serwera. Modyfikuję. Testuję niektóre i nawet działają...

Plan jest taki żeby teraz mocno potestować RPi i zobaczyć czy działa niezawodnie (BTW testowana z pewnym skryptem w R okazała się prawie 2 razy szybsza.)

url | Wed, 18/09/2019 08:01 | tagi: , , ,
Dwa tygodnie w Rumunii

Langosz (duży racuch)

Euro-skrzynka po rumuńsku

Flaki po rumuńsku

Rower wodny (Sybin)

kirchenburg Cisnadie/Heltau

Cisnadioara

Kolejka do zamku PoD

kirchenburg Prejmer/Tartlau

kirchenburg Prejmer/Tartlau

Pierwszy dzień wycieczki (16.08.2019), w planie którego dotarcie do Cluj via Warszawa samolotem. Wylot planowo 12:00 z GDA, ale już z Warszawy zamiast 14:40 polecieliśmy 16:00. Oba loty Bombardierami Q400 BTW. Lądowanie w Cluj po mniej więcej godzinie. Z lotniska do centrum jest blisko i jedzie się trolejbusem. BTW oprócz trolejbusów są jeszcze tramwaje i autobusy. Po zakwaterowaniu się idziemy na miasto a nawet na kolację.

Następnego dnia w planie zwiedzanie Cluj. Fara pod wezwaniem św. Michała niestety w remoncie. Można z zewnątrz oglądać, ale też niewiele widać bo siatkami pozasłaniana. Ciekawe jest za to muzeum etnograficzne z dużą liczbą eksponatów w tym narzędzi i maszyn używanych na Transylwańskiej wsi. Ci Rumuni to mistrzowie obróbki drewna się okazuje... Muzeum ma też oddział w plenerze, ale o tym Elka nie wiedziała więc tam nie byliśmy.

Następnego dnia (niedziela) jest `transfer day': mikrobusem jedziemy do miejscowości Turda. Że to niedaleko jest jesteśmy na miejscu względnie wcześnie, coś koło 10:00. W Turdzie są trzy atrakcje: kopalnia soli (Salina Turda), wąwóz i muzeum historii. Chcemy jechać do kopalni autobusem, ale że ni cholery nie wiadomo kiedy ten autobus będzie to, decydujemy się zaatakować kopalnię z buta. Ostatecznie to tylko 4km. Bilet kosztuje 40 PLN, w kopalni tłok--kupa luda. Kiedyś kopalnia soli, dziś pieniędzy.

Po zwiedzeniu kopalni jedziemy już autobusem do centrum, a potem piechotą na nową kwaterę. Kwatera jak poprzednia OK, tylko moje wifi w GPD nie działa. Elka coś marudzi o wąwozie, ale jest już 15:00 a podobno samo przejście przez wąwóz to 3h. A jeszcze trzeba dojechać i odjechać. Odmawiam kooperacji i od razu przechodzimy do realizacji ostatniego punktu pobytu w Turdzie, tj. zwiedzania muzeum historii.

Muzeum przedstawia eksponaty odkryte w pobliżu Turdy pochodzące z czasów przed-rzymskich, rzymskich i późniejszych. W skrócie: w czasach Imperium Romanum Rumunia nazywała się Dacja a Turda nazywała się Potaissa. W Potaissie było Castrum, gdzie stacjonował Legio quinta Macedonica (5 legion macedoński). Principia czyli kwatera główna tego obozu miała powierzchnię hektara a Legion liczył 5 tysięcy ludzi. Potęga. W miejscu gdzie było Castrum nie byliśmy ale chyba nic tam nie ma specjalnie ciekawego bo przewodniki nic n/t nie wspominają. Przyznam się, że do tej pory słowo Dacia oznaczało dla mnie wyłącznie nazwę rumuńskiego producenta samochodów. Muzeum tego dnia za darmo. Turda/Potaissa must see place to visit.

Rano 19.08 (poniedziałek) znowu transfer day: jedziemy tak w ogóle do miejscowości Alba Julia, ale z przystankiem w miasteczku Aiud bo tam jest coś godnego obejrzenia: kościół warowny. Jest, nawet imponujący, ale niestety w remoncie (podobnie jak fara w Cluj). Można obejrzeć z zewnątrz. Rozczarowani wsiadamy do następnego autobusu i jedziemy dalej. Zysk z pobytu w Aiud taki, że dojeżdżamy do Alba Julia circa 13:00, wolnym krokiem na kwaterę i będziemy o 14:00 więc nas wpuszczą bez łaski.

Nasze Castrum jest tym razem w bloku, który z zewnątrz jest okropny, a w środku jest jak najbardziej OK (czyli tak jak w PL, tylko klatka schodowa/winda jeszcze bardziej obskurna). Można nawet powiedzieć że trafił nam się apartament z widokiem (na stare miasto). Wifi działa nawet w GPD, zresztą dostawcą jest UPC. Idziemy na miasto znane z dobrze zachowanych rozległych umocnień. Są tutaj nawet dwa muzea: otwarte i zamknięte. Zamknięte (na głucho) dotyczy czasów rzymskich sądząc z tego co widać. No ale jest zamknięte więc sprawa prosta. Otwarte dotyczy twierdzy per se, ale na moje oko to bardziej przyhotelowe entertainment facility za 20 PLN/osoba niż prawdziwe muzeum. Uczciwie wystawili zresztą listę atrakcji do obejrzenia przed kasą i ta lista mocno pachnie lipą (zresztą widział ktoś listę eksponatów przed kasą muzeum?). Nie wchodzimy...

W Turdzie nie było obiadu tutaj idziemy do czegoś w rodzaju baru mlecznego. Ja kupuję zupę jarzynową na żołądkach, a na drugie mamałyga z kawałkiem mięsa do tego szpinak na gęsto, warzywa grilowane, surówka z kapusty i buraki w ocćie (kapusta i buraki na spółkę z Elką). Jako, że jesteśmy tutaj już trzeci dzień to się zorientowaliśmy, że w temacie gastronomii to tutaj kiepsko jest. Generalnie jest drogo i do tego wszystko na jedno kopyto i to takie, które nam nie odpowiada: kawał mięcha z czymś w kilku wariantach. Jakieś placki/pierogi/naleśniki są nieobecne. Ryby za normalną cenę też. Wszechobecne są pizze, no ale ja mogę sobie w Sopocie kupić lepsze i tańsze.

Rano 20.08 (wtorek) znowu transfer day. Jedziemy do Sebes (Sybin, albo Hermannstadt). Ponieważ jest to znacząco dalej, to docieramy dopiero około 13:00 na kwaterę, zostawiamy walizy i idziemy na miasto. Dajemy jeszcze jedną szansę rumuńskiej gastronomii, ale i tym razem ta gastronomia daje dupy. Kupujemy dwie zupy (flaki, nawet nas kelnerka ostrzega czy na pewno chcemy), pizzę i warzywa. Co tu jest niby regionalnego?

Następny dzień też w Sebes: muzeum Bruckethala (25 PLN/osoba). Potem Elka chce zwiedzać muzeum farmacji (10 PLN/osoba). Uparła się, bo w Sybinie działał Samuel Hahnemann, który wymyślił homeopatię (urodził się też tutaj Hermann Oberth (ale póki co nie ma muzeum Obertha i/lub rakiet). Generalnie muzea, które odwiedziliśmy dotąd były OK, widzieliśmy ciekawe/oryginalne, dobrze pokazane i opisane (w języku angielskim) eksponaty (well czasami trochę niedobrze -- głównie z oświetleniem bywają problemy). Ale let's make history: na muzeum farmacji szkoda czasu i pieniędzy. Gdyby zachować proporcje, to przy cenie 25 PLN za Bruckethala, to do tego muzeum farmacji można wejść za 2 PLN (jak pada). W centrum wszystko zwiedzone jedziemy do Astra park gdzie jest skansen wsi rumuńskiej. Łazimy tam do 17:00. Skansen godny polecenia. Oni tu wszystko mieli kiedyś napędzane kołem wodnym!

Trzeci i ostatni dzień w Sebes. Jedziemy do miasteczka Cisnadie gdzie jest kolejny warowny kościół i wsi Cisnadioara obok gdzie jest jeszcze jeden. Do Cisnadie (Heltau) docieramy o 12:30. Kościół (w oryginale Kirchenburg) w remoncie (podobnie jak fara w Cluj i kościół warowny w Aiud). Jakiś facet otwiera śmiało furtę, to my za nim. Pracownik z firmy remontującej, ale po cywilu a nie w kombinezonie/kasku co by nas pewnie odstraszyło żeby wejść. Dzięki temu przypadkowi zwiedzamy przynajmniej teren kościoła, bo ekipa remontująca chyba nas toleruje (coś tam do nas mówią, Elka twierdzi że nas ostrzegają, ale nie wyganiają) Muzeum przykościelne nt niemieckiej historii Cisnadie jest zamknięte. Muzeum komunizmu (też przy kościele) za to otwarte i nawet można by wynieść ten szmelc co tam wyłożyli w gablotach (plakaty, ulotki, legitymacje, portrety Caucescu), bo nikt tego nie pilnuje ale po co?

Idziemy piechotą do Cisnadioara. Tym razem o dziwo kościół jest otwarty. Żeby wejść trzeba zapłacić 8PLN i wejść na całkiem pokaźną górę. Wieś kiedyś zamieszkiwali Niemcy i nazywała się Michelberg. W kościele nic nie ma oprócz kilkudziesięciu płyt z nazwiskami poległych żołnierzy z pierwszej wojny. Wiele polskich nazwisk... Potem na kwaterze doczytuję co tu się działo w 1916 roku (https://en.wikipedia.org/wiki/Battle_of_Transylvania). Wracamy z góry akurat jak niemieccy turyści odkrywają, że jedyna restauracja we wsi jest closed (bo urlop). Niemcy mocno rozczarowani, bo oprócz restauracji jest tylko fastfoodowa buda gdzie sprzedają frytki i kiełbasę z musztardą. Piwa już nie sprzedają, ale można sobie w sklepie obok budy kupić. Kupujemy po butelce a w plecaku mamy po serniku z Sebes. Cały dzień na suchym prowiancie, ale jest tak gorąco, że nawet specjalnie nie chce się jeść....

Generalnie normalne kościoły w tej Rumunii to zamknięte na trzy spusty są. No jak zabytek to ewentualnie można wejść i przez kratę popatrzeć. Nieliczne są otwarte. W Cluj byliśmy nawet świadkami ślubu (prawosławnego zresztą)

Rano 23.08 (piątek) znowu transfer day (4TD). Tym razem do Brasov. Mikrobusem z Sebes o 9:30 wyruszamy i jesteśmy na miejscu po 3 godzinach. Z dworca autobusowego na kwaterę blisko. Tym razem Elka kupiła pokój, ale ponieważ kwatera to nam jest potrzebna do spania tylko, to nie ma to wielkiego znaczenia. Idziemy na miasto i zwiedzamy czarny kościół. Wejście płatne (tutaj to częste a opłaty bynajmniej nie symboliczne). Imponujący. Pięć organów w szczególności. Pół kościoła zajmują zwykłe ławy dla zwykłych ludzi, a pół to są bogato zdobione byśmy powiedzieli loże sponsorskie, (które BTW nie wypaliły u Adamowicza na jego Budyniodromie w GDA). Domyślam się, że sponsorami były/byli różnego rodzaju 'władze'/bogaci mieszczanie (rada miasta/cechy). Wszędzie dywany anatolijskie powieszone ku chwale Bożej. Do tego w sumie pierwszy raz jestem w protestanckim kościele. Szkoda tylko, że w Rumunii nie można zdjęć robić w wielu muzeach (tutaj też).

Następny dzień zwiedzamy zamki w Rasnov i Bran. Charakterystyczne dla Transylwanii są specyficzne fortyfikacje miejskie, które mieliśmy już okazję oglądać w Aiud, Cisnadie, i w Cisnadioara a jeszcze planujemy coś takiego oglądać w Prejmer i w Saschiz. Te fortyfikacje to coś w rodzaju otaczania miast murami w Europie średniowiecznej, tyle że tutaj nie otaczali całych miast a budowali rodzaj cytadeli, w której wszyscy się chronili na wypadek niebezpieczeństwa (albo ta cytadela był lokowane za miastem na górze -- wtedy się nazywa zamek chłopski). Często taka cytadela była budowana naokoło kościoła stąd warowny kościół, ale ta konkretna forteca w Rasnov nie jest obwarowanym kościołem tylko regularnym zamkiem na górze za miastem (tak jak kościół w Cisnadioara). No może nie do końca regularnym, raczej to miasto w miniaturze--infrastruktura niezbędna do przetrwania nawet długotrwałego oblężenia. Podobne miniaturowe miasto-twierdzę zobaczymy jutro w Prejmer (ale w Prejmer jest to forteca w środku miasteczka zbudowana wokół kościoła)...

Po obejrzeniu Rasnov jedziemy do Bran. Mały malowniczy zamek na skale znany powszechnie jako zamek Draculi (aka Prince of Darkness czyli PoD). Wejście za opłatą 40 PLN. Rumuni z kwatery nam mówili, że nie warto płacić i wchodzić, bo tam nic nie ma no ale skoro już to jesteśmy to głupio nie wejść. Ludzi dziki tłum (bilet 40 PLN przypominam). Na początek 40 minut czekania w kolejce żeby w ogóle wejść do zamku. Zwiedzanie także w tłumie, nie ma czasu się zatrzymać bo za plecami kupa luda napiera, a że wszędzie ciasno jak na łodzi podwodnej to niespecjalnie jest gdzie nawet ustąpić miejsca i przepuścić. Normalnie zamek dla krasnali, ja to przykładowo w żadne drzwi bym nie wszedł niepochylony mimo, że część pomieszczeń podwyższono na potrzeby króla Ferdynanda, który tu później urzędował. Potwierdza się opinia naszych gospodarzy, że lipa niewarta czasu i pieniędzy. No ale ze względów prestiżowo-wizerunkowych nie było wyjścia....

Wracamy do Brasov o 17:40. Autobus nabity ludźmi po sam dach. Ciekawe co by było gdyby nam się zachciało lekkomyślnie wracać ostatnim (o 19-cośtam)?

Niedziela 25.08 ostatni dzień w Brasov jedziemy rano do Prejmer oglądać kościół warowny. Podobnie jak w Cisnadie jest to cytadela w środku miasta zbudowana wokół kościoła. Ale dużo większa. Prawdziwy Kirchenburg nie żadne popierdółki. W Cisnadie to był kościół otoczony murami, a tutaj to jest mini-miasto zdolne do przetrwania długiego oblężenia (tak mi się wydaje przynajmniej). Detalicznie wszystko oglądamy, bo prawie wszędzie można wejść. Potem jemy po langoszu z serem z foodtrucka przed fortecą i wracamy na kwaterę. Dopiero 15:00, a nam się skończył program pobytu. Postanawiamy pójść teraz na kwaterę, odpocząć trochę a potem obejrzeć Brasov by night.

Wychodzimy o 18:00 na miasto i przypadkowo odkrywamy fragmenty interesujących umocnień. Konkretnie w lesie widzę coś co na mapie nazywa się Turnul Alb (Biała Wieża) i jest doskonałym punktem widokowym, z którego można zrobić fajne panoramy Starego Miasta i Czarnego Kościoła. Jest też niedaleko Turnul Negro (też biały zresztą). Wracamy o 21:00.

Rano 26.08 transfer day #5. Pobudka 5:00 (czyli 4:00 CET), bo o 5:40 rano idziemy na dworzec kolejowy i odjeżdżamy do Sighisoara (pociąg 6:10), reklamowanej jako ostatnie zamieszkałe średniowieczne miasto. Zostawiamy plecaki na kwaterze i idziemy sprawdzić czy to prawda. Całe to średniowieczne miasto to oczywiście przysłowiowe dwie ulice na krzyż, na których 3/4 domów to pensjonaty, restauracje hotele i sklepy. Pół góry zajmuje poza tym cmentarz. Faktycznie malownicze miejsce, ale 2 godziny wystarczą na zwiedzenie wszystkiego. Że nie mamy koncepcji co dalej idziemy na piwo, potem zamawiamy dwie ciorby w chlebie na rynku i wracamy o 14:00 na kwaterę. Następnego dnia jedziemy oglądać kościół obronny w Saschiz.

W porównaniu do kościołów z Aiud i Cisnadie, a zwłaszcza z Prejmeru najmniej imponująca forteca, ale ciekawy kościół. Na wzgórzu za miastem jest jeszcze 'zamek chłopski'. Czekamy chwilę na panią w kościele bo gdzieś poszła żeby się zapytać jak dojść do zamku (kasę zostawiła otwartą, bilety i pieniądze na wierzchu leżą. -- widać tu nie kradną...) Wracamy z zamku i mamy szczęście, bo akurat jedzie mikrobus do Sighisoary. Po południu idziemy szlakiem czerwonym do Rezerwatu Dębów. Bez szału ale interesująca wycieczka. To ostatni punkt programu wycieczki po Transylwanii.

Rano 28.08 transfer day #6. Pobudka 4:00 (czyli 3:00 CET) żeby na spokojnie wyjść 4:40 na stację. Pociąg odjeżdża 5:30. Około 10 jesteśmy z powrotem w Cluj. Że mamy dużo czasu wymyśliłem że pójdziemy zwiedzać skansen, którego nie zdążyliśmy obejrzeć jak tu byliśmy 2 tygodnie temu (prawie). Strzał w dziesiątkę. Niby podobny do tego skansenu w Sebes ale jednak inny. W szczególności trzy interesujące/oryginalne drewniane kościoły, które można obejrzeć od środka.

Wnioski ogólne: wszyscy tu mówią dobrze po angielsku. Naprawdę. Konduktor, sprzedawca w sklepie, kierowca w autobusie. Z każdym idzie się dogadać. Jest czysto na ulicach, nie ma żebraków i bieda-handlu. Wycieczka bez samochodu to był średni pomysł raczej, bo Rumunia to nie Gruzja gdzie można wszędzie jechać taksówkami albo marszrutkami za rozsądne pieniądze. WiFi w GPD często nie działa, trzeba będzie jakąś extra kartę zabierać.

Zdjęcia z wyjazdu są/będą tutaj, ślad jest zaś tutaj. W promocji link do ciekawego bloga pn.  Hanys w podróżach.

url | Wed, 11/09/2019 03:28 | 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: , ,
Dulkiewicz upomina Kuchcińskiego

Lotna inaczej p. Dulkiewicz, znana z tego, że usiłuje zaistnieć (bo o jakiś namacalnych że tak powiem osiągnięciach trudno na razie mówić, chociażby z tego powodu, że ostatecznie dopiero mija pół roku jak się świat dowiedział, że ktoś taki wybitny w ogóle istnieje) poucza marszałka Kuchcińskiego, że zamiast samolotem to powinien rowerem jak ona...

Chciała błysnąć a wyszło jak zwykle dotąd średnio (mówiąc oględnie), bo niby zamiast trwonić grosz publiczny latając ona jeździ rowerem więc wstydź się rozrzutny marszałku z PiSa. No ale kurcze nie swoim rowerem, tylko kupionym za publiczne, do tego cały projekt to modelowy przykład klapy (za cudze pieniądze). Więc zamiast siedzieć cicho (jak Szczurek czy inny Karnowski) przypomniała jaką to klapą/kompromitacją jest słynne MEVO.

Miało być 4000 rowerów jest 1500... O reszcie należy zapomnieć, bo bądźmy szczerzy: w czym leży nie-do-rozwiązania-od-miesięcy problem pt kupić i udostępnić te marne 2500 brakujących bajków, jak nie w braku kasy w NextBike czy jak oni się tam nazywają? Operatorowi oczywiście naliczają za niewywiązanie się z umowy kary, ale skoro on nie ma na rowery, to i na kary nie będzie miał (więc pewnie w stosownym czasie się wszystko się anuluje albo się ogłosi upadłość operatora i będzie po sprawie, i po pieniądzach wpompowanych w Misia pn. MEVO też)...

url | Mon, 12/08/2019 17:34 | tagi: , , , ,
Mevo: koncentracja rowerów na stacjach

29 czerwca był upał i pierwszy raz w życiu zobaczyłem stację MEVO literalnie zawaloną rowerami. Była 13:00. Po dojechaniu do domu sprawdziłem, że rowerów było tam aż 24. To mnie zainspirowało do sprawdzenia jak wygląda koncentracja rowerów na stacjach. Na szybko zmajstrowałem skrypt wypisujący ile jest rowerów na stacjach (rowery), udział w całości zaparkowanych w danym momencie (udzial) oraz udział w całości zaparkowanych w danym momencie w tym konkretnym mieście (ludzial): Dla 29 czerwca 2019, godz 13:00 okazało się że:

stacja;wspolrzedne;miasto;rowery;udzial;ludzial
S11358;18.57196808,54.40258423;Gdańsk;55;6.782;16.566
S11069;18.59038998,54.42794681;Gdańsk;24;2.959;7.229
S10100;18.57092997,54.44534256;Sopot;24;2.959;35.294
S11357;18.63640600,54.38637008;Gdańsk;18;2.219;5.422
S12007;18.53351997,54.49663118;Gdynia;16;1.973;7.843
S11186;18.57639103,54.39859534;Gdańsk;15;1.850;4.518
S10121;18.56255831,54.45392821;Sopot;13;1.603;19.118
S12126;18.47267507,54.54728035;Gdynia;13;1.603;6.373
S12053;18.54832346,54.51633152;Gdynia;13;1.603;6.373
S12054;18.54687652,54.51960321;Gdynia;12;1.480;5.882
S12033;18.56357898,54.48005340;Gdynia;10;1.233;4.902

Czyli na stacji 11358 było 55 rowerów co stanowiło 6,782% wszystkich zaparkowanych w systemie MEVO albo 16,566% zaparkowanych w Gdańsku. Dla Sopotu było nawet jeszcze lepiej bo na stacjach 10100/10121 było 24+13 (37 rowerów) ale było to 35,294 + 19.118, tj. prawie 55% wszystkich zaparkowanych w Sopocie (o godzinie 13:00). Dokładnie było 68 rowerów w 28 miejscach wtedy (27 stacji i jeden luźny bajk). Na 11 stacjach nie było nic a na 10 jeden rower.

Jest taka prosta miara koncentracji, co się nazywa w języku HH-Index, albo po polsku Wskaźnik Herfindahla-Hirschmana. Jest on nawet stosowany w USA do mierzenia koncentracji na rynku. Formuła jest banalnie prosta: dla $N$ wartości $x_i$ ($i=1...N$) sumujących się do 100 (czyli udziałów w całości), HHI liczy się jako: $\sum_{i=1}^N x_i^2$. Łatwo sprawdzić że HHI < 10000. Interpretacja jest taka, że HHI < 1000 wskazuje na słabą koncentrację, 1000 < HHI < 1800 umiarkowaną, a wartości większe od 1800 na dużą. BTW HHI da Sopotu o 13:00 (29/7/2019) wynosiło około 1850...

No to ja policzyłem HHI dla MEVO. Udziały były chwilowe, tj. $x_i = r_i/r_t$, dzie $r_t$ łączna liczba zaparkowanych rowerów na wszystkich stacjach w mieście $M$ (w danym momencie); no a $x_i$ to oczywiście liczba rowerów na stacji $i$. Potem uśredniłem, tj. wszystkie $HHI_i$ z godziny $h$ zsumowałem i podzieliłem przez liczbę pomiarów w tej godzinie (zwykle przez 30, bo pomiar jest co 2 minuty). Policzyłem oddzielnie dla GD/GA/Sopot/Tczew dla dni pracujących oraz dla świąt, sobót i niedziel osobno...

Wyniki dla maj--lipiec na wykresie (obok). Ciekawostkowo koncentracja w GD jest zaskakująco inna niż w GA. Teoretycznie im więcej stacji tym wartość HHI powinna być mniejsza, a tak nie jest: w GD wartość HHI wynosi w szczycie około 500, a w GA tylko 300. Szczyt wypada tak 9--11 zresztą. Można sobie wyobrazić, że użytkownicy jadą do pracy i zostawiając rowery przez biurami ogołacają stacje poza centrum a zapełniają te w rodzaju stacji o numerze 11358 (Gdańsk/Oliva Business Centre). W niedziele i święta do pracy nie jeżdżą to koncentracja jest mniejsza. Ma sens, ale nie w GA gdzie akurat w święta jest większa, wprawdzie chwilowo (w znaczeniu, że szybko rośnie ale potem równie szybko spada), ale jednak. Jakby w GA masowo jeździli gdzieś koło południa, a potem wracali z powrotem prawie że od razu... Mniejsza liczba stacji/rowerów w GA niż GD może powodować że wartość HHI ,,łatwiej'' rośnie...

W Sopocie i Tczewie jest znacząco mniej rowerów niż w GD/GA więc nic dziwnego że wartość HHI jest też dużo większa. BTW przeciętne dzienne wartości HHI są następujące (GD/GA/Sopot/Tczew): 170/222/1255/1143 (pon-piątek) oraz 93/225/1169/1200 (niedziele-soboty-święta). W Sopocie (poniedziałek--piątek) zmiany HHI są jeszcze inne niż w GD/GA. Amplituda jest mniejsza, a jedyny wyraźny dół jest rano około 5 a nie w godzinach 21--5 jak na przykład w GD. W niedziele i święta jest tradycyjnie jeden szczyt koło południa, a oprócz tego około 19--20 oraz 2--3 rano.

Skrypty i plik CSV z danymi jest tradycyjnie w archiwum GitHub

Na koniec przypomnienie, że prezes obiecał na 18.08 +4000 rowerów w systemie. Na koniec lipca wykazywane jest póki co: +1500 (niektóre w Warszawie albo w Cedrach Wlk.). Z tej puli bajków (numerów bajków?) codziennie pojawia się w pliku locations.js +1350, jeździ zaś mniej, około 1200 (reszta stoi). Na 100 procent wszyscy już wiedzą, że ni-chu-chu nie będzie 4000 rowerów nawet na 31 września, ale media zachowują w tej sprawie zgodne milczenie. Nikt nikogo nie pyta, a zwłaszcza prezesa. Nie ma sprawy...

url | Thu, 01/08/2019 12:38 | tagi: , , , ,
TourDeOst 3/4: Batumi

Rzucony przez moją AlmaMater na odcinek Wschodni po odwiedzeniu Uzbekistanu i Turcji pojechałem do Gruzji (sam).

11.05 Przylot do Kutaisi. Nocleg w hostelu pn Hostel Kutaisi By Kote; w cenie 20 lari jest przywiezienie z lotniska. Na kwaterze późno w nocy Nie kupiłem karty SIM bo się kierowcy spieszyło, a potem się okazało że w sumie to karta nie była potrzebna. Następnego dnia rano spacer po Kutaisi. Wypad z kwatery 11.00. Idę do Czerwonego Mostu piechotą, bo to blisko i z górki. Marszrutka do Batumi stąd nie odjeżdża, ale odjeżdżają marszrutki krótkobieżne. Za pół lari można dojechać do dworca autobusowego (linia numer sześć). Około 13.00 wyjazd do Batumi, gdzie docieram koło 16:00. Od razu falstart. Najpierw wkurwili mnie taksówkarze. Ledwo wysiadłem z marszrutki: Taxi nada? Mówię że nie nada i nawet jestem szczery, bo chcę iść najpierw na obiad. Ale temu namolnemu to mało, pyta raz jeszcze i jeszcze raz. Idę do pobliskiej restauracji Samikitno, którą nota bene znam już z poprzedniej wizyty, i która wygląda zresztą na sieciówkę -- ma też filię o tej samej nazwie w Tbilisi. Na sali jest 2/3 miejsc wolnych, a ja jestem jedynym klientem czekającym na zamówienie, ale kelnerzy w liczbie czterach pilnie wpatrują się w salę i ani myślą podejść. Po 15 minutach wychodzę. Szukam czegoś zamiast Samikitno, ale kończy się na fast foodzie, bo po drodze do hostelu ni cholery nie ma niczego innego. Na szczęście na kwaterze generalnie jest ok (jak na Gruzję), tylko łazienka tradycyjnie dysfunkcjonalna -- taka budka telefoniczna do tego instalacja unikatowa jak to w Gruzji. Jestem jedynym gościem na 3 pokojach. W sezonie 6 ludzi na jeden sedes i prysznic to może być jednak kiepsko.

BTW1: tak w ogóle to Gruzja to niestety kraj fast foodów (jeszcze w Batumi i pewnie w Tbilisi, to coś można znaleźć lepszego, bo tu turystów dużo ale gdzie indziej -- umarł w butach). Cafe (których tutaj test bez liku), to u nich lokal gdzie można kupić chaczapuri, kawę raczej nie, a jak już to na 99% nie ekspresu, tylko albo po turecku albo z torebki (3 w jednym czyli słodzoną od razu). Ciastek/deserów to tam nie będzie na 100%. Ale uwaga: nawet na tej kulinarnej pustyni znaleźliśmy diament: Dona Bakeshop & Cafe (121 Parnavaz Mepe St/Bakumi). Szczerze polecam, Blikle przy nich to horendalnie drogie dziadostwo. W Kutaisi całkiem fajne restauracje są zaś w okolicach białego mostu. Ja byłem w takiej co się nazywa White Stones (BTW od białych kamieni na rzece Rioni.)

BTW2: większość (a na pewno dużo) Gruzinów w pracy to się zwyczajnie opier@dala. Taksówkarze stoją cały dzień na ulicy i ćwiczą wymowę dwóch słów: Taxi nada?. W niezliczonych sklepach towaru i klientów nie uświadczysz (wyjątek: cukiernia Dona) więc personel głównie siedzi i czeka.

13.05 pierwszy dzień roboczy, że tak powiem, tj. spotkanie z władzami miejscowej Batumi State Univ (BSU) i staffem Erasmusa tejże wyznaczone na 14:30. Potem zwiedzanie szkoły, a potem wycieczka po mieście i wreszcie kolacja. Przed spotkaniem na wszelki wypadek poszedłem na obiad w postaci standardowego zestawu chinkali (czyli 5 sztuk) Wieczorem uroczysta kolacja. Strasznie się objadłem... Z ciekawostek na tym BSU studiuje 500 Hindusów (widzieliśmy) -- medycynę.

Następnego dnia zbiórka na 10:00. Najpierw meeting -- prezentacja szkół -- potem godzinny kurs gruzińskiego, obiad i wizyta w delfinarium. Lunch: chaczapuri adjaruli w restauracji na koszt BSU. Wypatrzyłem sklep z rowerami przy tej samej ulicy co mój hostel czyli Puszkina i umówiłem się na czwartek na wypożyczenie bicykla. Sklep prowadzą Ukraińcy zresztą...

Środa -- wykład dla studentów. Powiem bez rewelacji. Było dużo studentów, ale zainteresowanie średnie. Potem było zwiedzanie biblioteki, które dla pań z biblioteki było wielkim wydarzeniem. Panie się nudzą (podobno biblioteka zatrudnia 80 osób nb), bo tej makulatury, to pewnie nikt już nie wypożycza...

Potem lunch za który tym razem zaplaciliśmy po 30 lari. Jak to z Gruzinami --nie do końca żeśmy się dogadali tym bardziej, że były trzy strony: my, Gruzini z BSU i Gruzini z restauracji... Ja np zamówiłem lobio, zestaw takich szprotek smażonych (dla spróbowania) + zestaw surówek i kawę. Jakieś 20 lari za całość. A dostałem pstrąga, ale bez kawy... Za to gruzini z BSU zamówili za nas ale bez mówienia nam o tym ekstra warzywa i sery... W rezultcie połowa zamówienia została na stole:-( Po obiedzie wine-tour-Keda co się okazało wycieczką do tego mostu co 5 lat temu z Elką (google: queen Tamar bridge a konkretnie Mahuntseti Bridge) a po drodze obejrzenie 3 wodospadów i jeszcze jednego łukowatego mostu tyle że znacznie mniejszego. Na koniec wylądowaliśmy w hurtowni wina Adjaran White House z restauracją gdzie za 7 lari wypiłem pół kieliszka wina. Wino faktycznie dobre, ale na mieście to za 7 lari by była butelka, więc atrakcje takie sobie.

Ale jedna z uczestniczek to już w ogóle miała przechlapane, bo jako wegetarianka zamówiłą zupę grzybową i te ich rolady z bakłażana. Dostała zaś tylko zupę (za 30 lari tj 40 parę PLN). Zła była jak licho... I ja się nie dziwię...

Czwartek, ostatni dzień roboczy zapowiada podobnie więc plan jest taki żeby się tego wymiksować PRZED lunchem bo znowu zapłacę 30 lari za obiad, z którego zjem za 10 lari (5 chinkali = 4 lari tak w ogóle) Poza tym odkryłem fajny bar rybny obok rynku rybnego z potrwami z różnych egzotycznych ryb i szczerze je wolę zamiast tych całych chinkali o adżarskim (z płynnym żółtkiem) chaczapuri nie wspomnę... a pstrąga to mogę w Sopocie kupić--nie muszę do batumi jeździć w tym celu.

Poza tym nie chcę mi się jechać w czwartek do Kutaisi, więc wymyśliłem że czwartek-piątek posiedzę w Batumi a piątek/sobotę w Kutaisi.

16.05: Europe day, zakończenie. Dziś pobudka 7.20 i poszedłem na bazar. Kupiłem przyprawy, czurczele i pelamuszi. Pani myślała, że przyszedł jakiś frajer co kupi 2 czurczele i szklankę soli, a nie poważny klient i mnie zlekceważyła, więc jak to wszystko już odsypała do worków co chciałem, to jej się pokićkało i 3x liczyła ile ma być. Wydałem w końcu zaledwie 50 lari a jak położyłem to co kupiłem na wagę: --5kg więc chyba już więcej nic nie kupię bo już mam nadbagaż (a może nie? Coś tam jednak tutaj zostawiłem)

Ten Europe day to takie targi edukacyjne się okazało (pierwszy raz uczestniczyłem w czymś takim). Każdy miał stolik i się prezentował. Generalnie stolików było 5 (1xFRA, 1xLitva, 3xpl) i każdy coś miał tylko Kwidzyn miał wielką figę:-) Ale to w sumie b/z bo ci inni, co coś mieli, to też nic w sumie nie osiągnęli... Ponieważ 5 stołów to by licho wyglądało to Gruzini dostawili jeszcze stoliki z Azerbejdżanu, Niemiec i Hiszpanii oraz stolik neutralny, że tak powiem gdzie było wsio co mieli przysłane pocztą ale nie było delegatów...

Ci Hiszpanie, Niemcy i Azerowie to przypuszczam studenci, którzy tam siedzą i zostali namówienie na przyjście na imprezę: Hiszpanie przynieśli paellę z kartofli + jakąś ciecz w puszce (nie próbowałem), Niemcy kupili miejscowe wypieki, ale z gatunku po 50 tetri od sztuki (wiadomo oszczędni) i tym zapełnili stół a Azerowie mieli najwięcej: kartki w dwóch rodzajach wydrukowane na drukarce kolorowej: jakiś ichni narodowy symbol-budynek a na drugiej mapa Azerbejdżanu z ikonami potraw regionalnych... Czyli wypadłem nie najgorzej na tle:-)

Były przemowy, zdjęcia, bufet, tort, wino, telewizja i w ogóle. Potem miał być lunch, ale wszyscy się wykręcili, że są już po (to akurat była prawda -- pół tortu i tak zostało) a z wycieczki do ogrodu botanicznego też udało mi się wykręcić (już tam byłem zresztą kiedyś). 13:30 KONIEC. Poleciałem szybko do tego sklepu rowerowego i pożyczyłem bicykla. Pojechałem na turecką granicę a potem odbiłem trochę w góry, ale tylko trochę (razem 60 km wyszło). Pożyczyli mi ten rower "okrakiem" od 14:00 czwartek do 14:00 piątek --na dzień za 35 lari.

W piątek pobudka w 7:00 jadę w stronę Poti cykając foty co jakiś czas. Dojeżdżam do skrzyżowania na Kutaisi (za wsią Tskaltsminda) i zawracam. W sumie szkoda, że nie dałem rady do Poti ale i tak wyszło 110km (w obie strony) na mocno średnim bicyklu (polski Kross zresztą) i bez dobrych butów. O 14:00 poszedłem z walizą na stację marszrutek. W Kutaisi nada? -- No konieszno. Jasna strona Gruzji--idziesz na PKS i jedziesz. Żadnego czekania (no różnie to bywa--ale pomiędzy dużymi miastami to raczej tak).

W sobotę łaziłem 7 godzin po Kutaisi w oczekiwaniu na samolot. W okolicach południa wypatrywałem jakiejś kawiarni, ale na to nie ma szans poza ścisłym centrum, gdzie faktycznie są fajne lokale, konkretnie obok białego mostu jest White Stones -- dobre kawy i naleśniki. Naprzeciwko zachęcająco wygląda z kolei lokal pn (chyba) White Bridge, którego taras wychodzi na rzekę i znajduje się pod mostem (do restauracji schodzi się po kręconych schodach). Tam nic nie zjadłem, bo ile można. Jeszcze tylko drobny stres na koniec--umówiony Gruzin co mnie miał wieźć na lotnisko się nie stawił, ale finalnie dotarłem na czas. Kupiłem nawet na farewell wino w sklepie wolnocłowym i sześciopak Borjomi w puszkach.

Zdjęć i śladów GPX póki co nie ma ale będą...

url | Fri, 26/07/2019 11:44 | tagi: , ,
Połtawa 2019

W Połtawie byłem z kolegą AP w końcu maja. Mówiąc konkretnie 20--24 maja, ale jakoś nie mogłem się zebrać więc raport dopiero teraz...

Odlot z Gdańska 15:10, w Charkowie jesteśmy 18:20. Jedziemy trolejbusem na dworzec autobusowy. Jest autobus do Połtawy, ale za trzy godziny. Idziemy do restauracji gdzie zamawiamy po barszczu ukraińskim i naleśnikach i siedzimy do 21:00. BTW taki barszcz ukraiński to trochę inaczej wygląda niż u nas. Do barszczu obowiązkowo zagrycha w  postaci pieczywa, słoniny i surowego, grubo krojonego czosnku. No i śmietana.

Autobus jedzie aż do Gdyni, a Połtawa to pierwszy przystanek. Jest po północy, taksówek nie ma ale są wszędzie informacje z numerami telefonów. Dzwonimy, przyjeżdża, jedziemy do hostelu.

Następnego dnia, stawiamy się na uniwersytecie. Okazuje się że zamknięty, wynajęty na czas matur jako miejsce do egzaminowania. Przychodzi nasz gospodarz Julia i prowadzi nas do innego budynku na konferencję studencką. Na konferencji jest rektor--siedzimy do obiadu i słuchamy studentów. Po obiedzie wycieczka po Połtawie, potem spotkanie ze kadrą uczelni. Rozmowa po rosyjsku więc coś tam rozumiem, ale wiele rzeczy nie rozumiem.

Po spotkaniu idziemy na kolację. Rekomendują nam lokal gruziński pn. Old Tiflis. Idziemy we trzech, z poznanym tutaj Łotyszem, który także przyjechał na ErasmusMobility. Łotysz okazuje się niezłym balowiczem; dzięki niemu wydajemy kupę kasy na kolację, z której wracamy około 22:00.

W środę zwiedzanie uczelni zaczyna się o 10:00. To zwiedzanie okazuje się najciekawszą częścią pobytu. Dociera do nas, że szkoła wcale nie jest państwowa, co nam się do tej pory wydawało tylko prywatna. To szkoła zawodowa, kształcąca ekonomistów. Studiuje na niej ponad 6000 studentów w tym wielu (kilkuset) z zagranicy, w szczególności z Afryki i z Indii (widzieliśmy). Są też studenci z Turcji, Gruzji i Azerbejdżanu. A propos Gruzji to w mieście żyje ich podobno 1600...

Budynek uczelni jest stary i przez to robi kiepskie wrażenie--jak się chodzi korytarzami, ale to pozory: szkoła jest doskonale wyposażona. Ma wdrożony imponujący system nauczania na odległość. W systemie tym kształcą nawet 300 studentów w trybie pure-distance oraz 3000 w trybie mieszanym (blended jak mawiają w branży DL). W trybie mieszanym studiują na przykład studenci służący w wojsku. Mogą się uczyć a nawet zdawać egzaminy bez opuszczania posterunków na linii frontu z DRL/Rosją. Uczelnia ma też sieć oddziałów zamiejscowych, na potrzeby których możliwe jest organizowanie zajęć w trybie telekonferencji. Mają do tego stosowną infrastrukturę--widzieliśmy. W pełni wyposażone studia do przygotowywania wideo-treści oraz dziesięć kabin dla wykładowców na potrzeby zajęć w trybie telekonferencji. Do tego biblioteka multimedialna z tak na oko 40 stanowiskami dla czytelników.

Początkiem szkoły była placówka kształcąca kadry na potrzeby spółdzielczości (cf. PUET. Ten związek ze spółdzielczością jest (chyba) ciągle obecny i ważny, bo widzieliśmy parokrotnie w szkole w różnych miejscach loga COOP. Organizacji, która w Polsce to ja nie wiem czy w ogóle działa. Jedyne COOP jakie widziałem w życiu, to sklepy o tej nazwie w Szwajcarii...

Na potrzeby wewnętrzne szkoła współpracuje z siecią koledżów, czyli szkół średnich (ale to akurat jest wbudowane w system, w tym sensie, że szkoły średnie są w pewnym stopniu częścią szkół wyższych). Z zagranicy zaś rekrutuje studentów głównie poprzez sieć zaufanych pośredników działających na prowizji.

Całość działa, co o tyle jest godne podziwu, że działa można powiedzieć w warunkach przyfrontowych. Z Połtawy do DRL jest niedaleko (na przykład do miejsca gdzie spadł słynny MH-17 400km raptem). Szkoła nawet straciła dwa oddziały--Donieck i Semferopol, które są teraz za granicą.

Po obejrzeniu szkoły pojechaliśmy z kolei na wycieczkę po okolicy--najpierw na miejsce słynnej bitwy z 1709r pomiędzy wojskami Carstwa Moskiewskiego a Królestwem Szwecji. Potem do muzeum piwa i bimbrownictwa. To pierwsze ciekawe to drugie niekoniecznie. Muzeum bitwy jest ciekawe, bo ukazuje ją z szerszej perspektywy, tj. z punktu widzenia Ukrainy (która nie była stroną w bitwie przecież). Pewnie ciut na siłę ale co z tego? Muzeum bimbrownictwa z kolei to typowo komercyjna placówka przy restauracji. Dwa pokoje wypełnione dość przypadkowym sprzętem związanym z produkcją piwa i samogonu.

W czwartek w sumie nie było nic ciekawego. Dość dużo czasu zajęło nam ustalenie jak się wydostać z Połtawy--pojechaliśmy na dworzec kolejowy i kupiliśmy bilety na rano następnego dnia.

Rano w piątek taksówką do dworca. Potem pociągiem do Charkowa, do którego docieramy o 10:00. Tutaj drobna komplikacja: patrol milicji nas zatrzymuje i kontroluje: każą wyjąć wszystko z kieszeni i plecaków. Incydent kończy się na niczym, może myśleli że mamy jakąś kontrbandę i coś tam da się od nas wyciągnąć? Nie wiem... Milicjanci są regulaminowi i uprzejmi wszakże.

Potem zostawiamy bagaż w przechowalni i idziemy na 3 godziny na miasto. Bez sensacji w sumie. O 14:00 zwijamy żagle: metrem dostajemy się na prospekt Gagarina a stąd autobusem na lotnisko. O 18:38 cabin crew take off. Lądujemy sensacyjnie 25 minut przed czasem...

Zdjęć i śladów GPX póki co nie ma ale będą...

url | Fri, 26/07/2019 11:34 | tagi: , , ,
MEVO: rozkminianie systemu (odcinek trzy)

Miało nie być o MEVO do września, ale najechałem na stojący w zasadzie w polu rower przed Chwaszczynem. Zrobiłem zdjęcie i się okazało że figuruje on w bazie. Przypomnę, że w poprzednim odcinku trylogii o MEVO założyłem że plik locations.js zawiera informacje nt stacji oraz informacje o luźnych-rowerach-w-dziwnych-miejscach (np w Warszawie), które postanowiłem pomijać. Że przypomnę:

[luźne-rowery] mają dziwną nazwę a w atrybucie bike mają true (albo jeden), a w atrybucie spot mają zero (czyli false). Z tego wychodzi, że te stacje to nie są stacje tylko jakieś luźne rowery pozasystemowe. Taką mam koncepcję...

Znalezisko spod Chwaszczyna podkopało moją wiarę w koncepcję. No bo jeżeli baza zawiera także rowery normalnie eksploatowane, ale nie parkowane na stacjach, to pomijam -- być może istotną -- część ruchu w systemie MEVO. Żeby ustalić w miarę szybko stan rzeczy wymyśliłem, że podsumuję pozycje wszystkich rowerów -- zarówno tych na stacjach i tych luźnych -- i zobaczę co wyjdzie. Konkretnie czy parkowanie poza stacjami to incydent, który można pominąć czy niekoniecznie oraz czy dzikie parkingi się skupiają w pewnych lokalizacjach, a jak się skupiają, to gdzie?

Plik locations.js zawiera zmienną NEXTBIKE_PLACES_DB, która wygląda jakoś tak:

  var NEXTBIKE_PLACES_DB = '[{"places":[
  {"uid":14242676,
   "lat":52.281631111111,
   "lng":21.011891111111,
   "bike":true,
   "name":"Jagiellońska 88A",
   "address":null,
   "spot":false,
   "number":0,
   "bikes":1,
   "booked_bikes":0,
   "bike_racks":0,
   "free_racks":0,
   "special_racks":0,
   "free_special_racks":0,
   "maintenance":false,
   "terminal_type":"","
   bike_list":[{"number":"600262","bike_type":114,
      "lock_types":["frame_lock"],
      "active":true,
      "state":"ok",
      "electric_lock":true,
      "boardcomputer":7551015898,
      "pedelec_battery":62,
      "battery_pack":{"percentage":62}}],
 "bike_numbers":["600262"],
 "bike_types":{"114":1},
 "place_type":"12",
 "rack_locks":false,
 "city":"Gdańsk-Wawa"}]}]';

Pole places zawiera listę elementów, z których każdy to opis miejsca, tj. stacji lub pozycji luźnego roweru (dalej LB od luźnego-bajka). Czy jest to stacja czy rower można wykoncypować na podstawie wartości pola bike (jeżeli true/1 to luźny rower). Są ponadto współrzędne miejsca (lat, lng); numer miejsca (number, lub zero dla LB) liczba rowerów zaparkowanych w miejscu (bikes); lista numerów rowerów w miejscu (bike_numbers); nazwa miejscowości (city). Pole uid to moim zdaniem unique id miejsca. Zatem stacja ma numer, LB nie ma numeru. Każda para współrzędnych ma ten sam uid.

W zasadzie jeżeli bike = true, to bikes=1 ale niekoniecznie i nie potrafię wykoncypować co znaczy taki rekord:

{"uid":14302318,
 "lat":54.350404444444,"lng":18.586652222222,
 "bike":true,
 "name":"BIKE 99170",
  ...
 "bikes":0,
 ...
 city":"Gdańsk"}

Takich wpisów jest circa pięć więc pomijam wyjaśnienie tego fenomenu. Robię skrypt parsujący apiać wszystkie pliki locations.js pobrane w okresie maj--lipiec (ostatni miesiąc niekompletny). Skrypt zapisuje: uid, numer, pozycję, miasto, typ miejsca (stacja albo LB) oraz liczbę powtórzeń (liczba wpisów dotyczących miejsca o współrzędnych lat/lng; każda stacja w tym okresie ma 53 tysiące wpisów. LB ma mniej oczywiście.) Dla czerwca wychodzi 20 tysięcy różnych zarejestrowanych miejsc. Dla całego okresu 60 tysięcy (różnych).

Wyświetlenie 60 tys kropek na mapie nie będzie proste więc wymyśliłem sobie, że rozpocznę od zagregowania liczby ,,parkingów'' do rozsądnej wielkości rzędu kilku tysięcy. W pierwszym podejściu założyłem, że duża liczba miejsc parkowania to rezultat błędów w ustalaniu pozycji GPS i że pozycji będzie mniej jak się zmniejszy dokładność pomiaru. Konkretnie zamiast 8 cyfr spróbować zastosować 4 (tj. przykładowo 54.12345678 obciąć do 54.1234) i zobaczyć co wyjdzie.

Wyszło 40 tysięcy czyli redukcja taka sobie, ale ujawniły się dziwne miejsca koncentracji: w Gdańsku na ul. Pokoleń Lechii/Amber Expo, w Warszawie na ulicy Jagiellońskiej w okolicach numeru 88 oraz w Cedrach Wlk! W Cedrach na ul. Pionierów Żuław 42 (gdzie na Google Maps jest firma UEGZ). Wygląda, że wszystkie wymienione miejsca to stacje, tyle że serwisowe rowerów.

Ponieważ oprócz Warszawy LB sporadycznie są raportowane także, w różnych innych dziwnych miejscach, to wymyśliłem, że będę pomijał miejsca znajdujące się poza prostokątem o współrzędnych wierzchołków równych: 53.8/17.4 (dolny lewy) i 55.0/19.5 (górny prawy).

Na okoliczność LB z Pokoleń Lechii/Amber Expo dodałem warunek, że pomijane są także miejsca znajdujące się wewnątrz prostokąta o współrzędnych wierzchołków równych: 54.387395/18.630779 (górny lewy) i 54.385733,18.635221 (dolny prawy). Cedry zostawiłem w spokoju za to policzyłem kwantyle tych 40 tysięcy miejsc (bez 650 oficjalnych stacji):

kwantyl 25%   50%   75%   90%   95%  100%
------------------------------------------
wpisy     2    9     29  121    246 32760

Dwa wpisy to 4 minuty skoro każdy wpis jest co 2 minuty średnio. 50% miejsc było zajmowanych przez około 20 minut, a 5% wszystkich miejsc to parkingi na 8 godzin i dłużej (w ciągu 2,5 miesiąca przypominam) czyli dalej niewiele. Zamiast kombinować z dokładnością pomiaru można pominąć te miejsca które pojawiają się sporadycznie. Jeżeli za typowe przyjmiemy takie, które występują minimum 250 razy (około 5% największych wartości), to miejsc jest 2232 (w tym 650 stacji). Co ważniejsze udział wpisów dotyczących LB w całości wpisów to 5,6%. Spokojnie można tego nie analizować bo przecież i tak moje szacunki są przybliżone. A pominięcie LB ma tą zaletę że upraszcza rachunki. Na mapie te 5% najczęściej powtarzających się miejsc wygląda następująco:

Zostało osiem miejsc z liczbą wpisów większą od 5000, w tym 5 w Cedrach (gdzie jak już ustaliłem coś serwisują niechybnie). Te 3 duże dzikie parkingi to: Stężyca (2) oraz Sierakowice.

Reasumując: znalezisko spod Chwaszczyna niewiele zmienia. Nie będę uwzględniał w statystykach wykorzystania MEVO rowerów parkowanych poza stacjami.

url | Tue, 16/07/2019 15:57 | tagi: , ,
MEVO po trzech miesiącach

Rowery/dystanse

Rowery na stacjach 10111/12

Obiecuję ostatni wpis n/t Mevo. Następny po wakacjach, czyli po mitycznym 18 sierpnia (czemu mitycznym poniżej).

Obszerny wywiad z prezesem się ukazał 19 maja, ale ja go przeczytałem dopiero przedwczoraj (cały wywiad w repo na githubie, link poniżej). Prezes pisze, że:

26 marca na ulice wyjechały 1224 rowery [...] [Potem] liczba rowerów zaczęła spadać. Trafiały do serwisu, mieliśmy problem z ładowaniem. Zainteresowanie systemem w pierwszych dniach nas zaskoczyło [...] Zwiększyliśmy zatrudnienie do około 40 osób, przenieśliśmy serwis do większej hali w MTG. Codziennie wyjeżdża stąd około 250 rowerów. Przygotowujemy się do obsługi pełnej floty docelowych 4 tysięcy rowerów [...] Kolejne rowery planujemy dostarczać stopniowo, po 100-200-300 tygodniowo. Ostatnią partię dostarczymy 18 sierpnia.

Mój komentarz. Po pierwsze: czy wyjechało 1224 to ja nie wiem -- pewnie tak, ale w kwietniu średnio jeździło niecałe 800, a raczej jeździło 624 a 163 nie jeździło tylko było (wykazywane że są, ale nie przejechały nic). W tym kontekście twierdzenie prezesa, że przyczyną (wielokrotnie podkreślaną) problemów jest nadzwyczajne zainteresowanie rowerami jest cokolwiek niezborne ze stanem przygotowań. System jest sprawny na 800/4000 = 20%, a on jest zaskoczony, że rowerów brakuje. Nie wiem co prezes kończył za szkoły, ale z logiką na bakier jest... No i pytanie pomocnicze: gdyby wyjechało na przykład 2000 rowerów (w sensie wyjechało i jeździło) czyli 250% tego co jeździło (w kwietniu), to dalej byłaby klapa czy jednak nie? A te 2000 to 50% tego co miało jeździć. Albo inaczej po co system na 4000 rowerów skoro miało wystarczyć 1220?

Dwa: zatrudniają 40 ludzi do obsługi około 1000 rowerów (dane za maj). Ile musi być zatrudnionych do obsługi 4000 (czyli o 300% więcej niż mają) i to do 18 sierpnia (w trzy miesiące licząc od daty wywiadu).

Trzy: 250 wyjeżdżających rowerów z MTG to jak rozumiem rowery niesprawne, serwisowane i włączane z powrotem do ruchu. Hmmm... czy to oznacza, że z grubsza jest codziennie 250 serwisowanych (czyli wyłączonych z ruchu)? Że rower się psuje, to normalne więc nie ma w tym nic dziwnego, że są rowery popsute i trzeba je naprawiać. Wychodzi, że tych rowerów jest 250 z 1250 czyli około 20%. Albo i nie, bo dziennikarz nie dopytuje... Ale jeżeli tak, to na 4000 będzie 800 popsutych przy założeniu 20%. No może mniej będzie, bo obciążenie/rower będzie mniejsze, a rowery będą usprawniane pod kątem słabych punktów, ale nawet jak będzie to 10% to dalej jest 400 rowerów do naprawy codziennie czyli o 60% więcej niż teraz (40 ludzi:-) może nie wystarczyć.)

Cztery: jeżeli planują dostarczyć stopniowo po 100--300 tygodniowo a mają do dostarczenia 2800, to dostarczając 100/tydzień przez 3 miesiące dostarczą 2400. He, he... Gorzej że na dziś system wykazuje około i zaledwie 1500 rowerów. Pozostało 2500 do dodania, a tygodni do 18 sierpnia zostało 5. Wychodzi po 500/tydzień, starting from now...

+--------------------------------------------------+
|           |         średnio dzienne              |
| Miesiąc   +--------------------------------------+
|           |     NZB |      ZB | NZB+ZB  | NZB%   |
| ----------+---------+---------+---------+------- +
| kwietnia  |  624.93 |  163.87 |  788.81 | 79.09  |
| maja      |  893.13 |  179.03 | 1072.16 | 83.18  |
| czerwca   | 1094.97 |  172.07 | 1267.03 | 86.45  |
| lipca     | 1089.00 |  248.25 | 1337.25 | 81.58  |
+-----------+---------+---------+---------+--------+

NZB -- rowery ruszające się; ZB -- rowery które nie jeździły, ale były wykazywane. Porównaj też wykresy. Drugi wykres pokazuje dostępność rowerów na stacjach 10111/10112 (Sopot Mickiewicza/Armii Krajowej), które są najbliżej mojego domu. Dostępność liczona jako prosta średnia (liczba rowerów)/(liczba pomiarów)...

Generalnie trend jest OK tylko to ślimacze tempo. Załamanie lipcowe spowodowane jest przypuszczalnie (fatalną) pogodą (lipiec liczony dla tylko dla pierwszych 8 dni). Dane są przypominam tutaj.

url | Tue, 09/07/2019 10:08 | tagi: , ,
Mevo w czerwcu 2019

Zestawienie wybranych parametrów pomorskiego roweru miejskiego MEVO (maj--czerwiec 2019). Dystanse i średnie są w kilometrach. Zapis Łącznie x% nach. oznacza łączną długość odcinków z przeciętnym nachylenie x% oraz większym. Odcinki z nachylenie 5% i więcej stanowiły odpowiednio 0,06% (maj) oraz 0,05% (czerwiec) łącznego przejechanego dystansu (ŁPD) a z nachyleniem 3% i więcej odpowiednio 0,72% oraz 0,66% ŁPD. To tyle odnośnie potrzeby instalowania silników elektrycznych w każdym rowerze ponieważ Trójmiasto pełne jest stromych podjazdów. Chyba chodziło o coś innego z tymi silnikami...

Wyszczególnienie Maj Czerwiec Zmiana
Liczba rowerów 1333 1518 13.9%
Łącznie odcinki 235455 330074 40.2%
Dystans łącznie (km) 649904.3 974943.1 50.0%
Średnio na rower/dzień (km) 15.7 21.4 36.3%
Średnio na rower/miesiąc (km) 487.6 642.3 31.7%
Łącznie 5% nach. (km) 393.9 491.5 24.7%
Łącznie 3% nach. (km) 4687.1 6440.4 37.4%
Łącznie 2% nach. (km) 16722.7 23386.0 39.8%

Przypominam, że powyższe policzono w taki oto sposób iż: ze strony https://rowermevo.pl/ co 120 sekund jest pobierany plik locations.js który zawiera listę rowerów zaparkowanych na stacjach w systemie roweru miejskiego Mevo. Długość/szerokość geograficzna stacji jest w pliku locations.js. Wysokość npm. stacji (SRTM) dodałem korzystając z programu gpsprune.

Mapa najczęściej używanych odcinków:

Dane, że tak powiem źródłowe dotyczące ruchu rowerów MEVO maj/czerwiec 2019 są dostępne tutaj.

url | Mon, 01/07/2019 15:42 | tagi: , ,
Tolerancja w fazie realnej

W PL był realny socjalizm a światowy postęp jest ewidentnie w fazie realnej tolerancji. Chodzącą oznaką tej tolerancji jest Israel Folau australijski rugbysta pochodzenia tongijskiego. Folau nie popełnił żadnego przestępstwa, ale stracił pracę, a teraz nawet nie może zbierać pieniędzy bo narusza. ,,As a company, we are absolutely committed to the fight for equality for LGBTIQ+ people and fostering an environment of inclusivity...''. Ciekawe czemu tego commitmentu nie idzie wpisać do kodeksu karnego skoro to takie ważne?

url | Mon, 24/06/2019 05:35 | tagi: , ,