Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | adamowicz | afera | alsamixer | amazon | amber | amman | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | banan | bash | batumi | berlin | białowieża | białystok | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bme280 | bono | borne-sulinowo | breugel | bt747 | budapeszt | budyń | bursztyn | campagnolo | canon | cedewu | chaos | chello | chiller | chillerpl | chown | christophe dominici | chujowetaśmy | ciasto | cmentarz | contour | coronavirus | covi19 | covid | covid19 | cron | css | csv | cukinia | curl | cycling | d54250wykh | darkages | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | dp1500 | ds18b20 | duda | dulkiewicz | dyndns | dynia | ebay | economy | ecowitt | ekonomia | elka | elm | emacs | emacs23 | english | ep | erasmus | erasmusplus | ess | eu | eurostat | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | forms | foto | france | francja | fripp | froggit | fuczki | fuji | fuse | gammu | garden | garmin | gas | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | ggplot | ghost | git | github | gmail | gmaps | gnokii | gnus | google | google apps script | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | gus | gw1000 | haldaemon | handbrake | hhi | historia | history | hitler | holocaust | holokaust | hp1000se | hpmini | humour | iblue747 | ical | iiyama | ikea | imagemagick | imap | inkscape | inne | internet | j10i2 | javascript | jhead | jordania | k800i | kajak | kamera | karob | kibbeh | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | krynki | kuchnia | kurski | kłamstwo | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liban | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | maradona | marchew | marimekko | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mex | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | mz | nafisa | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | ocr | odessa | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plain | plotly | pls | plugin | po | podcast | podlasie | podróże | pogoda | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pseudointeligencja | pstoedit | putin | python | pywws | r | r1984 | radio | random | raspberry | raspberry pi | raspberrypi | raspbian | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | samba | sds011 | selenium | sem | senah | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistcs | statistics | stats | statystyka | stix | stretch | supraśl | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tesseract | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | transylwania | truetype | trzaskowski | ttf | turcja | turkey | turystyka | tusk | tv | tv5monde | tweepy | twitter | tykocin | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | virbedit | vostro | wammu | wdc | wdfs | weather | weathercloud | webcam | webdav | webscrapping | weewx | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | wojna | 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 | zaatar | zakopane | zakupy | zawodzie | zdf | zdrowie | zgarden | zgony | zprojekt | ł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
Kamera Ghost XL


Normalne action cameras, takie jak słynny GoPro (którego nigdy nie miałem), to 1,5--2 godziny nagrywania jak wiadomo. Nawiasem zwykle producenci nie chwalą się tym parametrem. Że to mało, to są dwa wyjścia: 1) ładować i nagrywać jednocześnie; 2) kupić kamerą która ma większą baterię.

Wariant pierwszy nie zawsze jest możliwy, ale niektóre kamery to potrafią, np moja Xiaomi ale... Ale to jednak kłopot trzeba gdzieś powerbank przyczepić i kabel ciągnąć. Da się, ale niewygodnie (próbowałem)

Drugie rozwiązanie to kamera o dłuższym czasie nagrywania. W tym roku wreszcie kupiłem taką, która podobno jest pod tym względem najlepsza: Draft Ghost XL. Całe osiem (a nawet 9 wg producenta) godzin nagrywania. Wg recenzji internetowych, które studiowałem przed zakupem (na Amazonie) inne parametry ma średnie (w tym rozdzielczość) ale coś za coś. Poza tym IMO nagrywanie w 4K skutkuje ogromniastymi plikami--nie dla mnie zabawa albo przerost formy nad treścią. Nie mam ani sprzętu ani chęci ani czasu...

Kamerę kupiłem już w lutym w sklepie digital24.pl bo sprzedawali ją po atrakcyjnej cenie 624 PLN (teraz widzę, że kosztuje już 850). Przyszła a ja nie bardzo wiedziałem co dalej. Do Xiaomi miałem obudowę montowaną pod kierownicą (moim ulubionym punktem zaczepienia kamery) a tutaj kamera ma dziurę na śrubę + jakieś dziwne plastikowe uchwyty.

Wreszcie w czerwcu kupiłem na Allegro za 30 PLN dedykowany uchwyt. Uchwyt już na zdjęciu wydał się mocno toporny (innego nie było) a jak przyszedł to okazał się jeszcze gorszy niż na zdjęciu. Już nie pamiętam czemu, ale wtedy wreszcie zrobiłem generalny remanent swoich bambetli rowerowych i się okazało, że mam doskonały uchwyt kupiony już nie wiem do czego (i to jest problem--bo bym kupił drugi na drugi rower). Po prostu jest to obejma na rurę ze śrubą fotograficzną.

Że kamerę się nakręca (zamiast przykręcać kamerę do uchwytu śrubą) nie ma możliwości żeby się przypadkowo odkręciła i odpadła (co się zdarza jak uchwyt ma dziurę na śrubę, bo śruba jak to śruba--potrafi się odkręcić i jak człowiek nie sprawdza stanu śruby, to nieszczęście gotowe). Obsługa jednym guzikiem: dłuższe przytrzymanie włącza kamerę, co jest sygnalizowane głośnym dźwiękiem. Potem naciśnięcie tego samego klawisza uruchamia nagrywanie. Co też sygnalizuje głośny dźwięk. Z tyłu kamery jest mały ekran LCD. Jak jest zielony to znaczy że kamera się włączyła a jak pomarańczowy to że nagrywa. Doskonale to widać z pozycji siodła na rowerze nawet jak kamera jest pod kierownicą. Inne moje kamery miały ten feler, że trudno było ustalić jej stan: czy się włączyła i czy nagrywa. Niby też to było sygnalizowane dźwiękiem, ale cichym, który w ruchu ulicznym był skutecznie zagłuszany. Ekran LCD w kamerze Xiaomi -- nawet większy niż w Ghoście -- nie był widoczny z pozycji siodła. Do tego tło ekranu jest zawsze takie same, a stan kamery sygnalizują trudno widoczne (z pozycji siodła) napisy.

Generalnie obsługę Ghosta w ruchu uważam za rewelacyjną. Niezawodnie się włącza i nagrywa. Z moimi innymi kamerami było różnie. NB Ghost ma jeszcze inne przyciski do obsługi ale ja używam (na razie) tylko jednego...

Lista kontrolna moje Ghosta jest taka: po jeździe otwieram klapkę z gniazdem USB do ładowania kamery i kartą pamięci. Wsadzam wtyk i kamera się ładuje. Jak chcę przegrać film wyjmuję kartę. Mam dwie karty 64Gb która starcza tak mniej więcej na 8h oraz 128Gb. Nie odkręcam kamery, ale nie jest to przesadnie czasochłonne.

Ostatnia (zabawna) sprawa: fabrycznie kamera nagrywa -- nazwijmy to -- w trybie portret: obraz to wąski ale wysoki prostokąt. Ja bym wolał szeroki ale niski prostokąt. W tym celu trzeba przekręcić obiektyw. Jest to opisane w podręczniku i nawet na YT można film znaleźć demonstrujący przekręcenie obiektywu. No to kręcę i ni-chu-chu... Piszę do sklepu a oni, że w tym modelu się nie da. Ale dopisali: a skąd pan ma informację że się da?. Ja piszę: z podręcznika. Za chwilę odpowiedź, że faktycznie da się, tyle że za pierwszym razem może być ciężko. Skoro napisali że nie urwę, to spróbowałem znowu. I faktycznie dało się i faktycznie było bardzo ciężko i faktycznie wyglądało, że jak już się ten obiektyw ruszy to wtedy obraca się on lżej...

url | Wed, 20/07/2022 19:20 | tagi: , ,
Nietransfobiczna piramida wieku


Niewątpliwie piramida wieku to rysunek okropnie transfobiczny. Statistics Canada rozwiązał ten problem.

Kto uważa się za kobietę jest liczony jako W, kto za mężczyznę jest liczony do M. Prosta sprawa. Dla statystyka liczy się dokument lub oświadczenie; a czy pytany ma fiuta albo brodę go (statystyka) nie obchodzi. Problem jednak jest z tymi co nie mogą się zdecydować:

Given that the non-binary population is small, data aggregation is necessary to protect the confidentiality of responses provided. Most 2021 Census information is disseminated using a two-category gender variable. In these cases, people in the category ,,non-binary persons'' are distributed in the other two gender categories and are denoted by the + symbol.

Przyznam że mocno niejasne. Ludzie niebinarni są distributed in the other two gender categories? Liczy się ich dwa razy? Albo zlicza do jakiś other two categories? Ale jakich... Mocno to mętne i żadnych other two tutaj nie widać (cf https://www12.statcan.gc.ca/census-recensement/2021/dp-pd/dv-vd/pyramid/index-en.htm) Zakładając więc, że liczy się takiego jednak dwa razy (raz jako kobietę a raz jako mężczyznę) mamy razem 36,991,985. W innym zestawieniu jest liczba ludności łącznie (https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=9810000101) 36,991,981. Różnica wynosi 4 osoby. To te persony binarne?

Tyle się narobić dla czegoś co jest 4 rzędy mniejsze od typowego błędu statystyczneg? Tylko ideologiczne zaślepienie może to wytłumaczyć...

url | Sat, 16/07/2022 15:15 | tagi: , ,
Idioten aller Länder, vereinigt euch!

Tusk w swojej działalności wyróżnia się 100% jałowością, demagogią oraz bezczelnością (na tle Hołowni, K-Kamysza czy Czarzastego). Przykładem drożyzna -- na-tem-chwilę temat numer jeden. Jest drogo/winny jest PiS. Co konkretnie ten PiS źle zrobił nie wiadomo. Albo nieszczęsna Leszczyna, która musi dupę podcierać za szefa. Pieprzy szef jak połamany, że na przykład mieszkanie prawem albo, że da 20% podwyżki dla wszystkich urzędników, potem się Leszczyny w RFM pytają o szczegóły a ona: że po wyborach będzie (o mieszkaniach), albo że nie jest ekonomistką! (o podwyżce 20%.) I wychodzi na idiotkę, albo i nie -- dochodzimy bowiem do kluczowgo pytania.

Może strategia Tuska ma sens? Może mamy już tylu idiotów, że zero-programowość, 100% demagogia, strategia wszystkim-obiecam-wszystko przyciągnie odpowiednią ich liczbę, partia osiągnie wynik a demagog zostanie premierem? Czy też jednak nie i dziad się przeliczył? Zobaczymy najdalej za nieco mniej niż półtora roku.

url | Fri, 24/06/2022 04:29 | tagi: , ,
Aktualizacja WP na nazwa.pl

Kolega DM używa wordpressa na nazwa.pl. Dostawca do czerwca kazał mu zmienić system z Ubuntu 16 na 20 udostępniając stosowny guziczek w panelu https://admin.nazwa.pl/. Po wciśnięciu guziczka z Ubuntu 20 wordpress przestał działać. Trzeba było czterech listów do dostawcy żeby uruchomić WP w Ubuntu 20. A w sumie chodziło o jeden wiersz w konfiguracji (chyba):

/** The name of the database for WordPress */
define('DB_NAME', 'danmarszal_test');
/** MySQL database username */
define("DB_USER", 'danmarszal_test');

W starym systemie nie było deklaracji DB_USER; nie było--to niepotrzebna pomyślałem; a góffno się okazało, że potrzebna i to wcale nie username tylko ma zawierać to samo co DB_NAME. Helpdesk nazwa.pl nie potrafił nam tego wytłumaczyć; ani nie było to jasno napisane w ich (beznadziejnej) dokumentacji.

Teraz dobrze by było zaktualizować WP, bo kolega używa jakiejś prehistorycznej wersji 4.9. Na szczęście jest zainstalowane wp-cli. Dla bezpieczeństwa połączyłem się z nazwa.pl przez sshfs; skopiowałem wsio do siebie i dopiero teraz:

wp core update 

Bezproblemowo zadziałało. Przejście na nowsze PHP znowu skończyło się błędem PHP. Ręcznie z panela WP uaktualniłem pluginy i wtedy aktualizacja PHP też się powiodła. Kolega ma teraz WP6+PHP8. Najnowsze.

Na przyszłość warto wypróbować full-upgrade za pomocą wp-cli, żeby nie klikać:

## najpierw eksport potem upgrade
wp db export && \
wp core update && wp plugin update --all &&\
wp core language update
url | Thu, 23/06/2022 20:36 | tagi:
plain LuaTeX

luaTeX to najlepsza wersja TeXa bo ma tę przewagę nad pdfTeXem, że natywnie używa Unicode + potrafi korzystać z fontów systemowych. Jak się używa LaTeXa, to na tym można zakończyć. Jak ktoś chce plain-TeX (czyli zapewne kiedyś używał MeXa), to potrzebuje jako minimum: format z polskimi regułami przenoszenia wyrazów, no i możliwość dołączania rysunków.

W luaTeXu robi się to następująco (TeXlive):

Należy odszukać plik etex.src (np. /usr/local/texlive/2022/texmf-dist/tex/luatex/hyph-utf8/etex.src). Plik ten powinien zawierać wiersz:

  \addlanguage {USenglish}{hyphen}{}{2}{3}%

Po tym wierszu należy dodać

\addlanguage{polish}{loadhyph-pl.tex}{}{2}{2}

Teraz należy wygenerować format:

  luatex -ini luatex.tex
  ## powstał plik luatex.fmt; który kopiuję
  ## do katalogu z innymi formatami

Polskie reguły są włączane poleceniem:

\uselanguage{polish}

Fonty można deklarować tak, jak w poniższym przykładzie, w którym zakładamy skład fontem ChaparralPro

\input luaotfload.sty
%% https://www.wfonts.com/font/chaparral-pro
%% Potrzebujemy `family name` ale ChaparralPro też działa (why?)
%% otfinfo -a FONT wypisze family name
\def\MainSFont{name:Chaparral Pro}
\font\rm = "\MainSFont:+tlig" at 9.9pt
\font\it = "\MainSFont/I:+tlig" at 9.9pt
\font\bf = "\MainSFont/B:+tlig" at 9.9pt
\font\bi = "\MainSFont/BI:+tlig" at 9.9pt
%% \bf włącza odmianę grubą \it kursywę jak to plainie...

Zwróćmy uwagę, że odmiana jest deklarowana jako /X po nazwie kroju; potem po dwukropku (opcjonalnie) deklaruje się font features. Jako minimum warto dodać tlig, co włączy ligatury TeXowe (takie jak -- zamiast myślnika.) Inne użyteczne features, to smcp oraz onum:

%% Caps/smallcaps
\font\sc = "\MainSFont:+tlig,+smcp" at 9.9pt
%% Old style numbers
\font\sco = "\MainSFont:+tlig,+smcp,+onum" at 9.9pt

Dołączanie rysunków/kolorowanie/obracanie:

%% zPlainowany LaTeXowy pakiet graphicx:
\input graphicx.tex
\includegraphics[width=.9\hsize]{plik.png}
%% zPlainowany LaTeXowy pakiet color:
\input color.tex
\textcolor{red}{bbb}  \colorbox{green}{one two}
%% obracanie:
\rotatebox{90}{\colorbox{blue}{\textcolor{yellow}{Stand with Ukraine}}}
%% skalowanie
%% x-przeskaluj na 40% \hsize
\resizebox{.4\hsize}{!}{Stand with Ukraine}
%% xy-przeskaluj na 40%
\resizebox{.4\hsize}{2cm}{Stand with Ukraine}
%% Powiększ oryginał 2 razy
\scalebox{2}{Stand with Ukraine}

No i tyle. Podstawowa funkcjonalność jest. Z MeXa zostały tylko wzorce przenoszenia. Reszta stała się zbędna, więc nie ma czegoś takiego jak luaMeX. Postęp jest nieubłaganyn nawet w świecie TeXa...

Kompletny mini-przykład

%% -*- coding: utf-8 -*-
%% należy kompilować luaTeXem
\input luaotfload.sty
\input graphicx.tex
\input color.tex
%%
\uselanguage{polish}
%%%
\def\MainSFont{Iwona}
\font\rm = "\MainSFont:+tlig;+onum" at 9.9pt
\font\it = "\MainSFont/I:+tlig;+onum" at 9.9pt
\font\bf = "\MainSFont/B:+tlig;+onum" at 9.9pt
\font\bi = "\MainSFont/BI:+tlig;+onum" at 9.9pt
%% Small caps
\font\sc = "\MainSFont:+tlig;+smcp" at 9.9pt
%% Old style numbers
\font\sco = "\MainSFont:+tlig;+smcp;+onum" at 9.9pt

\def\SwUA{\colorbox{blue}{\textcolor{yellow}{Stand with Ukraine}}}
\def\dig{0123--456---789}

\rightskip0pt plus 1fil
\nopagenumbers

\rm \SwUA \dig {\bf \SwUA \dig } {\it \SwUA \dig }

{\sc \SwUA \dig } vs {\sco \SwUA \dig }


\rotatebox{90}{\resizebox{.4\hsize}{!}{\SwUA}}

\scalebox{2}{\SwUA}
\bye

i wynik

UWAGA: uważny czytelnik zauważy, że nie do końca jest to co miało być (small caps zawsze jest z OldStyleNumbers i nie idzie tego wyłączyć), bo niektóre font features są ignorowane. Z fontem Chaparral jest jeszcze gorzej: nawet smcp jest ignorowane.

Żeby było śmieszniej po usunięciu \input luaotfload.sty i kompilacji xeTeXem jest OK. Dalsze testy można streścić następująco: niektóre fonty nie są poprawnie deklarowane; deklarowanie tych samych fontów w LaTeXu daje poprawne rezultaty (ale z użyciem fontspeca); przetwarzanie xeTeXem też daje poprawne rezultaty. Na moje coś jest spieprzone w plainowej wersji luaotfload, ale konkretnie co to nie ustaliłem albo fontspec jest bardziej cwany i lepiej deklaruje fonty.

Relewantna literatura to dokumentacja do dwóch pakietów: https://www.ctan.org/pkg/fontspec oraz https://www.ctan.org/pkg/luaotfload.

Dopisane 23 czerwca 2022 (wieczorem): Pytanie zadałem na githubie (https://github.com/latex3/luaotfload/issues/229) i już wiem co było nie tak. Trzeba było dodać mode=node;script=latn, tj. na przykład:

\font\sc = "\MainSFont:mode=node;script=latn;+tlig;+smcp" at 9.9pt

You can check in the log how exactly fontspec specifies the font and copy that in your plaintex document.

url | Wed, 22/06/2022 17:00 | tagi: , ,
Nasz człowiek w Warszawie

Cytat za https://gospodarka.dziennik.pl/news/artykuly/8438295,donald-tusk-ukraina-pomoc-wojna-rosja-zboze-rolnicy.html

Tusk o sytuacji polskich rolników: Jest wojna, jest blokada portów, coraz więcej transportów (z produktami rolnymi) idzie z Ukrainy przez Polskę do innych krajów, ale z punktu widzenia polskich rolników oznacza to, że część tych zbóż będzie sprzedawana tutaj w Polsce po wyraźnie niższych cenach. To także powoduje, że opłacalność produkcji polskiego rolnika może okazać się bardzo kłopotliwa -- powiedział Tusk.

Chcemy wszyscy pomagać Ukrainie, to jest bezdyskusyjna sprawa, ale trzeba to też tak zorganizować, aby pomoc dla Ukrainy nie oznaczała jakichś bardzo dotkliwych strat dla polskich rolników. Władze muszą wziąć pod uwagę ten niespodziewany problem, bo chcemy pomagać, ale musimy także zadbać o swoich ludzi -- dodał.

Ukraina jest jednym z największych światowych eksporterów zboża, które eksportuje głównie drogą morską. Rosyjska blokada portów Morza Czarnego zagraża niedoborom żywności w wielu krajach Afryki i Bliskiego Wschodu. W związku z blokadą portów Ukraina nie jest w stanie wywieźć około 22 mln ton zboża zgromadzonego w silosach. Trwają zabiegi dyplomatyczne w celu zdjęcia blokady. Komisja Europejska uruchomiła w piątek platformę do nawiązywania kontaktów biznesowych między przedsiębiorcami z Ukrainy i UE, co ma w założeniu pomóc w eksporcie ukraińskiego zboża.

Mój komentarz: jest wojna nie judzimy na wiecach politycznych w/s wojennych, zwłaszcza jak nie mamy nic lepszego do powiedzenia oprócz tego, że rząd robi źle.

url | Wed, 08/06/2022 06:47 | tagi: , , ,
Kilka tras rowerowych wokół Trójmiasta

Generalne uwagi

Trasy mają po 50--100 km; jak za mało to można samemu przedłużyć. Jak za dużo można w połowie zawrócić:-)

Wyjazd na południe (Kaszuby) jest najbardziej skomplikowany. Duże korki/brak ścieżek; ale da się (trasa do Żukowa).

Osobiście zacząłbym od Żuław

Trasy są stworzone w aplikacji plotaroute. Można pobrać ślad w szczególności (być może do tego celu trzeba założyć konto/za darmo)

Lista tras

Do Żukowa a potem do elektrowni wodnej w Rutkach; (W Żukowie klasztor i cmentarz z krzyżawi żeliwnymi) #1

Żuławy (płasko ale może wiać, bo nie ma lasów) Wyspa Sobieszewska (po ścieżkach/drogach o względnie małym ruchu) #2

Dłuższy wariant poprzedniej. Od 1.go maja działa prom w Świbnie więc można spróbować tak: (koniec w Sztutowie / dawny KL Stutthoff) #3

Statkiem na Hel a potem rowerem. Hel--Rumia (potem powrót SKM; rower w SKM za darmo) #4

Inny wariant zaczynający się na Helu. Hel-Żarnowiec (elektrownia szczytowo-pompowa/punkt widokowy) #5

url | Fri, 29/04/2022 08:56 | tagi: , ,
Napaść Rosji na Ukrainę

Luźne uwagi pro memoria żeby potem sprawdzić co się okazało prawdą a co nie...

Wojna zaczęła się 24 lutego (czwartek); poprzedziła ją długotrwała koncentracja wojsk więc sama inwazja nie była aż tak wielkim zaskoczeniem.

Postawa Niemiec

Jeszcze przed inwazją nowy kanclerz zamiast jechać sam do Moskwy wysyła kompetnie zieloną minister SZ opowiadającą różne głupstwa. Upiera się że NS2 nie powinien być objęty sankcjami w odpowiedzi na ewentualną agresję itp.. Torpeduje pomoc wojskową dla Ukrainy (po DDRowskie haubice z Łotwy, loty do Polski naokoło Niemiec). Ośmiesza się wysłaniem 5000 hełmów co trwa zresztą ze 2 tygodnie. Dno i pukanie od dołu.

Postawa USA

Przed inwazją taka sobie. Biden odwiesiła sankcję na NS2 przypominam w maju 2021 czyli tak 7--8 miesięcy przed inwazją (fajny mają wywiad); Potem na jesieni ten temat wrócił i znowu sankcji nie nałożono. Mieli inne sprawy na głowie: kompromitacja w Afganistanie...

Rosja

Putin groził użyciem broni jądrowej (dwa razy, raz w sposób zaowalowany, drugi że postawił siły strategiczne w stan alertu--one chyba zawsze są w stanie alertu BTW?). Teraz ew. zaangażowanie się NATO po stronie Ukrainy jest uważane za szaleństwo bo Rosja zaatakuje bronią jądrową. W związku z tym NATO nie powinno itp. Monachium do kwadratu....

NB Rosja to dziwne państwo. Bogaci Rosjanie mieszkają w Europie, tam robią zakupy, tam kształcą dzieci. Ale wg Putinowców jak Ukraina się stanie częścią Europy/UE/NATO, to będzie to dla Rosji śmiertelnym zagrożeniem. To się nie trzyma kupy. Hitlerowcy nie jeżdzili na wakacje do Francji ani nie kształcili tam dzieci. Putinowcy są jeszcze bardziej pierdolnięci od nazistów...

Inwazja

Plan Rosji z perspektywy 2 tygodni, które minęły wydawł się nieskomplikowany: zaatakowali z każdego kierunku + jakieś bezsensowne desanty. Wygląda że liczyli, że prezydent Zełenski ucieknie, armia się podda, oni zainstalują kogoś swojego i po tygodniu będzie po sprawie.

Coś nie tak poszło. Ani Włodymyr Zełenski ani armia UA nie uciekła; internet za to pełen jest zdumiewających filmików zniszczonego/porzuconego ruskiego sprzętu. Po dwóch tygodniach podeszli pod kilka większych miast, które ostrzeliwują artylerią. Znowu internet jest pełen filmików pokazujących zniszczone domy, ataki rakietowe na dzielnice mieszkalne itp. przestępstwa wojenne...

Ponieważ wojna nie skończył się w 3 dni USA+Europa nałożyły jakieś tam sankcje na Rosję. Piszę jakieś bo to różnie mówią nt ich dolegliwości; niewątpliwie kupowanie od Rosji gazu/ropy jako wyjątek, przy którym upierają się Niemcy co świństwo. Ale inni też kupują w tym nasza nieugięta Ojczyzna tylko o tym nie mówią głośno (70% ropy/40% gazu z tego co mi się wydaje). Godny odnotowania i niespodziewany jest masowy bojkot Rosji ze strony biznesu korporacyjnego; masa firm zawiesiła działalność (Ikea, IBM, Google itd)

Gdyby tak powiedzmy 15 stycznia było dla Rosji jasne co będzie w razie inwazji to może do wojny by nie doszło. Ale zamiast jasnego przekazu były targi co wykluczyć z sankcji z NS2 na czele...

Niemcy wreszcie zmienili front. NS2 jest dead and buried (podobno na zawsze). Nie będą się orientować na Ruski gaz a wręcz przeciwnie (na razie nie wiadomo na co). Zwiększą budżet na armię i wstydzą się za Schroedera. O Merkerl nikt już nie mówi jaka to była dama stanu. Jeszcze nie mówią że była przeciętną kunktatorką, której jedynym sukcesem było to, że jej fotela kanclerza spod dupy nie wyrwali przez 16 lat, ale i na to przyjdzie czas.

Uchodźcy się pojawili w PL. Fenomenalna sprawa. Zamknięcie ryja (przynajmniej na chwilę) tym wszystkim specjalistom od polskiego szowinizmu. Ochujska ochujała... żal patrzeć

Wojskowa pomoc dla UA

Ukraina prosi o pomoc. Ale nikt się nie kwapi jej udzielić. Tzn dostaje jakąś pomoc w postaci pocisków NLAW czy Stinger, ale nic ponadto. Polskie MIGi niewiele wniosą a i z tym są problemy. Prawdziwa pomoc UA to nie danie im sprzętu (bo ten zaawansowany to oni nie potrafią używać--musieli by się najpierw nauczyć), a zaangażowanie się z własnym wojskiem. A wojna z Rosją nie wchodzi w grę. Nawet pomijając te groźby Putina o atakach jądrowych. Kto miałby walczyć? Nikt nie chce. USA po Afganistanie ma dość. W Europie nie ma armii za wyjątkiem Francji. My po 6 latach gadania jacy jesteśmy wspaniali na tym odcinku (2% PKB itp) mamy taką armię że szkoda gadać... I to jest dramat, ale takie są realia. Ukraina będzie walczyć sama

Dla PL smutne perspektywy. Nikt nie będzie bronił PL jak na nas przyjdzie kolej. Ale to za czas jakiś jeżeli w ogóle, bo Putinowcy ugrzęźli na Ukrainie na perłowo. Na moje to nie ma szans zajęcia całej Ukrainy za dużo to by ich kosztowało. Mam nadzieję że dojdzie do jakieś formy rozejmu. Jutro rozmowy w Turcji...

Wszyscy mówią że Putin się nie cofnie, co wydaje się normalne u dyktatora ale może znajdzie się jakaś forma uratowania przez niego twarzy. Inwazja na UA wydaje się katastrofą dla Rosji już w tej chwili. Stracili Niemcy, stracili zapewne Europę/USA jako partnera. Wszyscy chcą się zbroić bo teraz Rosja to bandyckie państwo. W mediach rozważania na ile realna jest utrata władzy przez Putina.

url | Wed, 09/03/2022 19:47 | tagi: ,
Update Debiana do wersji 11

W trybie awaryjnym, że tak powiem. Ale dałem radę w miarę sprawnie:

apt install texlive emacs gimp mc vim sqlite3 vlc r-base \
  dia gretl evince xpdf geeqie sshfs thunderbird
  flameshot ## do screenshotów
  recordmydesktop ## do zgrywania pulpitu
  jmtpfs ## podłączenie Adroida
  libtext-csv-perl
  libmethod-signatures-perl
apt install default-jre
apt install r-cran-ggplot2 r-cran-ggthemes r-cran-ggpubr

Doinstalowałem do chroma: adblock oraz 'print friendly and pdf' (taka długa nazwa.)

Doinstalowałem (MS) teams, Rstudio oraz google-chrome:

dpkg -i google-chrome-stable_current_amd64.deb 
dpkg -i rstudio-2022.02.0-443-amd64.deb 
dpkg -i teams_1.4.00.26453_amd64.deb 

Obsługa xmla/xslt:

apt install xsltproc libxml2-utils
apt install git

Ładowanie plików FIT na stravę przez CLI:

https://metacpan.org/dist/WebService-Strava
apt install gpsbabel
##
Doinstalowane z cpana 
https://metacpan.org/pod/Scalar::Util::Reftype
## fit2tcx (skompilować)
https://github.com/adiesner/Fit2Tcx
apt install libtinyxml-dev libscalar-list-utils-perl libjson-parse-perl 
    liblwp-authen-oauth2-perl libconfig-tiny-perl install libmoo-perl

Wysyłanie postów na bloga

apt install libxml-libxml-perl

Przestał działać skrypt do autoryzacji przez Oauth2 bo nie ma polecenia python. Gorzej nie działa nawet jak się go wywoła z python2 (brak biblioteki httplib2 w wersji na python2). Z kolei z python3 zgłasza błędy; składnia się zmieniła. Poprawiłem składnię. Dociągnąłem:

apt install python3-oauth2client

Drobna zmiana ustawień:

##/etc/fuse.conf
user_allow_other

Używam jeszcze czegoś takiego jak słownik polsko-angielsko-niemiecki (nieistniejącej) firmy YDP z Gdańska (kupiony legalnie ze 20 lat temu albo i lepiej.) Z tego ci mi się wydaje ni-chu-chu żeby to działało w Windows (natywnym bądź co bądź środowisku), ale pod linuksem jest zastępcza nakładka i działa jak najbardziej:

sudo apt-get install autotools-dev
automake libtool gettext
## ściągnąć
## https://github.com/wojtekka/ydpdict/blob/master/README.md
## i skompilować
url | Wed, 23/02/2022 22:26 | tagi:
Zgony nadmiarowe w Europie

Że czwarta fala szaleje to nadmiarowe zgony w Europie sobie liczę, w której to kategorii Polska cytując poetę trzecie miejsce w świecie (Kazik Staszewski/Amnezja)

Dane pobieram za pomocą get_eurostat (pakiet eurostat):

library("eurostat")
# demo_r_mwk_ts = Deaths by week and sex
z <- get_eurostat("demo_r_mwk_ts",  stringsAsFactors = FALSE) %>%
  mutate (time = as.character(time)) %>%
  mutate (year = as.numeric(substr(time, 1, 4)), 
          week = as.numeric(substr(time, 6,7)),
          sex = as.factor(sex),
          geo = as.factor(geo)) %>%
  select (sex, geo, year, week, value=values) %>%
  filter (sex == 'T')

Końcowy filter usuwa liczbę zgonów dla kobiet/mężczyzn osobno, bo chcemy tylko analizować ogółem czyli Total.

W pliku ecdc_countries_names_codes3166.csv są nazwy krajów (bo w bazie Eurostatu są tylko ISO-kody):

## country names
nn <- read.csv("ecdc_countries_names_codes3166.csv", sep = ';',  header=T, na.string="NA" )

Teraz liczę 5-letnie średnie dla okresu przed pandemią czyli dla lat 2015--2019 włącznie:

## mean weekly deaths 2015--2019
z0 <- z %>% filter ( year >= 2015 & year < 2020) %>% 
  group_by(geo, week) %>% 
  summarise (d0 = mean(value, na.rm=T))

Oraz tygodniowe liczby zgonów dla lat 2020--2021

## weekly deaths 2020--2021
z1 <- z %>% filter ( year > 2019 ) %>% 
  group_by(geo, year, week) %>% 
  summarise ( d1 = sum(value))

Łączę z0 z z1; liczę różnice między zgonami 2020--2021 a średnimi. Najpierw usuwam wiersze z NA w kolumnach zawierających zgony/średnie (drop_na). To w szczegolności usunie wiersze z tygodni (w roku 2021), dla których jeszcze nie ma danych.

## join z0 z1 and compute differences
zz <- left_join(z0, z1, by=c("week", "geo")) %>% 
  drop_na(d0,d1) %>%
  mutate (exp = (d1 - d0)/d0 * 100, exm = d1 - d0 )
zz <- left_join(zz, nn, by=c('geo'='id'))

Osobno liczę numer ostatniego raportowanego tygodnia w roku 2021. Pytanie o numer ostatniego w ogóle jest bez sensu, bo w 2020 będzie to ostatni tydzień. Ten fragment ciut mało robust jest bo w 2022 trzeba go będzie zmodyfikować

## if NA then the country stop reporting in 2020
zz.last.week <- zz %>% filter (year == 2021) %>% 
  group_by (geo) %>% 
  summarise (lw = last(week)) %>%
  drop_na(lw)
  
## najbardziej aktualny raportowany tydzień (różne kraje raportują różnie)
latestweek <- max (zz.last.week$lw)

Uwaga: niektóre kraje nie raportują w 2021, więc ich nie będzie w ramce zz.last.week z uwagi na filter.

Ramka zzt zawiera sumy różnic; bezwzględne (exm) oraz względne w procentach względem poziomu średniego 2015--2019 (exp):

### total exmort 
zzt <- zz %>% group_by(geo) %>%
   summarise(country=last(country), 
   exm = sum(exm),
   nm = sum(d0)) %>%
  mutate (exmp = exm/nm * 100)

Dodajemy informację z ramki zz.last.week; jeżeli w tej ramce nie ma kraju (bo nie raportował w 2021) to usuwamy go (drop_na(lw)). Wypierniczamy kraje raportujące więcej niż 6 tygodni po kraju (krajach), który przysłały raport najpóźniej. Np jak jakiś kraj-prymus dostarczył w 47 tygodniu to tylko kraje raportujące z tygodni 41 i później zostają a inne są usuwane (jako nieporównywalne)

zztt <- left_join(zzt, zz.last.week, by='geo') %>%
  drop_na(lw) %>%
  filter (lw >= latestweek - 6)
## ile zostało krajów (dla ciekawości):
countries.left <- nrow(zztt)

Wykres słupkowy względnej nadmiarowej umieralności (Total excess mortality by country) Trochę go komplikujemy bo słupek PL ma być wyróżniony (w tym celu tworzymy zmienną base a potem ręcznie ustawiamy legendę scale_fill_manual):

p6 <- zztt %>%  mutate( base=ifelse(geo=='PL', "1", "0")) %>% 
  ggplot(aes(x = reorder(country, exmp ), fill=as.factor(base))) +
  geom_bar(aes(y = exmp), stat="identity", alpha=.4 ) +
  geom_text(aes(label=sprintf("%.1f", exmp), y= exmp ), 
            vjust=0.25, hjust=1.25, size=2, color='black' ) +
  geom_text(aes(label=sprintf("%.0f", lw), y= 0 ), 
            vjust=0.25, hjust=-1.25, size=2, color='brown4' ) +
  xlab(label="") +
  ylab(label="") +
  ggtitle("Total Excessive deaths in Europe 2020--2021",
          subtitle ="Sum of (deaths_2020/2021 - average_2015--2019) / average_2015--2019 * 100%") +
  theme_nikw() +
  coord_flip() +
  scale_fill_manual( values = c( "1"="red", "0"="steelblue" ), guide = FALSE ) +
  labs(caption=x.note)

Wykres dynamiki. Ponieważ krajów jest dużo to usuwamy (pierwszy filter) `nieciekawe' (małe lub te które mają jakiś feler, np dane niepełne);

p7 <- zz %>% filter (! geo %in% c('AL', 'AM', 'IE', 'IS', 'UK', 'CY', 'GE', 'LI', 'ME')) %>%
  mutate(date= as.Date(sprintf("%i-%i-1", year, week), "%Y-%U-%u") ) %>%
  ##ggplot(aes(x = date, y =exp, group=geo, color=geo )) +
  ggplot(aes(x = date, y =exp)) +
  facet_wrap( ~country, scales = "fixed", ncol = 4, shrink = F) +
  geom_point(size=.4) +
  geom_smooth(method="loess", size=1, se = F, color="red",  span =.25) +
  geom_hline(yintercept = 50, color="firebrick", alpha=.2, size=1) +
  scale_y_continuous(breaks=seq(-100, 200, by=50)) +
  coord_cartesian(ylim = c(-100, 200)) +
  ggtitle("Excessive deaths in Europe 2020--2021",
          subtitle ="(deaths_2020/2021 - average_2015--2019) / average_2015--2019 * 100%") +
  theme_nikw() +
  xlab(label="%") +
  labs(caption=note)

Teraz wszystko na jednym ale ponieważ krajów jest za dużo (w sensie za mało byłoby kolorów żeby wykres był czytelny), to dzielimy je na dwie grupy: Polska i reszta. Każda grupa innym kolorem:

p8 <- zz %>% filter (! geo %in% c('AL', 'AM', 'IE', 'IS', 'UK', 'CY', 'GE', 'LI', 'ME')) %>%
  mutate( base=ifelse(geo=='PL', "1", "0")) %>% 
  mutate(date= as.Date(sprintf("%i-%i-1", year, week), "%Y-%U-%u") ) %>%
  ggplot(aes(x = date, y =exp,  color=as.factor(base ))) +
  ##ggplot(aes(x = date, y =exp)) +
  geom_point(size=.4) +
  geom_smooth(aes(x = date, y =exp, group=geo), method="loess", size=.3, se = F, span =.25) +
  geom_hline(yintercept = 50, color="firebrick", alpha=.2, size=1) +
  coord_cartesian(ylim = c(-100, 200)) +
  scale_color_manual( values = c( "1"="red", "0"="steelblue" ), guide = FALSE ) +
  theme_nikw() +
  ylab(label="%") +
  ggtitle("Excessive deaths in Europe 2020--2021 and Poland (red)",
          subtitle ="(deaths_2020/2021 - average_2015--2019) / average_2015--2019 * 100%") +
  scale_y_continuous(breaks=seq(-100, 200, by=50)) +
  labs(caption=note)

Wszystko działa (i koliduje jak mówił Bolec), bo działało na PC, ale był problem na raspberry, na którym to ostatecznie ma być uruchamiane z automatu co dwa tygodnie. Bo tam Debian starszy (Buster) i na arma. Zapodanie:

install.package("eurostat")

Skutkowało pobraniem wielu pakietów i błędem przy kompilacji czegoś co się nazywało s2. Kombinowałem na różne sposoby jak to skompilować bo stosownego pakietu w Debianie nie było. Ni-chu-chu.

W przypływie olśnienia obejrzałem zależności tego eurostatu, wśród których żadnego s2 nie było. Był za to sf, które z kolei rzekomo zależał od s2. Żeby było śmieszniej sf dało się zainstalować (mimo że s2 nie było -- stąd rzekomo):

apt install r-cran-sf/oldstable

Problem się rozwiązał...

Skrypt będzie się uruchamiał co dwa tygodnie. Generował rysunki i wysyłał je na twittera

Całość jest na githubie i to w dodatku jako plik Rmd, ale nie na moim koncie tylko na koncie Koła Naukowego SM w PSW w Kwidzynie, którego póki co jestem opiekunem i jedynym członkiem w jednym (por. github.com/knsm-psw/ES-mortality)

url | Fri, 10/12/2021 05:56 | tagi: , , , ,
Projekt-Z

Zacząłem uprawiać ogród znajdujący się przy ulicy Zawodzie w Gdańsku. To jest typowy ogród działkowy o powierzchni około 400 metrów kwadratowych. Jeszcze parę lat temu uprawiała go moja teściowa, ale ostatnio już przekraczało to jej siły.

W związku ze stanem zdrowia teściowej ogród był mocno zaniedbany a jego rewitalizacja zajęła dwa lata. W zeszłym kupiłem szklarnię poliwęglanową, usunąłem dwa konary po drzewach i umocniłem fragment działki z przeznaczeniem na miejsce parkingowe.

Z upraw to nie za wiele wyszło. Coś tam urosło, ale mocno to było skromne. W tym roku się zabrałem na serio. Ponieważ działka jest długa i wąska a kran tylko jeden z brzegu, wykopałem rów, położyłem rurę wzdłuż działki i zamontowałem dwa dodatkowe krany (piszę w pierwszej osobie, ale wykonała to firma; natomiast zakopanie dziury to już ja). Podlewanie dzięki temu stało się dużo łatwiejsze. Oprócz rury do wody zakopałem kabel internetowy i energetyczny. Rów ciągnie się od brzegu działki do szklarni poliwęglanowej, znajdującej się na drugim końcu działki, którą nazwałem greenhouse (względnie whitehouse, bo jest biała.) Ponieważ kopanie dziury zdemolowało nieco działkę kupiłem 3metry sześcienne ziemi i rozwiozłem po działce (70 taczek wyszło.)

Wreszcie zbudowałem samodzielnie drugą szklanię (pinkhouse bo jest pokryta folią o zabarwieniu różowym). Zbudowałem też dwa kompostowniki z palet. Usunąłem trawę ze środkowej części działki i przygotowałem tę część pod uprawę.

Nie wchodząc w szczegóły, działka ma około 120 metrów kwadratowych ,,części ornej'' podzielonej na 7 grządek o wymiarach 5x1,3m do tego cztery grządki nietypowe (dwie na truskawki jedna podzielona na ogórki/dynie i ostatnia wyłącznie na dynie.) Na dwóch grządkach zasiałem buraki, na kolejnych dwóch dynie i cukinie, na piątej marchew a na szóstej ogórki. Ostatnia siódma na selery, pory i sałatę (wiosna/wczesne lato.) W szklarniach posadziłem pomidory (własne flance.) Po bokach podpory na fasolę szparagową (trzy podpory typu trzepak + trzy typu walec z siatki drucianej) oraz na suche ziarno (jedna typu trzepak).

Zainstalowałem system monitorujący DYI oparty o Raspberry Pi w wersji 3. Ten system to router DWR-116 za 50 PLN z Allegro + modem Huawei e173 (za 8 PLN z OLX) + 3 razy rasberry, każda wyposażona w czujnik Bosch BME 280 do mierzenia temperatury/wilgotności oraz kamerę. Co trzy godziny (w dzień, tj. między wschodem i zachodem słońca) wykonywane jest zdjęcie, które jest (razem z odczytem z czujnika BME) wysyłane na Twittera oraz na stronę dedykowaną projektowi-Z pn http://zgarden.blogsite.org:8080/. Na koniec doby odczyty BME są wysyłana do repozytorium na githubie (https://github.com/hrpunio/Zawodzie). Do tego kupiłem prepaidową kartę w nju i co miesiąc płacę 9 PLN za usługę 9Gb za 9PLN.

Stronę http://zgarden.blogsite.org:8080/ oglądam sobie na PCie, a dla teściowej zrobiłem podgląd na czwartym Raspberry Pi wyposażonym w 7 calowy ekran kupiony na AliEx. Na tym ekranie wyświetlają się na przemian trzy zdjęcia z kamer z działki. Pi jest tak skonfigurowane, że uruchamia się bez logowania, uruchamia Chrome i zaczyna wyświetlać zdjęcia. Zdjęcia pobiera w stosownych momentach z Internetu.

Wreszcie zainstalowałem prosty system nawadniania w szklarniach. Ten system to programator nawadniania za 70 PLN (Allegro albo AliEx) pozwalający ustawić czas lania wody i częstotliwość oraz 20m linii kroplującej. System działa od 25 lipca bo wcześniej nie miałem czasu się tym zająć. Od 26 lipca nie podlewam w szklarniach...

Fasoli (szparagowej) to zebrałem +10kg, pomidorów już +80kg a jeszcze tak na oko minimum 20kg wisi na krzakach. Marchwi też jest po pachy a buraków jeszcze więcej. Ogórki jakby trochę słabiej, uschły dość szybko -- nie wiem czy tak miało być czy jakaś choroba. Ogólnie jednak zbiory są zajebiste, bo to Żuławy przecież. Od początku lipca jemy codziennie cukinie a od końca lipca swoje pomidory.

Zdjęcia z działki są tutaj. Są też filmiki poklatkowe tutaj.

Na działkę mam ok 20 km z domu. We dwie strony 40 km. Rowerem dojeżdżam...

url | Fri, 17/09/2021 22:18 | tagi: , ,
Zmiana osprzętu z włoskiego na chiński

Tekst w ramach nadrabiania zaległości...

W zeszłym roku prawie nie jeździłem na swoim flagowym rowerze (Ridley Fenix ale alu), bo się połamała klamka. A połamała się wkurwiająco ponieważ rower był w bagażniku, mieliśmy stłuczkę, przesunął się, uderzył klamką w ścianę bagażnika (Skoda Octavia) i już... Nikomu nic się nie stało tylko straty w sprzęcie (samochód + rower) Enough-is-enough. Zacząłem przemyśliwać jakby się wyplątać z tego całego Campagnolo (którego używam od zawsze; nigdy nie jeździłem na czymś innym), które tak poza tym staje się coraz bardziej egzotyczne, czego dowodem na przykład może być skromna oferta używanych części na Allegro.

Tak sobie myślałem cały 2020 a w zimie kolega CF powiedział mi, że właśnie kupił chiński osprzęt firmy Sensah i że to jest klon Srama i wygląda ten osprzęt całkiem-całkiem. No to ja też kupiłem tego Sensaha na AliEx, tyle że nie tylko manetki, ale całą grupę (Sensah Empire 11s), w tym korbę która jest chyba innej firmy, bo nazywa się ZRace (a model RX). Całość kupiona pod koniec marca 2021, przyszła jakoś tak po miesiącu chyba, bo przesyłka dość długo szła. Długą i dość pokrętną drogą szła: najpierw do Belgii potem do Hagi w Holandii, potem do Amsterdamu. Stąd do Polski... Całość manetki, hamulce, korba, kaseta, łańcuch + przerzutki kosztowało 1030 PLN (bez podatku VAT, bo go jeszcze wtedy nie naliczali)

BTW ja ślubowałem nigdy-przenigdy nie kupować czegokolwiek od firmy z nazwą w trybie fekalno-oznajmującym (jest jeszcze w tej Ameryce firma z nazwą w trybie f-ostrzegawczym czyli OSRAM), ale ta chińska przecież nazywa się Sesnah więc jest OK.

Ekstra musiałem kupić za 340 PLN w Wertykalu bębenek do piasty (Campagnolo Zonda) kompatybilny z Shimano/SRAM. I tak byłem szczęśliwy, że tylko 340 PLN ekstra kosztował mnie rozwód z Campagnolo.

To że zamiast trzech dźwigni Camapgnolo jest jedna dźwignia (system SRAM) to się dowiedziałem od mechanika co mi to wszystko zamontował (że jest mniej niż w Campagnolo to podejrzewałem, ale spodziewałem się dwóch, jak w Shimano:-); nie stanowiło to wszakże wielkiego problemu. Powiem że posługiwanie się tym jest proste i intuicyjne, tyle że z hamowaniem trzeba trochę bardziej uważać niż w Campagnolo, bo manetka jest cóśkolwiek ruchoma (co oczywiste) i jak się za bardzo pociągnie ją do osi roweru to oprócz hamowania, zmieni się bieg...

No więc w 2020 nic nie jeździłem na Feniksie a w 2021 nie jeździłem na innych prawie wcale tylko na Feniksie. Przjechałem już 4500km i wszystko działa, nic się nie popsuło i jestem zachwycony. Do tego stopnia, że jak umyśliłem sobie kupić tryb na wymianę + łacuch a się okazało, że firma dolicza transport do każdej pozycji i wyszło 200 EUR za dwa tryby i łańcuch (jeżeli dobrze pamiętam), to kupiłem jeszcze raz w tym samym sklepie na AliEx całego Sensaha+ZRace za 240 EUR czyli 1090 PLN. Jak sprzedam klamki i korbę na Allegro, to będę miał łańcuch + tryb za normalną cenę:-)

No i tyle, bo skoro działa, to nie ma o czym specjalnie pisać. Generalnie to w ogóle przechodzę na chiński: chiński smartfon, rower, a nawet GPS do roweru też chiński. Otóż do tej pory używałem Garmina Ege 500 (mam już trzy w tym dwa popsute) a teraz kupiłem Xossa G+ za 150 PLN. Tu akurat mieszane uczucia -- być może kwestia przyzwyczajenia. Na minus: nie można podłączyć do PCta (obsługa tylko przez smatfona) i nie można skonfigurować wyświetlacza. Ja lubię mieć czas bieżący, prędkość, dystans przed oczami. W Xoss jest to na dwóch ekranach. Przełączanie się między nimi nie stanowi problemu, ale jakby można sobie zdefinować co się chce oglądać, to byłoby jeszcze lepiej a nie można. Na plus długi czas pracy baterii.

BTW2: jest jeszcze jeden plus: a na czym to kolega jeździ Ultegra/Sram RED? -- Sensah... I nikt nie wie o co chodzi. I o to chodzi...

url | Thu, 16/09/2021 10:31 | tagi: , , ,
Jak zrobić chleb z zaatarem

Przed wyjazdem do Ammanu nie wiedziałem co to jest za'atar.

A teraz już wiem że za'atar to przyprawa złożona z trzech składników: sezam, sumak i tymianek. Kłopot tylko jest z tym tymiankiem, bo nie mam pewności czy, ich tymianek to samo co nasz tymianek. W szczególności kupiłem na rynku w Ammanie zielicho o zajebistym aromacie i mam pewne podejrzenia, że to właśnie jest ten trzeci składnik zaatara. Ale to się ustali...

Chleb (który się nazywa za'atar manouche) był podawany w hotelu na śniadanie i bardzo mi smakował. Przepis podaję za https://www.youtube.com/watch?v=ARmQEJK2qTg:

Ciasto składniki: 250 ml wody, 7g cukru, 20g świeżych drożdży (albo 5g instant), 390 g mąki, 1,5 łyżeczki soli, 2łyżki oliwy. Wodę zmieszać z drożdżami i cukrem odstawić na czas jakiś żeby drożdże ożyły. Wymieszać z mąką, solą i oliwą/wyrobić i odstawić na 1h żeby urosło. Zrobić z tego wałek i pociąć na 6 kawałków. Rozwałkować cienko. Posmarować zatarem z oliwą (35g zataru + 60 g~oliwy) Rozgrzać piekarnik do 250C. Piec teoretycznie 8-10 minut ale jak blade to dłużej...

Alternatywny opis jest na blogu staregary.pl.

Etapu wałkowania jeszcze nie opanowałem się przyznam w stopniu zadowalającym, bo ciasto mi się lepi do wałka i stołu. Dało się to wprawdzie rozwałkować, posmarować i umieścić na blasze, tyle że w stylu rozpaczliwym. Wychodzą luki w elementarnej edukacji kulinarnej (jak się robi ciasto drożdżowe) i tutaj muszę się jeszcze dokształcić...

url | Wed, 01/09/2021 07:25 | tagi: , ,
Wyjazd do Ammanu

Że pandemia to test PCR trzeba było zrobić, którego koszt to circa 400 PLN. Test jest ważny 72h; wylatujemy w poniedziałek jesteśmy w Ammanie o 11:00. Umówiłem się na 14:50 w piątek w Luxmedzie, bo później w piątek mi nie pasowało a w sobotę to mało kto testuje i nie wiem czy wynik by nie był w poniedziałek na przykład. Zatem test w piątek a w sobotę rano był wynik online. Wpisali datę wykonania testu na 23 bez podania strefy czasowej. Trochę lipa jak na 450 PLN. Tyle, że to bez znaczenia. Zarówno w Modlinie jak i w Ammanie wydruk z testu to faktycznie przepustka do pójścia dalej, ale nikt tego mojego wydrukowanego kwitka nie weryfikuje, wsadzając go np. do jakiegoś skanera (jest QR-kod). Patrzą pobieżnie i puszczają dalej...

Pojechaliśmy z wizytą do AlZaytoona university (to po naszemu Uniwersytet Drzewa Oliwnego bo Zaytoona to DO). Naszym gospodarzem był dr Ali Al Dahoud (rocznik 1961, studiował w Belgradzie skąd przywiózł żonę, Włoszech oraz Kijowie); drAli to dziekan Computer Science oraz ich centrum współpracy zagranicznej. Uprzedzając wydarzenia zajęli się nami super-ponad-standardowo. Wieczorem przyjechał drAli + jego pracownica Sokyna Bardzo otwarta i sympatyczna babka, elegancko ubrana. Fluent english oczywiście bo studiowała w UK.

Pierwszego dnia pojechaliśmy na chwilę na Uniwersytet, potem do Hotelu a wieczorem zwiedzaliśmy Ammańskie downtown. Mieszkamy w hotelu New Merryland Hotel 20 minut od punktu zero w Ammanie czyli meczetu Al-Husseini i z czystym sumieniem mogę ten hotel polecić. Za tygodniowy pobyt zapłaciłem około 1000 PLN

We wtorek był working day: spotkania i wykłady. Najpierw spotkanie z prezydentem uniwersytetu. Całkiem sympatycznie. Prywatny uniwersytet, 8 tys studentów, ileś tam (dużo) wydziałów. Nasze lectures ma być ze staffem, bo studentów nie ma. Najpierw w Business Dept., na którym studiuje 2 tys studentów, a pracuje 60 pracowników. Dziekanem jest Iracki Arab, mówiący po polsku (żona Polka w szczególności); 24 lata w Ammmanie. Phd z ekonomii Univ w Katowicach. Oprócz niego 2 amerykanki (jedna od IT) + 3 innych odpowiednio po studiach w Teksasie, Swansea i Birmingham... Potem poszliśmy do Nursing deptartment. Mniejsze grono, ale też sympatycznie.

W środę pojechaliśmy na Morze Martwe. W tym celu trzeba było wykupić pobyt w hotelu. Nie da się bowiem pływać w MM na dziko, zresztą to z uwagi na stężenie soli byłaby średnia przyjemność. Jak się sól dostanie do oczu mogiła, a na hotelowej plaży jest wąż ze słodką wodą/prysznice itp. Temperatura zabójcza 39C, ale hotel klimatyzowany więc no fear...

Tak w ogóle, to MM to taka sobie atrakcja. Pływać tam nie idzie (bo sól). Się wchodzi do wody; oblepia błotem i czeka 30 minut. Się błoto spłukuje i można iść do domu, ale że się wydało 35 dinarów to się siedzi na basenie czekając na lunch...

W piątek Petra. Jedziemy teoretycznie w najgorszym czasie: nie dość że lipiec to jeszcze wchodzimy tuż przed południem. Ale jest zupełnie znośnie. Nie jest aż tak gorąco (jest 32-33C a nie 40C czym nas straszono) i jest sucho, a trasa jest łatwa--idzie się jak po chodniku. Tras w Petrze jest osiem wg mapki na ulotce do pobrania przy kasach i można wzw z tym chodzić parę dni. Ja zaliczam dwie trasy: główną i Al-Khubtha Trail, tyle że tę drugą to raczej nie do końca. Tzn. doszedłem do jakiegoś końca, ale raczej nie tego co trzeba, bo potem w Internetach widziałem zdjęcia ludzi co sobie robią selfie ze skarbcem w tle na dole. No ja tam nie byłem. Przy czym od połowy tej Al-Khubtha, to już nikogo nie spotykałem na szlaku, więc albo wlazłem nie tam gdzie trzeba albo 99% zwiedzających chodzi po Main Trail. Spędzamy w Petrze 4h i wracamy do Ammanu o 20:00. Ja bym tam i 8h mógł chodzić, ale reszta wycieczki już nie więc nie chciałem żeby na mnie za długo czekali (czekali godzinę)

W sobotę jedziemy do domu drAli w mieście Ar-Ramsa na granicy z Syrią. To nie jest daleko, ale jedziemy naookoło, najpierw zwiedzać zamek Ajloun. Budowla saracenów (https://pl.wikipedia.org/wiki/Saraceni) a nie krzyżowców. Wejście za 3 JOD czyli tanio. Stamtąd do Dżarasz. W sumie niepotrzebnie, bo rzymskich ruin ostatecznie nie zwiedzamy. Wejście 17 JOD, bo to ogromne ruiny są, a nam się primo już nie chce, a do tego jest już późno. Mamy jeszcze w planach obiad w Ar-Ramsa. Po obiedzie podjeżdżamy obejrzeć zamknięte przejście graniczne z Syrią i wracamy do domu.

Pomiędzy wyjazdami łaziłem po Ammanie. Stare miasto (downtown) w tym a zwłaszcza bazar przy meczecie Al-Husseini (Grand Husseini Mosque). Kartą płatniczą to tu w wielu miejscach się nie zapłaci i trzeba mieć gotówkę. W tym celu wymieniam USD/EUR na JOD w kantorze. Bankomatów miejscowi nie polecają bo drogo wychodzi. W hotelu i Carrefurze płacę kartą i kurs wychodzi całkiem OK. Nie ma potrzeby kupowania dinarów w PL co zresztą nie jest prostą sprawą.

W poniedziałek odlatujemy do Modlina. Teraz wreszcie przydaje się paszport-COVIDowy. Przy kontroli paszportowej pokazuję paszport (m-obywatel) i bez dalszych ceregieli wpuszczają mnie z powrotem.

Wybrane pozycje kosztów: wiza na lotnisku 40 JOD, Petra 50 JOD, hotel około 1000 PLN, test PCR 450 PLN. Bilet (wykupiony bagaż 20kg) w Ryanair to zaledwie 600 PLN.

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

url | Wed, 01/09/2021 04:58 | tagi: , , ,
Kłamstwo oświęcimskie wołające o pomstę do nieba

Czyli negacjonizm, albo w języku Holocaust denial, nie wiedzieć czemu tak nazwane, bo Holokaust to przecież 20% wszystkich ofiar. Karane jest (w PL i w wielu innych krajach) zaniżanie liczby ofiar. Ale zawyżanie już nie jest karane, a przecież też jest kłamstwem.

Takich kłamców są całe pęczki (bezkarność ośmiela), np. "profesor" Gross, ale wszystkich przebiła ostatnio pani Gessen z amerykańskiego pisma NewYorker, twierdząc że Polacy zamordowali 3mln Żydów.

Ktoś powie liczba równie dobra jak 200 tys, innego asa na polu kto da więcej (Grabowskiego), ale nie. Przesadziła i to grubo. Się szacuje, że w GG żyło 1,3mln Żydów. No i tyle teoretycznie mogli zamordować Polacy, reszty nie mogli. Jak ktoś przyjechał z Francji do Oświęcimia i tam został zagazowany, albo został zastrzelony w Babim Jarze, to Polaków tam nie było... Nie mogli ani pomóc ani zaszkodzić.

No więc jeżeli Polacy zamordowali dwa razy więcej Żydów niż mieszkało w GG to mamy właśnie przykład KO, które nie jest karane a być powinno. Surowo. Pamięć o ofiarach tego wymaga...

url | Sun, 28/03/2021 04:25 | tagi: , ,
Instalowanie WordPressa na Rpi3

Zainstalowałem wreszcie WP na raspberry (celem testowania) i to od razu z dostępem z zewnątrz nie żadne tam localhost. Że mam dwa komputerki, które robią za serwery WWW (a router jeden), to sobie wymyśliłem, że będę je rozpoznawał po porcie. W tym celu w Tomato dopisałem jeden wiersz w części port forwarding:

## nafisa.blogsite.org:8080
## Dopisać linijkę w tomato (port forwarding)

## Najpierw: systemctl stop nginx
## Potem wg: https://www.makeuseof.com/tag/host-wordpress-raspberry-pi/

apt install apache2 -y
apt install php -y
apt install mariadb-server-10.0 php-mysql -y

wget http://wordpress.org/latest.tar.gz

Teraz konfigurowanie apache'a: dodane nafisa_blogsite.conf (musi być .conf!) do katalogu /etc/apache2/sites-available/. Następnie:

ln -s /etc/apache2/sites-available/nafisa_blogsite.conf \
  /etc/apache2/sites-enabled/nafisa_blogsite.conf

## wpisanie Listen 8080 do
vi /etc/apache2/ports.conf

systemctl start apache2

Instalowanie mysql/mariadb:

sudo mysql_secure_installation
sudo mysql -uroot -p

create database wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost'
  IDENTIFIED BY 'PASSWORD';

FLUSH PRIVILEGES;

Teraz mi to beznadziejnie zawisło i nie mogłem się zalogować; do tego nie mogłem też zatrzymać demona mysql. W końcu zabiłem dziada za pomocą kill -9, a po starcie magicznie wszystko zadziałało.

Konfigurowanie WP

Wpisałem z palca do wp-config.php
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'root' );
define( 'DB_PASSWORD', '????' );

Potem uruchomiłem http://nafisa.blogsite.org:8080/wp-admin:

Nazwa bloga: pinkaccordions
User: tomek

## Plugins
## NextGen do tworzenia galerii zdjęć
https://pluginarchive.com/wordpress/nextgen-gallery
https://downloads.wordpress.org/plugin/nextgen-gallery.3.5.0.zip

## Nie podoba mi się ten Gutenberg
## Classic editor vs Gutenberg
https://downloads.wordpress.org/plugin/classic-editor.1.6.zip

Nextgen nie działa (dokładniej upload z dysku nie działa), bo brakuje mu dwóch modułów:

sudo apt-get install php-xml php-gd
sudo service apache2 restart

Gotowe i działa tutaj

url | Tue, 26/01/2021 08:44 | tagi: , ,
Aktualizacja R w Debian 10 (Buster)

R w Debianie (wersja 10) jest w wersji 3.5:

> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 10 (buster)

other attached packages:
[1] rmarkdown_1.17 ggplot2_3.2.1  ggthemes_4.2.
Opis aktualizacji do wersji 4 jest tutaj. Trzeba dodać deb http://cloud.r-project.org/bin/linux/debian buster-cran40/ do /etc/apt/sources.list:
## https://cran.r-project.org/bin/linux/debian/#debian-buster-stable
## For a backport of R 4.0.1 to buster, please add
## deb http://cloud.r-project.org/bin/linux/debian buster-cran40/  
## /etc/apt/sources.list on your computer.
##
apt update

błąd...

## https://unix.stackexchange.com/questions/559977/not-able-to-install-latest-r-statistical-package-in-debian-stable
apt-key adv --keyserver keys.gnupg.net --recv-key FCAE2A0E115C3D8A
apt update
apt install -t buster-cran40 r-base

## Jako root
update.packages(lib.loc="/usr/local/lib/R/site-library", ask = FALSE,
  checkBuilt = TRUE, Ncpus = 16)

>  sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 10 (buster)

Wszystko działa do tej pory. Instaluję więcej pakietów:

install.packages("devtools")

Znowu błąd. Trzeba doinstalować pakiet libgit2-dev:

apt install libgit2-dev

install.packages("dplyr")
install.packages("tidyverse")
install.packages("ggthemes")
install.packages("bookdown")
install.packages("ggpubr")
install.packages("ggpubr")
install.packages("ggforce")
## or install.packages(c("ggpubr", "ggforce"))

Na sam koniec się okazuje, że pandoc (w wersji 2.2.1) stał się out-of-sync:

/usr/lib/rstudio/bin/pandoc/pandoc --version
pandoc 2.3.1
/usr/bin/pandoc --version
pandoc 2.2.1
## Po prostu
mv /usr/bin/pandoc /usr/bin/pandoc_2.2.1
ln -s /usr/lib/rstudio/bin/pandoc/pandoc /usr/bin/pandoc

url | Sun, 27/12/2020 19:25 | tagi: ,
Instalowanie ggforce

Nie szło zainstalować (pakiet R) ggforce na raspberri, bo kompilacja kończyła się zwisem komputera. Coś mnie wreszcie tknęło, że problem może być związany z małą ilością pamięci

free
              total        used    
Mem:         948304      109108 
Swap:        102396       48680

swapon --show
NAME      TYPE SIZE  USED PRIO
/var/swap file 100M 47,6M   -2

Nie wiem kto wymyślił ten 100Mb swap, ale to bez sensu.

## tworzę drugi swap 
dd if=/dev/zero of=/var/swap.img bs=1024k count=1000
mkswap /tmp/swap.img
swapon /tmp/swap.img
free

Teraz ggforce się bezproblemowo instaluje.

## Usuwanie
swapoff -v /tmp/swap.img
sudo rm /tmp/swap.img
url | Mon, 14/12/2020 17:26 | tagi: ,
Nagrywanie ekranu

W Linuksie sprawa prosta: recordmydesktop, ale ja potrzebuję też pokazać jak coś wykonać w Windows. Programów jest dużo: ten wbudowany w Windows10 nagrywa nawet OK, ale tylko okno, no a ja potrzebuję cały pulpit; komercyjny recmaker jest też OK, ale (zawsze jest jakieś ale w Windows) w wersji free nagrywa tylko 120 sekund.

W końcu instaluję OBS Studio; dość kobylaste, ale robi wszystko co trzeba. Konfiguruję go, że Alt-R zaczyna nagrywanie a Alt-S kończy.

url | Wed, 09/12/2020 03:38 | tagi: , ,
Clone Garmin settings to another unit

Copy settings from #1 unit

Connect unit via USB. Copy the files from the Settings, Elevations, and Sports folders. Copy the Device.fit file from the Garmin folder.

Copy settings to #2 unit

Connect unit via GPS and copy the backup files into the same folders on it. Put Device.fit into Garmin, Settings.fit into the Settings folder, Elevations.fit into the Elevations folder, and Cycling.fit into the Sports folder.

All settings and menu configurations will now be available in #2 unit, saving you lots of time recreating them from scratch. Probably works with all Garmin Edge units (tested on 500 series).

url | Tue, 08/12/2020 00:27 | tagi: ,
Vegan Pumpkin Kibbeh z nadzieniem z ciecierzycy orzechowej

Potrawa z dyni więc spróbowałem zrobić (przepis stąd)

Najpierw trzeba zrobić aż trzy przyprawy

Przyprawa 7 przypraw

Składniki: 1/2 szklanki mielonego czarnego pieprzu; 1/2 szklanki kminku mielonego (cumin); 1/2 szklanki papryki (łagodnej); 1/4 szklanki mielonej kolendry; 1/4 szklanki mielonych goździków; 4~łyżeczki mielonej gałki muszkatołowej; 4~łyżeczki mielonego cynamonu; 2~łyżeczki mielonego kardamonu. Wykonanie: zmieszaj i przechowuj w słoiku

Przyprawa Kamouneh Spice Blend [KSB]

Składniki: 2 łyżki nasion kminku; 1 łyżka suszonych płatków róży; 1 łyżka ziaren czarnego pieprzu; 2 łyżeczki suszonego majeranku; 2 łyżeczki suszonej bazylii; 1 łyżeczka suszonej mięty; 1/2 łyżeczki cynamonu; 1 łyżka 7 przypraw; 1 łyżeczka soli. Wykonanie: zmiel w blenerze do średniej granulatury. Przechowuj w lodówce lub w zamkniętym słoiku.

Mieszanka Kamouneh na kibbeh [KK]

Składniki: Skórka 1 pomarańczy; 1 mała czerwona cebula; 1/2 białej cebuli; 1/4 szklanki świeżej mięty; 1/4 szklanki świeżej pietruszki; 1/4 szklanki świeżej bazylii; 1 łyżka suszonego majeranku; 1 łyżka suszonej mięty; 3 łyżki przypraw KSB; 1 łyżka 7 przypraw; 2 łyżeczki soli; 2 łyżeczki mielonego cynamonu; 1 łyżeczka pieprzu czarnego; 1 łyżeczka białego pieprzu; 1/2 ptasiego oka chili (ostrej papryki); 1 szklanka dobrej pszenicy Wykonanie: Cienko obrać pomarańczę (w miarę możliwości unikając białego miąższu) i dobrze zmiksować w robocie kuchennym na drobną konsystencję. Następnie dodaj cebulę, wszystkie świeże zioła i przyprawy oraz sól i zmieszać. Na koniec dodaj drobny bulgur i wszystko razem zmiksuj. Przechowuj w lodówce.

To mi nie wyszło przyznam Zamiast mieszanki wyszła gliniasta ciapa bo ugotowałem kaszę a wygląda że ma być surowa. O tyle mieszanka jest istotna że aż 1,5 szklanki jest dodawana do nadzienia i spodu.

Nadzienie

Składniki: 4 cebule pokrojone w paski; 1/4 szklanki zwykłej oliwy z oliwek; 250 g ugotowanej ciecierzycy, odsączonej; 1 łyżeczka suszonej kolendry; 1/2 łyżeczki kurkumy; 1/2 łyżeczki czarnego pieprzu; 1 łyżeczka mieszanki KSB; 1 łyżeczka 7 przypraw; 1/2 łyżeczki mielonego cynamonu; 2 łyżki sumaka; 3 łyżki melasy z granatów (do dostania na Allegro na przykład); 100 g grubo zmiażdżonych orzechów włoskich; 1/2 szklanki mieszanki KK; 1/2 łyżki soli

Wykonanie: Cebulę pokrój w cienkie paski. Na szerokiej, głębokiej patelni dodaj 1/4 szklanki oliwy z oliwek i usmaż na złoty kolor (20 minut) mieszając.

Dodaj odsączoną, gotowaną ciecierzycę, suszoną kolendrę, kurkumę, czarny pieprz, 7 przypraw i 1/2 łyżki soli i smaż przez kolejne 10 minut na małym ogniu

Dodaj orzechy włoskie, sumak, melasę z granatów i 1/2 szklanki mieszanki kamouneh. Smaż jeszcze przez kilka minut. Przykryj i odłóż na bok...

Spód/wierzch

Składniki: 1,5 kg dyni obranej na kawałki; 2,5 szklanki delikatnej pszenicy bulgur; 1/2 szklanki posiekanej świeżej kolendry kolendry; 2 łyżki mąki pszennej; 1 szklanka mieszanki KK; 1 łyżka soli; Mała miska oleju roślinnego

Wykonanie: Obierz dynię i pokrój na 2-calowe kawałki. Przełóż do garnka i zalej wodą. Gotuj przez około 45 minut.

Odcedź dynię na durszlaku i przełóż do dużej miski, dodaj kaszę bulgur, mąkę, mieszankę kamouneh, posiekaną kolendrą i łyżką soli.

Zetrzyj wszystkie składniki za pomocą tłuczka do ziemniaków, aż nie będzie dużych grudek dyni.

Wykonanie: Dyniowy kibbeh

Rozgrzej piekarnik do 200C

Posmaruj spód szerokiego naczynia do pieczenia niewielką ilością oleju roślinnego, a następnie nałóż 1/2cm warstwę spodu na dno naczynia.

Nałóż warstwę nadzienia i wygładź łyżką.

Nałóż warstwę spodu dyniowej, od czasu do czasu zanurzając dłoń w oleju, aby uniknąć sklejania się i wygładzić górną warstwę

Za pomocą ostrego noża pokrój w kwadraty. Następnie skrop cienką warstwą oleju roślinnego.

Piec przez około 40 minut, aż się zarumieni.

Podawać z zieloną sałatą lub jogurtem i ogórkiem.

Moje uwagi dotyczące przepisu:

Jak dla mnie trochę za dużo pieprzenia się. Bym uprościł: farsz to generalnie cebula+orzechy+ciecierzyca+ i pół szklanki KK. Spód to dynia+kasza+trochę kolendry i szklanka KK.

Problem jest z KK bo jest nietrwałe więc bym przepis zmodyfikował: posiekanie świeże zioła + cebula + kasza + pieprz + cynamon + papryka. Wymieszać, żadnych blenderów... Resztę można sobie darować

KSB i 7S jest w miarę proste (płatki róży można sobie darować)

Upiekłem na papierze żeby się nie pierniczyć z myciem formy później.

Są inne warianty tej potrawy, prostsze z innym nadzieniem.

url | Sat, 05/12/2020 03:43 | tagi: , , , ,