Mittwoch, 16. Juni 2021

CO2-Ausstoss der Schweiz im Vergleich zur Welt

2017 hat die Schweiz 47.96 Millionen Tonnen CO2 ausgestossen (Quelle). 2016 machte das 4.1 Tonnen pro Kopf aus (Quelle).

Gewisse Leute fokussieren ausschliesslich auf den Pro-Kopf-Ausstoss, was ich in der gesamten Diskussion aber als zu einäugig empfinde. Deren Argument lautet dann weniger „Senken wir den weltweiten CO2 nachhaltig, und vor allem spürbar“, sondern viel eher „Was gibt uns Schweizern das Recht, so viel mehr CO2 auszustossen als ein Einwohner in Land X?“.

Zum Vergleich: Spitzenreiter China stiess 2017 10’400 Millionen Tonnen CO2 aus (29.7 Prozent des weltweiten Gesamtausstosses, und das 216-fache der Schweiz), gefolgt von den USA (5’320 Mio. T.; 13.9%; 110-fache) und Indien (2’300 Mio. T.; 6.9%; 48-fache) (Quelle).

Die am letzten Sonntag zur Abstimmung stehende Gesetzesvorlage hätte eine Reduktion des CO2-Ausstosses auf 27 Millionen Tonnen CO2 bis 2030 verlangt (Quelle). Dies käme fast einer Halbierung unseres Ausstosses gleich. Die Reduktion von knapp 20 Millionen Tonnen CO2 im Jahr entspräche dem CO2 Ausstoss von China — an weniger als einem einzigen Tag. (Um genau zu sein: China stösst pro Tag 28 Millionen Tonnen CO2 aus …) Dies wäre also sprichwörtlich nur ein Tropfen auf den heissen Stein gewesen.

PS: Und wenn Hans-Werner Sinn mit seinem „grünen Paradoxon“ Recht hat, hätten einfach ein oder mehrere andere Länder dieser Welt die von uns „eingesparten“ 20 Millionen CO2 in die Luft geblasen …

Tags: , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Montag, 14. Juni 2021

URLs für Track & Trace-Nummern der Schweizerischen Post (SwissPost)

In den nachfolgenden URLs bitte 99... mit der Track & Trace-Nummer ersetzen:

https://service.post.ch/ekp-web/ui/entry/search/99...
https://www.post.ch/track?formattedParcelCodes=99...

Tags: , , , , ,
Labels: Schweiz

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 6. Juni 2021

PHP-Scripts mit Xdebug profilen

Einleitung: Xdebug: Documentation » Profiling

Hierzu muss man PHP Xdebug auf seinem System installiert haben. Anschliessend lässt man ein PHP-Script folgendermassen laufen:

$ php -d xdebug.profiler_enable=On index.php

Nachdem das Script durchgelaufen ist, findet sich unter /tmp eine Datei im Namensformat cachegrind.out.%ZUFALLSNUMMER%. Bei mir war die Datei satte 140MB gross.

Doch was man nun damit? Zuerst einmal auf den Mac kopiert, dann mit qcachegrind (eigentlich: kcachegrind) analysiert. Dieses installiert man sich mit MacPorts:

# port install qcachegrind

Mittels Spotlight sucht man nach „qcachegrind“ und startet die präsentierte App. Man wählt cachegrind.out.%ZUFALLSNUMMER% und erhält folgendes zu Gesicht:

Tags: , , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 27. Mai 2021

EdgeRouter ER-X wird mit aktiviertem hwnat bei Facetime-Anrufen instabil

Seit einiger Zeit fällt mir auf, dass FaceTime Video-Anrufe von mir (Fiber7, 1 Gbit/s symmetrisch) zu einem Bekannten (upc, mit ein paar 100 MBit/s up- and down, best effort) ruckeln und stocken.

Die Probleme beginnen wenige Sekunden nach der Etablierung des Anrufs. Symptome:

  • Pings von mir aus an die öffentliche IP-Adresse des Bekannten liegen normalerweise im 20-30ms Bereich. Während Facetime-Anrufen ist das in ca. 60-70 Prozent der Fälle weiter so, dann aber kommt es vor, dass die Latenz mehrerer aufeinanderfolgenden Pakete auf bis zu 600ms hochschnellt. Es kommt auch immer wieder vor, dass Ping-Pakete komplett verloren gehen.
  • Smokeping auf die öffentliche IP-Adresse des Bekannten zeigt einen besorgniserregenden Packet Loss.
  • Der Endpunkt eines OpenVPN-Tunnels beim Bekannten vermeldet zur selben Zeit wiederholt folgende Warnungen:
    Thu May 27 21:44:10 2021 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #33668492 / time = (1621559394) Fri May 21 03:09:54 2021 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings

Screenshots:

Die (triviale) Lösung: Auf dem EdgeRouter ER-X mit Firmware v1.10.0 muss das sog. Hardware Offloading (kurz hwnat) deaktiviert werden:

Offizielle Anleitung (CLI), aber dasselbe geht auch über das GUI und den Config Tree: System > Offloading > hwnat = disable.

Das Problem ist im Support-Eintrag Connecting to wireguard on edgerouter messes up outgoing UDP packets #23 beschrieben, mitsamt der Lösung:

If you use a Mediatek device with hwnat your UDP packages might get lost. Currently the only solution is to disable hwnat


UDP re-order problem


With hwnat disabled, the wg0 interface works great and the ER-X routes all my internet traffic out of it just fine, although CPU has much more overhead.

As soon as I enable hwnat, I start seeing problems, but only in certain scenarios, not all. For example, with hwnat disabled, I can use OpenVPN as a client on a local machine. Thus that OpenVPN connection gets routed out through the wg interface first, then on to server. The OpenVPN server shows the endpoint IP of the server ER-X wg is connected to as the OpenVPN client’s IP, not my ISP IP (what I want). As soon as I enable hwnat, this breaks. I can still make the initial outgoing connection and bring up the OpenVPN tunnel, but packets get dropped so that OpenVPN through the wg interface is unusable with hwnat enabled.

Also noticed Apple FaceTime is broken when hwnat is enabled with wg interface. Lots of disconnects and moments of me hearing them but them not hearing me. Again, disabling hwnat fixes it instantly, but again, at the cost of CPU.

Nachtrag

Das Problem ist leider immer noch nicht gelöst. Zuerst einmal scheint die Deaktivierung von hwnat über das Web GUI erst dann zu greifen, wenn man den Router neu startet. Bei mir zeigte das GUI „disabled“ an, doch auf der Kommandozeile erschien folgendes:

$ configure
[edit]
user@ROUTER# show system offload hwnat
 hwnat disable

$ show ubnt offload
IPSec offload module: loaded

HWNAT offload module: loaded

Traffic Analysis    :
  export    : disabled
  dpi       : disabled
    version       : 1.354

Nach dem Neustart dann:

$ show ubnt offload
IPSec offload module: not loaded

HWNAT offload module: not loaded

Traffic Analysis    :
  export    : disabled
  dpi       : disabled
    version       : 1.354

Trotz alledem macht FaceTime weiterhin Probleme.

Via: ERX Hardware Offload won’t load

Tags: , , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. Mai 2021

setlocale: LC_ALL: cannot change locale

Seit ich mein MacBook Air mit M1-Chip und macOS Big Sur verwende, erhalte ich beim Login auf meinen Raspberry Pi 3 über SSH folgende Warnung zu Gesicht:

ssh dashboard
Linux DASHBOARD 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l
Last login: Sat May  8 05:00:24 2021
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

Ursache des Problems: en_US.UTF-8 ist in /etc/locale.gen kommentiert:

$ cat /etc/locale.gen | grep -v "^#"

en_GB.UTF-8 UTF-8

Somit die Datei öffnen, die Zeile mit en_US.UTF-8 suchen, ent-kommentieren, speichern und dann folgenden Befehl ausführen:

# locale-gen

Via: warning: setlocale: LC_ALL: cannot change locale

Beim nächsten Login erscheint die Fehlermeldung nicht mehr.

Tags: , , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 8. Mai 2021

Objektdimensionen in einer STL-Datei anpassen

Stephanie hat während meines Spitalaufenthaltes den bei Gaffuri 3D-gedruckten Halter für unsere Philips Sonicare Diamondclean Zahnbürstenköpfe im Geschirrspüler gewaschen.

Die Hitze und das Wasser haben diesem Stück nicht gut getan (es hat sich verzogen/gewellt), weshalb ich diese Woche ein neues Stück bestellt habe.

Das grösste Problem ist, dass das Objekt in der STL-Datei nicht metrische Dimensionen folgt, sondern auf imperialen Einheiten (also Inches etc.) basiert. Ein Kommentator hat dies auf Thingiverse auch erkannt:

In Cura, when I load the STL the file have these dimensions : 3.5 x 3.5 x 1.8 mm

The correct dimensions are:
Metric: X: 88.9mm Y: 88.9mm Z: 44.45mm
Imperial: X: 3.5″ Y: 3.5″ Z: 1.75″

Quelle: harkor, September 15, 2017

Wie ich gelernt habe, enthält die STL-Datei keine Angabe der verwendeten Metrik, was für mich als Laien absolut nicht nachvollziehbar ist — Baupläne ohne Massstäbe? Wo gibt’s denn das? Und die meisten Software da draussen gehen deshalb davon aus, dass STL-Dateien im metrischen Format daherkommen.

Doch wie skaliere ich das Objekt nun um 2540 Prozent? (1 Zentimeter = 2.54 Inches). Hierzu fand ich Autodesks TinkerCAD STL, eine kostenlose, web-basierte Software zum Bearbeiten von STL-Dateien. Und im Forums-Post Scaling by percentage stand auch gleich die Anleitung, wie ich das Objekt gesamthaft auf die gewünschten 8.9 Zentimeter aufblase.

Beim Hochladen der STL-Datei auf Gaffuris Jellypipe kann man zum Glück vor der Auftragsübermittlung überprüfen, dass die Dimensionen nun korrekt sind:

Tags: , , , , , , , ,
Labels: Shopping

Keine Kommentare | neuen Kommentar verfassen

Samstag, 8. Mai 2021

Jeder Film, in drei Wörtern

When you’re not being challenged practice it. And then when you are being challenged by little things that goes [sic!] wrong so to speak in daily life that tends to happen you might have noticed things don’t always go according to your expectations. Sometimes you miss the bus, or something, or you miss the plane, or something else goes wrong, it tends to happen actually quite a lot; it seems to be part of life.

By the way it’s the reason why people go to see movies because the substructure of every movie that you see examine every movie you see, we could call it, it applies to virtually every movie you see … if … you can examine any movie you see what actually happens in the movie, in fact I can describe every movie to you in three words: „something goes wrong“. Because there wouldn’t be a movie otherwise, nothing would happen, nobody would evolve. Everything would be dead.

But in your own life you complain. So you see movies to see something go wrong but when it happens in your own life you complain. […] But so the strange thing is things are not meant not to go wrong; going wrong is part of the totality of how life experiences itself. If things wouldn’t go wrong it would be very uninteresting and nobody would evolve through the challenges that they encounter.

And in a good movie the protagonist or the character changes as he or she faces that which goes wrong in the movie. In a bad movie, the character does not go through any changes, that which goes wrong is only solved on an external level. In the end the bad guy is killed, and nothing else matters.

So something going wrong is part of how life experiences itself. And again you can then bring awareness to that so that you don’t always fall into reactivity when something goes wrong but you immediately align with it. Or when people behave in a way that you find offensive or they behave in a way that they offensive or they behave in a way that they create difficulties for you because you wanted this and they want something else, you don’t. You don’t have to go into hostility or opposition.

Quelle: Living with Meaning, Purpose, and Wisdom in the Digital Age | Eckhart Tolle | Talks at Google

Die Ausführungen über Herausforderungen beginnen ab ca. 50 Minuten. Sehenswert!

Nachtrag

In dieselbe Kerbe schlägt das folgende Zitat:

„Happiness is not the absence of problems, it is the ability to deal with one.“
—Steve Maraboli

Via: ja_._si @jasi91362366‬⁩

Tags: ,
Labels: Gesundheit

Keine Kommentare | neuen Kommentar verfassen

Samstag, 10. April 2021

Dank Selbsttests wieder ein Gesellschaftstier?

Und dank der jetzt verfügbaren Selbsttests habe ich diese Woche einen äusserst gemütlichen Abend im Freundeskreis verbracht. Der erste seit wohl einem Jahr.

Quelle: Selbsttest zum Wochenende: Entspannter durch die Pandemie

Interessant, wie unterschiedliche Leute die Pandemie unterschiedlich erleben. Ich habe seit dem ersten SARS-CoV-2 Fall in der Schweiz mehrere dutzend gemütliche Nachmittage/Abende im Freundeskreis verbracht.

PS: In mir macht sich das ungute Gefühl breit, dass sehr bald durch die Impfungen und Selbsttests verursachte Sorglosigkeit meiner Mitmenschen der wirkliche Wahnsinn erst beginnt …

Tags: , , ,
Labels: Gesundheit

Keine Kommentare | neuen Kommentar verfassen

Samstag, 10. April 2021

Was gibt der DELL P2421DC über USB-C als Ladeleistung her?

Vor einigen Wochen habe ich einen DELL P2421DC für einen Bekannten ausgesucht, um diesen an seinen neuen Mac mini M1 anzuschliessen. Der Monitor macht einen guten Eindruck und funktioniert über USB-C tadellos.

Was aber, wenn man stattdessen einen Laptop per USB-C anschliessen will, um ihn gleichzeitig zu laden? Der Monitor kann gemäss Herstellerangaben USB-C Peripherie maximal mit 65W laden.

Doch mit wieviel Volt, und Ampère? Im Handbuch steht es auf Seite 12:

You can attach the monitor to PC using a USB type C cable (shipped with your monitor), to get the monitor experience as below: support data transmission speed up to USB 3.1. Display resolution up to 2560 x 1440@60 Hz on Display Port 1.2 alternate mode. Power delivery of 20 V/3.25 A, 15 V/3 A, 9 V/3 A, 5 V/3 A.

Quelle: Dell 24 USB-C Monitor – P2421DC User’s Guide

Auslöser für die Recherche war diese Kundenfrage auf Digitec.

Tags: , , , , , , , ,
Labels: IT, Shopping

Keine Kommentare | neuen Kommentar verfassen

Montag, 5. April 2021

Mit upower den Batteriestatus von Linux-Laptops überwachen und aufzeichnen

upower ist ein sehr nützliches Kommandozeilen-Tool, wenn man sich für den Batteriestatus seiner Linux-Laptops interessiert (Linux-Server meiner Wahl: Lenovo Thinkpads).

Ich verwende es auf zwei Arten (Anleitung zum Schnellstart):

  • Alarm wenn auf Batteriebetrieb geschaltet wird Ein cron-Script schreibt den Status der Batterie alle fünf Minuten in eine Datei. Die Datei wird von monit überwacht. Wenn das Gerät (1) auf Batteriebetrieb schaltet (wegen Stromausfall, oder weil das Stromkabel ausgezogen wurde) und (2) die Ladung der Batterie unter einen vordefinierten Grenzwert sinkt (aktuell: weniger als 80 Prozent), erhalte ich von monit regelmässig eine Meldung per Email. In einem Fall konnte ich so aus der Ferne zuschauen wie die Batterieladung kontinuierlich abnahm, bis dass Gerät offline ging.
  • Aufzeichnung mit cacti Die von upower ausgegebenen Vitaldaten speise ich in cacti ein, um den Verlauf der Vitaldaten darstellen zu können. Was ich derzeit aufzeichne: Verbleibende Maximalkapazität der Batterie in Prozent der Design Capacity, Ladung Batterie in Prozent, Ladung der Batterie in Wh, Ausgangsspannung, Ausgangsleistung („Draw“).

Problem

Der Parameter energy-rate (Dokumentation) …

Amount of energy being drained from the source, measured in W. If positive, the source is being discharged, if negative it’s being charged.

… enthält bei einigen Laptops plausible Werte …

...
# OPENVPN 1
energy-rate:         4.761 W
...
# OPENVPN 2
energy-rate:         3.298 W
...
# ELK (Elasticsearch Lucene Kibana)
energy-rate:         21.288 W
...

… bei anderen Laptops nicht:

...
# Web-Server
energy-rate:         0.00409639 W
...

Tags: , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen