sobota, 31 października 2020

Koniec PiSu?

Taka książka jest pn 'Koniec PiSu' (Mrozowski rozmawia z Kamińskim). Całkiem nadająca się do czytania BTW, bo tak jak nie cenię autorów, to w tym przypadku nie poszli w tanie hejterstwo. Książka z 2012 roku, okazawszy się raczej marnym proroctwem, stała się przedmiotem śmichów-chichów, ale wygląda że -- być może -- co się odwlecze to nie uciecze.

Od razu zaznaczę, że od zawsze popieram PiS a młodszym przypomnę, że do roku 2015 była to beznadziejna sprawa--zawsze wpiernicz i nigdy nie miałem wątpliwości na kogo głosować. Do teraz...

Teraz bym nie zagłosował, co więcej nawet gdyby wybory się odbyły za trzy lata to na dziś wygląda że też bym nie zagłosował. Nie to że mi się spodobał p. Budka czy p. Hołownia. Nie, nie głosowałbym wcale. Moi idole przegięli pałę...

Po pierwsze i najważniejsze: nie potrafię wytłumaczyć co konkretnie chciał osiągnąć Jarosław Kaczyński proponując ustawę w/s ochrony praw zwierząt. Nie można z piątku na sobotę powiedzieć ludziom i to ludziom ze środowiska, bez którego nie byłoby zwycięstwa partii PiS w ostatnich wyborach: Mamy w dupie czy wzieliście kredyty na 5 lat czy na 15 lat, macie rok na to żeby się zwijać. Nie mogę tego nazwać inaczej niż bezczelnością/butą/oderwaniem się od rzeczywistości. Nie znajduję też innego wytłumaczenia, że taki pomysł w ogóle się pojawił, jak uwiąd intelektualny JK...

Ustawa oprócz tego, że szkodzi interesom ekonomicznym wsi (i nie tylko) jest głupia w każdym praktycznie aspekcie, oprócz tego, pod którym jest szerzej znana. Bo znana jest jako futerkowa czyli zakazująca hodowli zwierząt futerkowych, tyle że akurat zakaz hodowli zwierząt futerkowych byłby OK (pod warunkiem oczywiście wyrównania strat ekonomicznych hodowcom). To co uważam za największy idiotyzm `ustawy futerkowej', to zakaz uboju rytualnego. Lewacka logika 101: multikulti ale bez halal. Bardzo was lubimy, ale tego/tamtego wam nie wolno. Wygląda że na starość p. Bóg odebrał rozum prezesowi. Nie jest naszą sprawą ocena/zakazy tego co 1/3 ludzkości uważa za normalne.

Po drugie: tzw. rekonstrukcja rządu. Zapowiadana, odwlekana, wreszcie zrealizowana w jakimś dziwnym trybie. Świetnych ministrów usunięto, zastępując ich jeszcze lepszymi (ironia); podpisano uroczyste i kuriozalne porozumienie. Kuriozalne bo przecież nie programowe--program był ogłoszony w 2019 a my zawsze dotrzymujemy słowa. Więc w TV pokazano uroczyste porozumienie w/s podziału stanowisk. Tzn. pokazano jak podpisują, co podpisują już nie pokazano. No wspaniale... Bezczelność i buta #2.

A że p. Bóg karze za głupotę i bezczelność to ledwo poprzydzielano fotele nowym/starym (złotousty-Gowin) zaczęła się pandemia. Gołym okiem widać panikę i brak planów tych nowych wspaniałych jeszcze lepszych od starych wspaniałych. W lecie kiedy był czas na przygotowanie się (choćby w trybie symulacji -- co zrobić jak będzie druga fala epidemii) to rządzący zajęci byli `rekonstrukcją'/ustawą futerkową. Teraz improwizują.

Jeden tylko przykład: do 29 października zapowiadają w telewizjach, że nie będzie zakazu wstępu na cmentarze; 30 października premier oznajmia że będzie zakaz. Kłamie przy tym bezczelnie, że mieli nadzieję, że pandemia wygaśnie (na jakiej podstawie? Że się cud Boski zdarzy?) Potem widocznie komuś w KPRM się przypomina, że na lodzie została kolejna grupa przedsiębiorców a premier nic im nie obiecał, więc wieczorem naprędce wydają uzupełniający komunikat, że im się też zrekompensuje, ale w jaki sposób konkretnie, to będzie później (bo teraz to sami nie wiemy?). Następnego dnia jest komunikat w/s tego później: Agencja Restrukturyzacji i Modernizacji Rolnictwa będzie skupować kwiaty (są już żarty, że w grudniu będą odkupować choinki i karpie). Ponieważ większość tych przedsiębiorców to drobni handlarze prowadzący działalność nierejestrowaną/ryczałt/handel obwoźny, to ciekawe jak Agencja ustali komu/ile się należy. Kto bezczelny dostanie, kto uczciwy obejdzie się smakiem?

Jak to nie jebnie to będzie cud-boski. Ale jak ten cud się zrealizuje to będzie tylko trwanie, ten rząd już niczego nie zrealizuje, więc nie wiadomo co lepsze: trwanie czy upadek.

Nawiasem i na koniec: akurat protesty po wyroku TK ws aborcji eugenicznej (wbrew wielkim nadziejom antyPiSu) mają -- moim zdaniem -- niewielkie szanse na sukces. Gołym okiem widać głupotę protestujących (wulgarność, atakowanie kościołów i podobnych obiektów, które należy zostawić w spokoju a demonstrować gdzie indziej, bezsensowne blokowanie ruchu na ulicach itd/itp). Sama szefowa, bliżej mi nieznana 41-letnia Marta Wypierdalać-Lampart wygląda na osobę mocno intelektualnie ograniczoną za to o dużych ambicjach (nieciekawy mix jak wiadomo). Sam fakt że w wieku 41-lat niewiele osiągnęła wskazuje, że coś z nią jest nie tak. A co konkretnie to niedługo się okaże, jak to wszystko pizdnie. Ot KOD/Kijowski season 2020, skończą podobnie...

Dopisek z ostatniej chwili: ustawa futerkowa z powodu której: 1) grożono rozpadem koalicji; 2) usunięto ze stanowiska ministra rolnictwa; 3) zawieszono iluś tam posłów, idzie do kibla. Czyli była do dupy. Czyli `nieomylny/genialny' prezes...?

wtorek, 20 października 2020

Eldorado w Mikoszewie

Mój bursztynowy przywódca M. już na początku tygodnia uprzedził mnie o nadchodzącym sztormie, który miał ucichnąć pod koniec tygodnia. Faktycznie wiało i do tego prawie-że-idealnie bo z północnego wchodu. W czwartek 15.10 wiatr ucichł więc pojechałem rowerem na Sobieszewo (po drodze zaglądając też na Brzeźno). Że to względnie daleko i mi się nie chciało jechać na Orle, to tym razem pojechałem na parking w Sobieszewie (wejście numer 16). Stali tam już ludzie z podbierakami, ale niewiele się jeszcze działo. Kolega M. zarządził wyjazd na wieczór...

Jak przyjechaliśmy było jeszcze szaro ale szybko zapadła noc. Fala była jeszcze duża i trzeba było uważać. Udało mi się wyłowić 17g bryłkę i parę jeszcze ładnych kawałków, po czym złamałem podbierak. Bez podbieraka nie szło już tak dobrze ale trochę dozbierałem więc generalnie byliśmy zadowoleni, zwłaszcza że w tym roku do tej pory praktycznie zero mimo kilku prób. Bursztyn wymywało dosłownie na odcinku 30m; jak przestało poszliśmy do domu. Rano w piątek 17.10 powtórka, ale było słabo. Wg. M. za duża fala była ciągle--umówiliśmy się na wieczór.

Wieczorem też nieszczególnie. Mało i małe. Wracamy do domu jest 22:00. A M. żebyśmy jechali do Mikoszewa. Ja na to że mi się nie chce, ale że namawiał to mówię OK. Pierwszy raz jedziemy na Mikoszewo ale trafiamy bez pudła-- jest 23:00 jak wychodzimy na plażę. Kupa luda. Cała plaża na fioletowo. W świetle latarki UV widać pełno leżącego na piasku bursztynu--takie kawałki wielkości pestki od jabłka albo trochę większe (i mniejsze). Są tego miliony... Większe też się trafiają ale oczywiście trzeba wejść do wody. Zbieramy do 1:00 w nocy, w domu jestem o 2:00. Mam 170g uzbierane (Sobieszewo/Mikoszewo)

W Sobotę M. nie może, jadę sam rano rowerem z kaloszami w plecaku. Primo chcę zobaczyć jak wygląda plaża bo wczoraj to byliśmy w nocy. Po drugie porobić zdjęcia mając nadzieję na dzikie tłumy + (być może) policję (pandemia jest). Przyjeżdżam 9:30-- plaża cała w śmieciach. Ludzi jest sporo ale nie aż tak za bardzo (potem doszło więcej, tyle że dużo spacerowiczów i słoikowców tj. zbieraczy okazjonalnych, bez sprzętu). Ubieram kalosze i zbieram z brzegu oraz kopię w grubej warstwie śmieci. Nb. że nie mam woderów, to akurat no-problem, bo woda jest tak mętna że i tak wszyscy co stoją w wodzie zbierają max 2m od linii brzegowej, patrząc w stronę plaży. A jest mętna, bo pływa pełno wodorostów o konsystencji rozmoczonej waty (które w świetle UV wczoraj wyglądały jak buraki, ponieważ zielony zmienia się w bordowy)

Do 13:00 w tym stylu i tym sprzętem uzbierałem 340g! Melduję M. co widziałem. Od razu chce jechać, ja mniej bo od 30 godzin na nogach! Pojechaliśmy wieczorem. Dozbierałem następnych 190g. Bursztyn ciągle wymywa i jest fala. Okruchów jest tyle na piasku, że można by do rana siedzieć i kilo uzbierać (tylko po co?)

Niedziela 18.10. Jeszcze raz do Mikoszewa. Tym razem z Elką i Jankiem. Nie ma fali. W wodzie już nic nie ma--czysta. Na brzegu jedno miejsce gdzie grubo śmieci--tam kopią i znajdują większe kawałki takie wielkości ziarnka grochu. W innych miejscach generalnie przekopana albo śmiecie odpłynęły. Mimo to 120g zebraliśmy...

Reasumując w ten szalony weekend uzbierałem 170+190+340+120 = prawie 900g bursztynu. Smak sukcesu psuje fakt, że 90% to drobnica. Inni też się obłowili sądząc po wpisach na FB grupie zbieraczy. Mocny początek sezonu.

Zdjęcia są tutaj

Poprawianie czytelności obrazków za pomocą Imagemagick


Dokument oryginalny

Wersja BW

Wersja BW pogrubiona

Wersja bez nagłówka

Wersja ostateczna

Dziś (drugi dzień używania) tesseract wyłożył się na względnie prostym rysunku pn. dzienny raport o koronawirusie:

tesseract 20201020T080001_raport.png 00001
##  pomija dwie pierwsze liczby, zawiera wiele nieistotnych znaków

tesseract 20201020T080001_raport.png 00002 -c preserve_interword_spaces=1 --psm 6
## prawie dobrze zdekodował liczby:
## 8 962         725 289447 44675 95956
## ale w pliku są jeszcze inne znaki

tesseract 20201020T080001_raport.png 0003 --psm 6 -c tessedit_char_whitelist=0123456789 \
-c preserve_interword_spaces=1
## w zasadzie nic nie zmienia

convert 20201020T080001_raport.png -threshold 85%  raport-bw.png
tesseract raport-bw.png raport-bw --psm 6
# pierwszy wiersz zamienia rysunek na b-w
# tesseract działa prawie prawidłowo, tj. zwraca:
#
# DZIENNY RAPORT 0 KORONAWIRUSIE
# ? 0 N ?
# 8 962 725 289447 44675 95956
#
# pierwsza liczba ma ekstra odstę

convert 20201020T080001_raport.png  -threshold 85% \
  -morphology erode diamond raport-bw-m.png
tesseract raport-bw-m.png raport-bw-m --psm 6
# DZIENNY RAPORT 0 KORONAWIRUSIE
# ? \ (ae \\ (@
# 8962 725 289447 44675 95956
# a
# IN.
#

convert 20201020T080001_raport.png  -threshold 85% \
  -crop 1140x75+50+400
  -morphology erode diamond raport-bw-mc.png
tesseract raport-bw-mc.png raport-bw-mc --psm 6
# Jeden prawidłowy wiersz
# 8962 725 289447 44675 95956

Opcja -morphology erode diamond pogruba; opcja -crop 1140x75+50+400 wycina prostokąt 1140x75 pikseli pomijając pierwszych 50/400 pikseli (poziom/pion). Wartości 1140/75/50/400 znalazłem wczytując plik PNG do gimpa.

No więc wersja na dziś to nie:

## zamalowanie na biało wszystkiego nad liczbami:
convert PLIK.png -draw "rectangle 0,0 1200,380" -fill white PLIK_0.png

ale:

convert PLIK.png -threshold 85% -crop 1140x75+50+400 \
  -morphology erode diamond PLIK_0.png

Po odczytaniu danych są one dopisywane do pliku CSV, następnie tworzone są wykres (za pomocą R), które w ostatnim kroku są wysyłane na Twittera.

Ciekawe jak to będzie długo działać, bo mam mocne wrażenie że osoby odpowiedzialne za udostępnianie danych w MinZdrowia to amatorzy/dyletanci.

Zobacz też tutaj.

Przy okazji instalowanie tesseracta w systemie Debian to:

apt install tesseract-ocr libtesseract-dev
## poniższe jest opcjonalne:  
apt install tesseract-ocr-pol tesseract-ocr-eng \
  tesseract-ocr-ger tesseract-ocr-deu

środa, 14 października 2020

Odzyskiwanie danych nt COVID119 z twitów Ministerstwa Zdrowia


Dokument #1

Dokument #2

Pobielenie

Dokument gotowy do OCR

Że się pandemia rozwija zachciało mi się odzyskać dane podawane przez polskie Ministerstwo Zdrowia na Twitterze w formie komunikatów obrazkowych. Otóż raz dziennie o 10:00 pojawia się rysunek zawierający dane dotyczące zajętych łóżek dedykowanych COVID-19, zajętych respiratorów, liczby osób objętych kwarantanną i jeszcze dwóch innych rzeczy. Ponadto, raz na tydzień w poniedziałek pojawia się rysunek z liczbą testów w podziale na województwa. Tych danych nie ma na stronie MZ, a jeżeli są to tak publikowane, że ja nie potrafię tego odszukać. Że MZ udostępnia dane obrazkowo za pośrednictwem amerykańskiej firmy zamiast w sposób opisany ustawą o dostępnie do informacji publicznej to oczywiście skandal i żenada.

Cały stream https://twitter.com/MZ_GOV_PL to ja mam ściągnięty. Tam nie ma obrazków; są URLe do obrazków, które można łatwo pobrać. Ja to robię na raty, najpierw json do csv:

#!/usr/bin/perl
# Zamiana Json -> CSV
use JSON;
use Time::Piece;
use open ":encoding(utf8)";
use open IN => ":encoding(utf8)", OUT => ":utf8";
binmode(STDOUT, ":utf8");

print "id;date;repid;text\n";

while (<>) { chomp();
  $tweet =  $_;

  my $json = decode_json( $tweet );
  $tid = $json->{"id"};
  $dat = $json->{"created_at"};
  $dat = Time::Piece->strptime($dat,
   "%a %b %d %H:%M:%S %z %Y")->strftime("%Y-%m-%dT%H:%M:%S");

  $mmm = $json->{"entities"}{"media"}; ## lista-haszy

  for $mm ( @{$mmm} ) { $media = $mm->{media_url} ;
    ## id-tweeta;data;url-do-rysunku
    print "$tid;$dat;$media\n";  }
}

Teraz można ściągnąć rysunku zwykłym wgetem albo curlem, pobierając URLa z cvsa. Rysunki o łóżkach i wentylatorach pojawiają się codziennie około 10:30 (czyli 8:30 GMT). Rysunki o liczbie testów wg województw w poniedziałki generalnie około 16:00. Więc prostym skryptem Perla ściągam poniedziałkowe rysunki opublikowane po 13:30GMT oraz wszystkie po 8:00GMT a przed 10:00GMT. Po ściągnięciu oglądam i wywalam nierelewantne.

OCR robię programem tesseract:

tesseract PLIK.png PLIK

Powstanie PLIK.txt a w nim tekst z rysunku. Z danymi poniedziałkowymi był problem, tesseract się gubił i PLIK.txt nic nie zawierał Żeby mu pomóc najpierw upraszczałem rysunek:

#!/bin/bash
## pomaluj na biało fragmenty nie zawierające liczb
convert "$1" -fill white -draw "rectangle 0,0 1200,115" \
  -draw "rectangle 0,640 200,675"  \
  -draw "rectangle 350,115 830,540" PLIK_0.png
## zamień wszystkie kolory na biały za wyjątkiem czarnego:
convert PLIK_0.png -fuzz 30% -fill white +opaque black PLIK_1.png
## zrób OCR
tesseract PLIK_1.png PLIK_1
## oczyść i dopisz wiersz do WYNIKI.txt
grep '[0-9]' PLIK_1.txt | \
awk '{gsub(/[ \t]/, ""); l = l ";" $0 }; END{print l}' > WYNIKI.txt

Jeżeli powyższy skrypt nazywa się png2txt.sh to teraz:

for x in *.png; do
   if [ -f $x ] ; then
        png2txt.sh $x
   fi
done

Raporty poniedziałkowe zaczęły być wysyłane od 11 maja 2020. Raporty codzienne pobrałem od początku lipca. W szczególności rysunki `poniedziałkowe' zawierają dane kumulowane. Kiedy na podstawie tych danych utworzyłem dane `tygodniowe' (jako różnica między stanem na bieżący tydzień minus stanem na poprzedni tydzień), to dla województwa świętokrzyskiego i raportu z 10 sierpnia rezultat okazał się ujemny i do tego ogromny. Licznik cofnęło mówiąc kolokwialnie.

