f.zz.de
archives / 2020 /

11

Maskenpflicht

Posted Sun Nov 1 13:14:48 2020 Florian Lohoff in

Auf dem Wochenmarkt gilt jetzt Maskenpflicht. Ich befürchte das das für die Ausbreitung leider nichts bringt.

Social distancing

Posted Mon Nov 2 09:04:52 2020 Florian Lohoff in

Seit heute gilt der neue "Lockdown" den ich ja auch schon im Sommer erwartet hatte. Die Katze scheint das Memo nicht bekommen zu haben. Das erste Mal das sie sich einfach so auf meinem Schoß zusammenrollt. Und wie bekomme ich jetzt meinen Kaffee?

CO2 Ampel

Posted Mon Nov 2 09:38:12 2020 Florian Lohoff in

Endlich sind ja die CO₂ sensoren gekommen so das ich mit den Kindern CO₂ Ampeln für die Schulklasse basteln kann. Die Theorie ist das sich das Aerosol genau wie das CO₂ in der Luft akkumuliert und man eben anhand des CO₂ dann entscheiden kann wann gelüftet werden muss. Das ganze in einen Einfachen Bilderrahmen und das ganze sieht sehr hübsch aus.

Die Idee stammt von Guido Burger und der IoT Werkstatt, die fertigen Bausätze auf tindie waren nur immer Ausverkauft. Aber bis auf den Sensor hatte ich alles - also dann halt kompletter selbstbau.

Maildir vs. mdbox

Posted Fri Nov 6 18:29:00 2020 Florian Lohoff in

I just finished converting the largest mailbox i had. Its the service for wasteland.rfc822.org which is a receive only, no register, mail service for any anoying "we need to have your email address" services. The mailbox contained ~8.5 Million emails, in 85000 folders as Maildirs, already gzip compressed reaching back to ~2011.

The conversion with dsync took around 4 days in background on a machine with only rotating rust.

And now - compare the space savings - mostly in metadata:

root@pax:/var/vmail/...# du -sk Maildir/ mdbox/
121387420       Maildir/
44809380        mdbox/

I guess removing the old Maildir will take another 2-3 days.

One issue i found was that mdboxes need more memory opening and my imap process kept dying because the vsz was overwhelmed.

I need to increase the limit:

service imap {
  vsz_limit = 512M
}

Jung und Naiv: Lauterbach

Posted Sat Nov 7 01:18:31 2020 Florian Lohoff in

Karl Lauterbach ist neben Christian Drosten einer der maßgeblichen Politikern bei der Coronabekämpfung. Aber wie schön es ist einem solchen Medizin-Nerd zuzuhören.

Wenn das vorbei ist - Klebt ihm ein Bundesverdienstkreuz an.

WIFI and network namespaces

Posted Wed Nov 11 12:18:22 2020 Florian Lohoff in

Just to document this. And probably somebody else finds this useful. This is a way to use an redundant Wifi Module and put it into a seperate namespace and connect it somewhere. Now one can monitor e.g. the Wifi Performance without beeing actually dependent on it. Next coming up would be Smokeping.

auto wlp2s0
iface wlp2s0 inet manual
        pre-up ip netns add freifunk || true
        pre-up iw phy phy0 set netns name freifunk || true
        pre-up ip netns exec freifunk ip link set wlp2s0 up || true
        pre-up ip netns exec freifunk iw dev wlp2s0 connect Freifunk || true
        pre-up ip netns exec freifunk dhclient wlp2s0 || true
        down ip netns exec freifunk ip link set wlp2s0 down
        down ip netns exec freifunk iw phy phy0 set netns 1
        down ip netns del freifunk

23 year old Bug found in LWP::Useragent

Posted Thu Nov 12 13:41:56 2020 Florian Lohoff in

Finding a decade old bug in some piece of Software which is used in millions of projects is not an every day event and i was astonished nobody really found this.

I was trying to implement HTTP Digest auth based on AnyEvent::HTTP which is an asynchronous event framework. So i had a look at how LWP::Useragent (Now libwww-perl) handles this.

And i found this piece of code. I was not able to find the corresponding RFC for the message-digest request parameter but it turned out, its broken anyway.

So this code supposedly calculated some kind of MD5 on the full PUT/POST request body. But it turns out there is a md5->reset just before exporting the md5 message digest. So the md5 object returns the null md5 digest as the internal state gets resetted.

This code wastes some cpu cycles and cache hits for generating a complicated md5 hash on the request body, and then drops it to present a null md5.

 63     if($request->method =~ /^(?:POST|PUT)$/) {
 64         $md5->add($request->content);
 65         my $content = $md5->hexdigest;
 66         $md5->reset;
 67         $md5->add(join(":", @digest[0..1], $content));
 68         $md5->reset;
 69         $resp{"message-digest"} = $md5->hexdigest;
 70         push(@order, "message-digest");
 71     }

I had a quick look at the git repository for LWP::Useragent which shows that the line has been there since the first import which was in 1997.

98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 63)     if($request->method =~ /^(?:POST|PUT)$/) {
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 64)         $md5->add($request->content);
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 65)         my $content = $md5->hexdigest;
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 66)         $md5->reset;
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 67)         $md5->add(join(":", @digest[0..1], $content));
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 68)         $md5->reset;
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 69)         $resp{"message-digest"} = $md5->hexdigest;
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 70)         push(@order, "message-digest");
98c2a2729 (Gisle Aas      1997-12-01 19:12:06 +0000 71)     }

I guess the whole code for PUT/POST handling can be removed as the message-digest is not mentioned in the default Digest Auth RFCs, nor has it ever contained a valid value.

Here is the Debian bugreport #974572

Ratsherr Paulo da Silva

Posted Fri Nov 13 14:14:29 2020 Florian Lohoff in

Mein sehr guter Freund Paulo da Silva ist seit gestern offiziell ein sehr guter Ratsherr der Stadt Warendorf. Natürlich für die sehr gute Partei "Die PARTEI".

Wählt sie, denn sie ist sehr gut.

Original nur mit Einweggrünzeug.

EBike Motor

Posted Mon Nov 16 21:55:43 2020 Florian Lohoff in

Ich Frage mich ja warum in einem EBike Motor SO viel Elektronik sitzt. Das bisschen Leistungselektronik macht ja nur 20% aus.

Co2 Ampel in der Schule

Posted Fri Nov 20 10:53:32 2020 Florian Lohoff in

Die Co2 Ampel ist in der Schule angekommen und wird auch schon Aktiv für das bedarfsgerechte Lüften verwendet. Lob gab es für beide Kids bis hoch zum Schulleiter.

DJ Shadow - What does your soul look like

Posted Tue Nov 24 18:29:09 2020 Florian Lohoff in

Musik des Tages. DJ Shadow von dem ich auch noch wirklich auf CD Musik habe und den ich immer schon ganz gut fand. Heute Spontan bei Spotify an mir vorbei gelaufen und musste direkt nachsehen wer das ist. Und siehe da ... Altbekannte:

Pilze wachsen

Posted Wed Nov 25 20:26:51 2020 Florian Lohoff in

Es klappt. Nach 19 Tagen kommen bei mir kleine Pilzköpfe aus dem Pilzpaket. Sehr witzig. Und die wachsen so schnell das man fast eine Kamera davor stellen müsste.

Abgelenkt

Posted Thu Nov 26 11:13:20 2020 Florian Lohoff in

Ich bin heute im Homeoffice ein bisschen abgelenkt. Direkt über dem Monitor turnt jemand Rum und macht den Baum klein. Von 6 Stück kommen 2 weg. Sehr schade.

Homeoffice von oben

Posted Thu Nov 26 11:21:59 2020 Florian Lohoff in

Neue Luftbilder vom Land NRW aus März 2020. Wie man sieht mache ich Homeoffice. Das Auto steht immer noch da. Seltsames Jahr bisher.

CO2 im Homeoffice

Posted Thu Nov 26 12:52:00 2020 Florian Lohoff in

Nach einem Vormittag mit geschlossener Tür bin ich bei 2000ppm

Schalter oder Schalter

Posted Sun Nov 29 11:32:26 2020 Florian Lohoff in

Wie cool kann ein Schalter sein: