sobota, 27 marca 2021

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...

wtorek, 26 stycznia 2021

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

niedziela, 27 grudnia 2020

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

poniedziałek, 14 grudnia 2020

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

wtorek, 8 grudnia 2020

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.

poniedziałek, 7 grudnia 2020

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).

piątek, 4 grudnia 2020

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.

wtorek, 1 grudnia 2020

Przypadek Pablo Matery

Pablo Matera 27 lat, do niedawna kapitan reprezentacji Argentyny w rugby. W 2012 roku miał 18 lat, pstro w głowie i pisał głupoty nt Murzynów i Boliwijczyków (wygląda że Argentyńczycy nie lubią Boliwijczyków BTW.) Niedawno ktoś odkopał jego wpisy z Twittera sprzed 9 lat. Jest afera (google: Pablo+Matera+racist)... Na razie nie jest już kapitanem, pewnie za chwile w ogóle go nie będzie... UAR czyli związek Rugby w Argentynie się tłumaczy i przeprasza, czyli stara rewolucyjna procedura została wdrożona: samokrytyka a potem i tak w piach...

Wygląda, że już niedługo standardową procedurą przy angażu zawodnika (ogólnie pracownika, bo czemu tylko ma dotyczyć sportowców) będzie staranna weryfikacja jego śladu w Internecie, powiedzmy od ukończenia 7 roku życia. Coś jak RuSHA (Główny Urząd Rasy i Osadnictwa SS) w 3 Rzeszy, tyle, że nie będą badać krwi, ale myśli delikwenta... Ustalą, że na przykład wieku 12 lat coś tam skrobnął nieprawomyślnego w temacie trans -- no niestety kontraktu z panem nie możemy podpisać... Sam pan rozumie że jest to w takiej sytuacji absolutnie niemożliwe...

czwartek, 26 listopada 2020

Manodona

Jednego dnia zmarli Maradona, Christophe Dominici oraz Zenon Plech. A przynajmniej jednego dnia media o tym poinformowały. Plech to lokalna polska gwiazda żużla. Dominici gwiazda francuskiego rugby, uczestnik słynnego meczu z Nową Zelandią w półfinale pucharu świata w 1999r. Maradona to wiadomo i (prawie) każdy czuł się w obowiązku poinformować o tym wydarzeniu swoją publiczność, nawet tacy co mają po 10 folowersów na Twitterze.

Dla mnie Maradona to oszust przede wszystkim i prymityw (w przeciwieństwie do Pelego na przykład). Każdy piłkarz pewnie ma na sumieniu faul w ważnym meczu, typu bramka ze spalonego, ale nie każdy popełnił faul aż tak oczywisty i bezczelny. Że to było dawno to większość nie kojarzy, ale wszyscy na stadionie będący dostatecznie blisko widzieli rękę, bo jak nie zobaczyć czegoś tak ordynarnego za wyjątkiem sędziego głównego + liniowego. Tak się dziwnie złożyło...

W piłce kopanej na turniejach o Puchar Świata jest (była?) w ogóle taka IMO patologia, że sędziują ludzie często słabi, bo z całego świata. Na co dzień sędziuje taki as ligę w Gwatemali dajmy na to, a raz w życiu będzie sędziował Niemcy vs Meksyk. Ten konkretny mecz sędziowali Tunezyjczyk + Bułgar (liniowy). Inne ćwierćfinały sędziowali wtedy: DDR-owiec, Rumun i Kolumbijczyk. No same mocne ligi na co dzień...

El mano to po hiszpańsku ręka jest właśnie. Na zdjęciu rzekomo kontrowersyjna sytuacja. Ona by była kontrowersyjna gdyby wepchnął piłkę w tłoku, albo byłaby wątpliwość czy ręką czy barkiem. Tak bywa... Ale tutaj? Dwóch ludzi skacze do piłki, i wszyscy widzę że ten co ma 160 w kapeluszu przeskakuje bramkarza. No ludzie...

środa, 25 listopada 2020

Szybkie tworzenie formularzy w Google

Szybkie bo za pomocą google apps script (GAS).

Nie miałem do wczoraj świadomości że można automatyzować różne rzeczy korzystając z narzędzia pn Google Apps Script. Konkretnie zaczynamy tu. A nawet konkretniej https://script.google.com/home/my. Oczywiście trzeba być zalogowanym żeby link zadziałał.

No więc kliknąłem nowy projekt a potem zmodyfikowałem przykład z samouczka bo zawierał wszystko co potrzeba:

// Create a new form, then add a checkbox question, a multiple choice question,
// a page break, then a date question and a grid of questions.
function convertToForm(){
var form = FormApp.create('New Form')
form
.setTitle('Badanie wizerunku i marki)
.setDescription('Badamy wizerunek i markę')

 form.addPageBreakItem()
    .setTitle('Część 1/3');               
                
form.addCheckboxItem()
   .setTitle('What condiments would you like on your hot dog?')
   .setChoiceValues(['Ketchup', 'Mustard', 'Relish'])

form.addMultipleChoiceItem()
    .setTitle('Do you prefer cats or dogs?')
    .setChoiceValues(['Cats','Dogs'])
    .showOtherOption(true);
  
form.addPageBreakItem()
    .setTitle('Część 2/3');

form.addDateItem()
    .setTitle('When were you born?');

form.addGridItem()
    .setTitle('Rate your interests')
    .setRows(['Cars', 'Computers', 'Celebrities'])
    .setColumns(['Boring', 'So-so', 'Interesting']);
  
form.addScaleItem()
     .setTitle('Scale item')
     .setLabels('zły', 'dobry')

form.addTextItem()
     .setTitle('Uwagi')
     .setRequired(true)

form.addMultipleChoiceItem()
    .setTitle('Płeć')
    .setChoiceValues(['K','M'])
    .setRequired(true);

form.addTextItem()
     .setTitle('Wiek')
     .setRequired(true)

Logger.log('Published URL: ' + form.getPublishedUrl());
Logger.log('Editor URL: ' + form.getEditUrl());
}

Następnie Save. Uruchamiamy przez Run/Run function. Jeżeli nie będzie błędów pod adresem https://docs.google.com/forms/u/0/ pojawi się formularz. Jak coś nie pasuje, to można resztę doklikać. Długie formularze w ułamku tego czasu który jest potrzebny do ręcznego wklikania da się zrobić...

Farsy ciąg dalszy

Jak wiadomo w wyniku działań pewnego upierdliwego 19 latka okazało się, że sprawozdawczość MinZdrowia/GiS to farsa. Zadeklarowano w urzędzie wzw/ z tym nowe otwarcie: stary system zamknięto (he, he) nowy wystartował 23.11.2020. Przy okazji dodano do puli zakażonych 22594 przypadków wcześniej nie uwzględnionych (około 2,5%). Zatem oficjalnie 23-11-2020 było 10139 zakażeń na stronie MZ; ale wszyscy inni (ECDC na przykład) wpisują 32733 (czyli 10139 + 22594) no bo jak inaczej. W sumie to nawet ma sens, bo przecież baza odpowiada zakażeniem zarejestrowanym a nie, że tak powiem nabytym. Skoro je zarejestrowano 23-11-2020 to tyle ma być...

Pozostaje problem jak to rozliczyć na województwa. No więc ja chciałem rozliczyć tak, że do zakażeń z 23-11-2020 dodam te 22594 w proporcji do wielkości zakażeń z 23-11-2020. Ściągnąłem nowe-dobre dane ze strony wykaz-zarazen-koronawirusem i zacząłem od zsumowania zakażeń w województwach. Się okazało, że jest to inna liczba niż 10139. Kuźwa. W pliku z 24-11-2020 to samo...

No więc miało być lepiej a wyszło tak samo. Uprawnione jest w tym momencie pytanie czy ludzie nie potrafiący liczyć muszą akurat walczyć z pandemią i pracować w GiS/MZ? Załączam rysunki, żeby nie było że zmyślam. Liczenie zakażeń/zgonów wg województw na razie zawieszam skoro nie bardzo wiadomo co liczyć...