Po wpisaniu do google testy+świętokrzyskie się okazało, że sprawa jest znana: przez 2 miesiące województwo świętokrzyskie podawało dane ewidentnie z sufitu raportując 100% wzrost tydzień/tydzień przy maksymalnym dla następnego województwa poziomie 15%... Jak po 2 miesiącach tej twórczości doszli do absurdalnej liczby ktoś się w MZ połapał i napisał (na Twitterze), że należy odjąć te lipne 230 tys...

No to tak z grubsza wygląda rzetelność danych n/t COVID19 w PL...

Pozyskane dane są: tutaj.

wtorek, 6 października 2020

Rektor UG Gwizdała (były)

Pracowałem na WZ/UG to mnie nie dziwi. Z mediów się dowiedziałem że rektor UG okazał się marnym plagiatorem, w sumie bez dorobku (brak publikacji zagranicznych). Marnym w tym sensie także, że szedł na rympał z gołą dupą czyli z ww. żenującym dorobkiem i do tego jeszcze przepisanym w części od kogoś (szczegóły tutaj.)

Szokujące może być (ale tylko dla kogoś kto nie wie jak środowisko nauki jest zdemoralizowane, szczególnie w PL), że powyższe nie przeszkadzało wcale Radzie Wydziału Zarządzania i osobiście dziekanowi ww wydziału (chyba podwładnemu zresztą ww. Gwizdały) promować tego pana. Więcej wszystkie te opłacane przez podatnika i stojące na straży jakości instytucje typu Rada Wydziału, pierdzilion recenzentów + Centralna Komisja d/s czegoś tam jakoś nie dały rady odsiać ziarna od plew, że dopiero donos do kancelarii Prezydenta zakończył wspaniałą karierę magnificencji.