Tag 360/2016: Geschafft

Merke: Benutze an den Weihnachtsfeiertagen nicht das Kommunikationsmittel SMS, sondern greif einfach mal zum Telefon.

Ansonsten: FreeDOS steht jetzt in Version 1.2 bereit. Ja, tatsächlich, fantastisch. Allerdings passt das DOS von heute nicht mehr auf eine 1,44 MB Floppydisk, sondern eher auf einen 400 MB USB-Stick.

Und: Im überall unter der Haube eingesetzten PHPMailer klafft unterhalb der Version 5.2.18 eine kritische Sicherheitslücke.

 

Tag 359/2016: Dies und das

Zum Programmieren höre ich gerne Musik von Necrophagist oder Black Tongue. Heute bin ich auf ähnlich angenehme Musik gestoßen, die mich nicht ablenkt bzw. bei der Konzentration hilft: Mixes von Matthew Herbert. Sein /ˈɜːvɹə/ ist groß, ich beziehe mich auf die house-igen Mixe ohne zu große Experimente.

Matthew Herbert auf YouTube.

Ansonsten: Noch schnell ein WordPress-Child-Theme von Twentysixteen gemacht, bei dem ich die schwarzen Trauerränder der Basis-Farbvariante entfernt habe. Ganz banal, nur die Body-Farbe auf #fff geändert und bei den entsprechenden Media-Queries überschrieben. Die 21px Seitenrand hab ich mal vorerst stehen lassen.

Hätte man auch über die Extra-CSS-Angaben machen können, aber ein Child-Theme an sich schadet ja sowieso nicht.

Tag 358/2016: Weihnachtsbenefizkonzert 2016 im Theater Regensburg

Mit Mitgliedern des Theaters Regensburg und dem Cantemus-Chor Regensburg. Einige Bekannte getroffen. Beeindruckende Solisten-Stimmen gehört. Kurzweilig & unterhaltsam. Eintritt und Spenden gehen an den Strohhalm e.V., „Donaustrudl“, Autonomes Frauenhaus und Frauennotruf Regensburg e.V.

🎄🎄🎄

Tag 357/2016: Tränen gelacht

Beim Lesen von Javascript: 2016 in Review von Craig Buckler auf SitePoint bin ich auf diesen Post gestoßen: How it feels to learn Javascript in 2016.

Meine Güte, was hab ich Tränen gelacht.

Es beginnt schon mit

No JavaScript frameworks were created during the writing of this article.

Ok, ein alter Witz, aber immer wieder gut.

Look, it’s easy. Code everything in Typescript. All modules that use Fetch compile them to target ES6, transpile them with Babel on a stage-3 preset, and load them with SystemJS. If you don’t have Fetch, polyfill it, or use Bluebird, Request or Axios, and handle all your promises with await.

Einfach nur gut. Unbedingt lesen.

Tag 355/2016: Mitternachtskuchen

UPDATE 2017: The meat times are over. I was wrong.

Um kurz nach Mitternacht einen Kuchen gebacken (Beitragsbild: Symbolfoto, von T. Heftiba). Um ca. 1:30 Uhr war er fertig.

Notiz an mich: Um in Zukunft unnötige Bedenken zu vermeiden, die Butter in flüssiger (und nicht nur weicher) Form zu den Grundzutaten fügen. Vermutlich haben die relativ kleinen, nicht ganz wegzumixenden Butterstücke aber für die gute Fluffigkeit gesorgt.

Weil ich den Kuchen irgendwann rausnehmen wollte bzw. musste, er aber trotzdem noch zu feucht zu sein schien (Wackel- und Zahnstochertest), habe ich mich experimentiell für ein „Auskühlen“ (eher im Sinne von Souse-vide-Weiterbacken, wenn man das so sagen darf) im ausgeschalteten und halb-geöffneten Backofen entschieden. Hat funktioniert. Wurde fest, blieb saftig.

Alles Gute zum Geburtstag, Geburtstagskind!

Tag 354/2016: 1 Mal hinschauen, sofort geblockt

Ich schau mir gerade die WHOIS-Einträge aller IP-Adressen an, die auf einem meiner Hobby-VPS in die „ufw-blocker“-Falle getappt sind.

„ufw-blocker“ ist ein einfacher fail2ban-Filter, der in der syslog-Datei nach von der ufw-Firewall geblockten Einträgen sucht:

[Definition]
failregex = ^.*\[UFW BLOCK\] .*SRC=<HOST>.*$

Wahlweise nach einem oder zwei Versuchen (z.B. Tests auf Telnet-Port, allgemeine Port-Scans etc.) werden erneute Anfragen von der entsprechenden IP-Adresse für ein paar Stunden abgewiesen. Macht mit zunehmendem IPv6 natürlich irgendwann keinen Sinn mehr, aber aktuell gehts noch).

Damit man sich nicht selbst aussperrt bzw. Leute, die Zugriff haben dürfen, ist die „ignoreip“-Direktive mit diversen IP-Adressen gewhitelisted.

Als „banaction“ verwende ich immer die effiziente „iptables-ipset-proto6-allports.conf“, in der eine minimal angepasste Anweisung die IP-Adressen in die raw-Tabelle schiebt:

actionstart = ipset create fail2ban-<name> hash:ip
 iptables -t raw -A PREROUTING -m set --match-set fail2ban-<name> src -j DROP

Dadurch wird das Connection-Tracking umgangen; Informationen, dass die IP z.B. erneut geblockt wurde, interessieren mich im Logfile nicht – sondern rohe Geschwindigkeit beim Ablehnen. Eine Angewohnheit nach DDoS-Vorfällen.

Die IP-Adressen liste ich dann z.B. via „ipset list fail2ban-ufw-blocker“ auf:

Name: fail2ban-ufw-blocker
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 896
References: 1
Members:
211.36.yyy.xxx
42.117.yyy.xxx
223.241.yyy.xxx
59.127.yyy.xxx
31.203.yyy.xxx
109.49.yyy.xxx
61.240.yyy.xxx
220.134.yyy.xxx

Und aus den WHOIS-Einträgen ergibt sich u.a. Seoul, Vietnam, 2x China, Kuwait, Lissabon, Taiwan…

The usual visits.

Tag 353/2016: 7 Pakete

Klingeling. DHL bringt ein Paket. Und ob ich für unsere Nachbarn auch was annehmen könnte? Klar.

4 Pakete.

Klingeling. Halbe Stunde später. Nochmal DHL. Ob ich für unsere Nachbarn nochmal was annehmen könnte? Klar.

3 Pakete.

Insgesamt also 7. Große, kleine, viele. Paketannahmerekord des Jahres. Weihnachten kommt!

Später zum Dank mit einer Flasche Bier beschenkt worden. Da war’s aber noch zu früh für. Trotzdem Danke!

Tag 352/2016: Limetten-Zitronen-Tarte

UPDATE 2017: The meat times are over. I was wrong.

2002 erstmals an der Limetten-Zitronen-Tarte versucht, was aus Mangel an Geduld, also Ungeduld, im Ergebnis eine zuckrige Mürbteigsuppe wurde.

Heute Teig ruhen lassen, dann ins Gefrierfach, dann mit Eiweiß-Wasser-Lösung bepinselt, vorgebacken. Mittendrin ist die Tarte zwar massiv aufgegangen (daher die Risse), aber insgesamt: Mission accomplished ✅

Samtene Konsistenz. Mürbteigboden ok (könnte knuspriger sein).

Das Loch im Bild stammt aus einem Anrichte-Experiment mit einer Plätzchenform.