_L4NyrlfL1I0

Likes any and all ridiculously weird low-level hacks

The opinions posted on this account are mine and not those of my employer.

| wl-mirror dev | RP2040/RP2350 Stuff | Systems Software | C/C++ Standardese Nerd | CS@TUGraz | ArchLinux |

_L4NyrlfL1I0yrlf@graz.social
2026-02-11

@ripper mit C++ <chrono> geht so eine Regel einbauen tatsächlich gar ned so schwer. Man kann nämlich tatsächlich einfach

currentYear / March / Sunday[1]

schreiben und kriegt ein Objekt, das den 1. Sonntag im März des aktuellen Jahres ausrechnet.

ja... den *ersten* Sonntag. Obwohl in C++ sonst überall [1] bedeutet das *zweite* irgendwas. Das hat bei uns in der Firma dazu geführt, dass wir in Australien eine Woche zu früh Zeitumstellung hatten.

_L4NyrlfL1I0yrlf@graz.social
2026-02-11

@ripper In Palästina hat 2020 die Regierung verschlafen und nur 5 Tage davor Sommerzeit announced 🙃

Für kleine Projekte geht eine fixe Liste natürlich auch :)

_L4NyrlfL1I0yrlf@graz.social
2026-02-11

@ripper Boah, ich muss endlich meine embedded IANA time zone db library fertig machen; Nachdem ich in der Arbeit Zeitumstellungsbugs mit Europa, USA, und Australien fixen durfte (weil aus Platzgründen manuell implementiert und halt leider buggy) hab ich mir irgendwann gedacht, da sollte es ja eine Lösung geben. Die C++ Standardlibrary für time zones kann man leider nicht wirklich verwenden, weil die verwendet viel zu viel RAM.

Fun fact: 2 Zeitzonen hardcoden generell ihre DST transitions: Marokko und Palästina. Da steht im Endeffekt nur eine liste an hardcodet dates in der tzdata db, und keine Regel wie 1. Sonntag im März oder so.

(In Marokko ist es eigentlich so, dass die Zeitumstellung für den Ramadan machen, und bei Palästina announcet offiziell die Regierung arbiträre DST changes)

_L4NyrlfL1I0yrlf@graz.social
2026-02-11

@vitaut This is the first version I got to compile and run without issues (I also had to increase main task stack size to avoid crashes in ostringstream), so there might still be some things that could be made better, and maybe doubleconv/uscale/xjb64 can be made to compile with some simple fixes.

_L4NyrlfL1I0yrlf@graz.social
2026-02-11

@vitaut I did a first trial run on ESP32 with esp-idf (gcc 15.2, -O2);

Changes:
- remove doubleconv, uscale, and xjb64 because they didn't compile
- change benchmark.cc from_chars to use std::from_chars istead of doubleconv
- change random_digit data to use an std::array and reduce size to 1200 doubles per digit to avoid running out of memory on ESP32

Results:

gist.github.com/Ferdi265/bf580

- to_chars is for some reason unreasonably fast for 17 digit cases, fastest when sorting by min_ns
- zmij is fastest when sorting by max_ns

EDIT: to_chars is based on ryu in GCC, and both ryu and to_chars seem to need less time for doubles with more digits

_L4NyrlfL1I0yrlf@graz.social
2026-02-10

@vitaut On the topic of dtoa-benchmark and zmij, should I try porting/running the dtoa-benchmark on an ESP32 and a Raspberry Pi Pico / Pico 2 and see how well it performs on microcontroller platforms?

_L4NyrlfL1I0 boosted:
Shafik Yaghmourshafik@hachyderm.io
2026-02-10

I am reading about this case in which a diff included in a commit message ended up being applied as well: github.com/i3/i3/pull/6564#iss

and it really makes me think. Folks often wonder why we have lexical undefined behavior. This is it folks, this is how old style tooling worked. In pipelines each part doing their own thing.

Modernized tools sets avoid these issues for the most part but yeah when everything is a text file these things can happen.

_L4NyrlfL1I0 boosted:
Sue is Writing Solarpunk 🌞🌱susankayequinn@wandering.shop
2026-01-28

you *must* read the Battle of the Dildo at the Minneapolis Graduate Hotel (where ICE is lodging):

"The revolution did not arrive with speeches, pamphlets, or a carefully moderated Zoom call about optics. It arrived in a cardboard box full of clearance-bin dildos, under purple neon light." 🤣

one of the most beautiful things I've ever read

closertotheedge.net/p/the-dild

_L4NyrlfL1I0 boosted:
✧✦Catherine✦✧whitequark@treehouse.systems
2026-01-25

i finally found this picture again. it has infected me memetically a long time ago

Never touch the terminals.

Please don't. Cause of failure.

This may be the cause.

It is not possible to use multiple computers at the same time.

It is not possible.

_L4NyrlfL1I0 boosted:
2026-01-25

@stdlogicvector no sharks were hurt in the creation of this artwork

_L4NyrlfL1I0yrlf@graz.social
2026-01-22

TIL that ITT, ITE, ITTT, ITTE, ITET, ITEE, ITTTT, ITTTE, ITTET, ITTEE, ITETT, ITETE, ITEET, ITEEE are all instruction on Arm Thumbv2. (All variants of the IT conditional instruction, but the spelling is crazy)

_L4NyrlfL1I0yrlf@graz.social
2026-01-19

@mjg59 in that case that code is completely fine; sorry for nitpicking

_L4NyrlfL1I0yrlf@graz.social
2026-01-19

@mjg59 IMO it could be much less cursed, at least syntactically, by using either `match` or a dictionary, and list.extend()

but the whole "list of string numbers" thing is definitely cursed, but I'm sure there's a reason for it

_L4NyrlfL1I0 boosted:
Geheimorganisationgeheimorga@chaos.social
2026-01-17
_L4NyrlfL1I0yrlf@graz.social
2026-01-15

@b0rk not directly CLI, git-rated shell prompt related:

The fact that git integrations for shells exist that tell you that you are "merging / cherry-picking / rebasing / bisecting" because I have way too often had the case that I didn't know some persistent state was still active.

Once I figured that out and started using such shell integration (and later built my own), working with git became much less confusing

_L4NyrlfL1I0 boosted:
Kevin Krammerkrake@graz.social
2026-01-14

Liebe #Graz Bubble!

Hat jemand von euch Kontakte bei den Unis oder anderen Orte, die Hörsäle vermieten?

Helfe gerade die jährlich #KDE Konferenz #Akademy in Graz zu organisieren und bräuchten an einem Wochenende im Sommer zwei Hörsäle für insgesamt ca 200-300 Leute.

Ursprüngliche Idee war das am Campus Inffeldgasse der TUG zu machen, weil dort ja auch mehrere Informatikinstitute sind.

Leider hat die TU Graz, anders als die TU Wien (Akademy 2018), wohl eine grundsätzliche Regelung, die das Abhalten internationaler Entwicklerkonferenzen untersagt.

Wir sind daher auf der Suche nach Alternativen und vielleicht weiß ja jemand von euch was 😎

_L4NyrlfL1I0 boosted:
2026-01-14

Ende 2025 stellte die EU-Kommission Pläne vor, die Datenschutz- und KI-Regeln zu lockern. Viele der umstrittensten Vorschläge stammen direkt von der Wunschliste von Google, Meta, Microsoft und Co.

Gemeinsam mit @corporateeurope haben wir die Pläne mit den Lobbypapieren von Big Tech verglichen: In sieben Fällen hat die EU-Kommission die Forderungen von Big Tech direkt übernommen.

Eine Lockerung der EU-Digitalregeln würde nicht nur Big Tech, sondern auch autoritären politischen Kräften nutzen.

Meta und Google suchen gezielt die Unterstützung von rechtspopulistischen und extrem rechten Abgeordneten, um die Regeln aufzuweichen. So erhöhte Meta die Zahl der Lobbytreffen mit Rechtsaußen von einem in der letzten Legislaturperiode auf 38 in der aktuellen. Diese Strategie erinnert an die USA, wo Big Tech eng mit der Trump-Regierung kooperierte.

EU-Parlament und Bundesregierung können diesen Angriff auf den Datenschutz und die KI-Regeln noch stoppen!

➡️ Lies unsere Auswertung und teile sie! lobbycontrol.de/macht-der-digi

Ein Pritschenwagen in Brüssel vor EU-Fahnen. Darauf ein Aufsteller mit einem Plakat: Fotos von Trump und den Big-Tech-Bossen und dem Text: Ursula! Fight for Europe, not for them!
_L4NyrlfL1I0 boosted:
2026-01-14

RE: bewegung.social/@lobbycontrol/

Wichtige Arbeit von @lobbycontrol - Bewiesen:
Das Drehbuch der Lockerungen für Big-Tech in der 🇪🇺 schreibt: Big-Tech. Die Konzerne setzen ihre Interessen um - koste es was es wolle.

‼️ Unbedingt teilen:

_L4NyrlfL1I0 boosted:
Andrew Gallagherandrewg@mastodon.ie
2026-01-13

@upofadown @letoams @hko @nlnet Also, it is entirely proper for anybody to submit patches to gnupg, or to make and distribute their own version if upstream does not meet their needs. This is the *entire point* of free software. Upstream gnupg does not meet the needs of linux distributions, for example it does not officially support systemd. What is a linux distribution supposed to do if upstream refuses to merge systemd support? Who exactly is being “hostile” in this scenario?

_L4NyrlfL1I0 boosted:
2026-01-13

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst