mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

9.1K
active users

#poser

1 post1 participant1 post today
Felix Palmen :freebsd: :c64:<p>Now that <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> 0.7 is released, it's time to prepare a new release of <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a>, my own lib supporting <a href="https://mastodon.bsd.cafe/tags/services" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>services</span></a> on <a href="https://mastodon.bsd.cafe/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a> systems, following a <a href="https://mastodon.bsd.cafe/tags/reactor" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>reactor</span></a> with <a href="https://mastodon.bsd.cafe/tags/threadpool" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>threadpool</span></a> design.</p><p>During development of swad, I moved poser from using strictly only POSIX APIs (with the scalability limits of e.g. <a href="https://mastodon.bsd.cafe/tags/select" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>select</span></a>) to auto-detected support for <a href="https://mastodon.bsd.cafe/tags/kqueue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kqueue</span></a>, <a href="https://mastodon.bsd.cafe/tags/epoll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>epoll</span></a>, <a href="https://mastodon.bsd.cafe/tags/eventports" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>eventports</span></a>, <a href="https://mastodon.bsd.cafe/tags/signalfd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signalfd</span></a> and <a href="https://mastodon.bsd.cafe/tags/timerfd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>timerfd</span></a> (so now it could, in theory(!), "compete" with e.g. libevent). I also fixed quite some hidden bugs, and added more base functionality, like a <a href="https://mastodon.bsd.cafe/tags/dictionary" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dictionary</span></a> using nested hashtables internally, or <a href="https://mastodon.bsd.cafe/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> tasks mimicking the async/await pattern known from e.g, <a href="https://mastodon.bsd.cafe/tags/csharp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>csharp</span></a>. I also deprecated two features, the periodic and global "service tick" (superseded by individual timers) and the "resolve hosts" property of a "connection" (superseded by a separate resolve class).</p><p>I'll have to decide on a few things, e.g. whether I'll remove the deprecated stuff immediately and bump the major version of the "posercore" lib. I guess I'll do just that. I'd also like to add all the web-specific stuff (http 1.0/1.1 server) that's currently part of the swad code as a "poserweb" lib. This would get a major version of 0, indicating a generally unstable API/ABI as of now....</p><p>And then, I'd have to decide where certain utility classes belong to. The rate limiter is probably useful for things other than web, so it should probably go to core. What about url encoding/decoding, for example? 🤔</p><p>Stay tuned, something will come here, maybe helping you to write a nice service in plain <a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> 😎:</p><p><a href="https://github.com/Zirias/poser" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/poser</span><span class="invisible"></span></a></p>
Felix Palmen :freebsd: :c64:<p>The next release of <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> will probably bring not a single new feature, but focus on improvements, especially regarding <a href="https://mastodon.bsd.cafe/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a>. Support for using <a href="https://mastodon.bsd.cafe/tags/kqueue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kqueue</span></a> (<a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> et al) to handle <a href="https://mastodon.bsd.cafe/tags/signals" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signals</span></a> is a part of it (which is done and works). Still unsure whether I'll also add support for <a href="https://mastodon.bsd.cafe/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a>' <a href="https://mastodon.bsd.cafe/tags/signalfd" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signalfd</span></a>. Using kqueue also as a better backend for <a href="https://mastodon.bsd.cafe/tags/timers" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>timers</span></a> is on the list.</p><p>Another hopefully quite relevant change is here:</p><p><a href="https://github.com/Zirias/poser/commit/798f23547295f89fa0c751f0e707c3474b5c689c" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/poser/commit</span><span class="invisible">/798f23547295f89fa0c751f0e707c3474b5c689c</span></a></p><p>In short, so far my <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> lib was always awaiting readiness notification (from kqueue, or <a href="https://mastodon.bsd.cafe/tags/epoll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>epoll</span></a> on Linux, or select/poll for other platforms) before doing any read or write on a socket. This is the ideal approach for reads, because in the common case, a socket is NOT ready for reading ... our kernel must have received something from the remote end first. But for writes, it's not so ideal. The common case is that a socket IS ready to write (because there's space left in the kernel's send buffers). So, just try it, and only register for notifications if it ever fails, makes more sense. Avoids pointless waiting and pointless events, and e.g. with epoll, even unnecessary syscalls. 😉</p>
Felix Palmen :freebsd: :c64:<p>Hmm. Now that I have a working "generic" <a href="https://mastodon.bsd.cafe/tags/signal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signal</span></a> handling in <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a>, I'd like to optimize a bit by picking up <span class="h-card" translate="no"><a href="https://infosec.exchange/@david_chisnall" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>david_chisnall</span></a></span>'s suggestion to use <a href="https://mastodon.bsd.cafe/tags/kqueue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kqueue</span></a> for the job if available. Would have a clear advantage: No need to fiddle with the signal mask around every call to <a href="https://mastodon.bsd.cafe/tags/kevent" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kevent</span></a>.</p><p>I still had the doubt whether a signal delivered via kqueue would still remain pending when it is just blocked, so I wrote some little test code and the unfortunate answer is: yes. Unfortunate because I want my library code to restore everything as it was found (signal mask and handlers) on exit, but I certainly don't want a batch of spurious signals handled when unblocking them.</p><p>Kind of obvious solution: Set the signals temporarily to ignored when unblocking them, as shown in the screenshot. Now I have the next doubt: Is it guaranteed to have pending signals delivered instantly when unblocking them? 🤔</p><p><a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>I'm trying to add "genric" <a href="https://mastodon.bsd.cafe/tags/signal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signal</span></a> handling to <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a>. Ultimate goal is to provide a way for <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> to handle <a href="https://mastodon.bsd.cafe/tags/SIGHUP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SIGHUP</span></a>, although signal handling must be done in poser's main event loop (signals are only ever unblocked while waiting for file descriptor events).</p><p>Okay, I could just add explicit handling for SIGHUP. But a generic solution would be nicer. Just for example, a consumer might be interested in <a href="https://mastodon.bsd.cafe/tags/SIGINFO" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SIGINFO</span></a> which doesn't even exist on all platforms ... 🤔 </p><p>Now, <a href="https://mastodon.bsd.cafe/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a> specs basically just say signal constants are "integer values". Not too helpful here. Is it safe to assume an upper bound for signal numbers on "real world" OS implementations, e.g. 64 like on <a href="https://mastodon.bsd.cafe/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a>? Should I check <a href="https://mastodon.bsd.cafe/tags/NSIG" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NSIG</span></a> and, if not defined, just define it to 64? 🙈 </p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a> <a href="https://mastodon.bsd.cafe/tags/question" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>question</span></a></p>
Beautiful Downtown Mannheim 🗑️ 🔥<p><a href="https://iceshrimp.de/tags/polizeiludwigshafen" rel="nofollow noopener noreferrer" target="_blank">#polizeiludwigshafen</a><span> Originalschlagzeile mit </span><a href="https://iceshrimp.de/tags/verantwortungsdiffusion" rel="nofollow noopener noreferrer" target="_blank">#verantwortungsdiffusion</a><span> <br><br>"Auto fährt in Straßenbahnhaltestelle"<br><br>"kam ein 24-Jähriger mit seinem Auto in der Saarlandstraße von der Fahrbahn ab, durchbrach das Glasgeländer der Straßenbahnhaltestelle "Wittelsbachplatz" und blieb auf dem Dach im Gleisbett liegen. Durch den Unfall wurden weder der Fahrer, noch andere Personen verletzt. An der Haltestelle befanden sich nach Zeugenaussagen keine wartenden Fahrgäste. Durch den Unfall entstand ein Sachschaden in Höhe von rund 10.000 Euro. Gegen den Fahrer wird wegen des Verdachts der Straßenverkehrsgefährdung ermittelt, da </span><b><span>Zeugen beobachteten, dass der er mit überhöhter Geschwindigkeit den Unfall verursacht haben soll</span></b><span>. Der Führerschein des 24-Jährigen wurde sichergestellt. Der Straßenbahnverkehr musste für über eine Stunde eingestellt werden."<br><br>Mal wieder nur Glück, dass keine unbeteiligten Passanten getötet wurden.<br><br></span><a href="https://iceshrimp.de/tags/Autoterror" rel="nofollow noopener noreferrer" target="_blank">#Autoterror</a><span> </span><a href="https://iceshrimp.de/tags/Raser" rel="nofollow noopener noreferrer" target="_blank">#Raser</a><span> </span><a href="https://iceshrimp.de/tags/Poser" rel="nofollow noopener noreferrer" target="_blank">#Poser</a><span> </span><a href="https://iceshrimp.de/tags/Ludwigshafen" rel="nofollow noopener noreferrer" target="_blank">#Ludwigshafen</a><span><br><br></span><a href="https://presseportal.de/blaulicht/pm/117696/6017123" rel="nofollow noopener noreferrer" target="_blank">presseportal.de/blaulicht/pm/117696/6017123</a></p>
Nando161<p><a href="https://partyon.xyz/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> <a href="https://partyon.xyz/tags/frauds" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>frauds</span></a> <a href="https://partyon.xyz/tags/fakes" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fakes</span></a> <a href="https://partyon.xyz/tags/thesimpsons" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>thesimpsons</span></a> <a href="https://partyon.xyz/tags/homersimpson" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>homersimpson</span></a> <a href="https://partyon.xyz/tags/anarchopunk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>anarchopunk</span></a> <a href="https://partyon.xyz/tags/punk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>punk</span></a> <a href="https://partyon.xyz/tags/crustpunk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>crustpunk</span></a> <a href="https://partyon.xyz/tags/music" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>music</span></a> <a href="https://partyon.xyz/tags/LoveMusicHateFascism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LoveMusicHateFascism</span></a> <a href="https://partyon.xyz/tags/anticapitalism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>anticapitalism</span></a> <a href="https://partyon.xyz/tags/antislavery" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>antislavery</span></a> <a href="https://partyon.xyz/tags/antiwork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>antiwork</span></a> <a href="https://partyon.xyz/tags/fuckwork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fuckwork</span></a> <a href="https://partyon.xyz/tags/antifa" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>antifa</span></a> <a href="https://partyon.xyz/tags/classwar" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>classwar</span></a> <a href="https://partyon.xyz/tags/ausgov" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ausgov</span></a> <a href="https://partyon.xyz/tags/politas" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>politas</span></a> <a href="https://partyon.xyz/tags/humanrights" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>humanrights</span></a> <a href="https://partyon.xyz/tags/antiauthority" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>antiauthority</span></a></p>
Beautiful Downtown Mannheim 🗑️ 🔥<p><span>In </span><a href="https://iceshrimp.de/tags/Hockenheim" rel="nofollow noopener noreferrer" target="_blank">#Hockenheim</a><span> hat ein Raser ohne Führerschein ein Kassenhaus des Hockenheimrings zerstört: Am </span><a href="https://iceshrimp.de/tags/Motodrom" rel="nofollow noopener noreferrer" target="_blank">#Motodrom</a><span><br><br></span><a href="https://iceshrimp.de/tags/PoizeiMannheim" rel="nofollow noopener noreferrer" target="_blank">#PoizeiMannheim</a><span> mit heftiger </span><a href="https://iceshrimp.de/tags/verantwortungsdiffusion" rel="nofollow noopener noreferrer" target="_blank">#verantwortungsdiffusion</a><span> "möglicherweise auch aufgrund mangelnder Fahrpraxis" - wtf? </span><a href="https://iceshrimp.de/tags/Framing" rel="nofollow noopener noreferrer" target="_blank">#Framing</a><span> </span><a href="https://iceshrimp.de/tags/Autopolizei" rel="nofollow noopener noreferrer" target="_blank">#Autopolizei</a><span><br><br>Oder lag es doch daran, dass er gar keinen Führerschein hatte und mit völlig überhöhter Geschwindigkeit unterwegs war?<br><br>Und warum "vergißt" (?) PolizeiMannheim im Pressebericht zu erwähnt, dass das Kfz von einem Autohaus gemietet war?<br><br>Der Mieter beschreibt den Unfall so: "Ich habe gesehen, wie das Auto von hinten angeschossen kam, auf dem Schotter die Kontrolle verloren hat, sich quergelegt hat, gerutscht ist, bis an den Baum. Am Baum ist es dann mit der Front eingeschlagen, hat sich noch mal gedreht in die andere Richtung, ist dann hitner uns in die Hütte reingeschossen."<br><br>"Ein Totalschaden an einem BMW 850i und ein Gesamtschaden in Höhe von 80.000 - 100.000 Euro sind das Ergebnis des Fahrversuchs eines 19-Jährigen aus Hockenheim. ... Aufgrund nicht angepasster Geschwindigkeit und möglicherweise auch aufgrund mangelnder Fahrpraxis kam er nach rechts von der Straße ab, entwurzelte beim Aufprall mit dem PKW einen Baum und zerstörte ein zum </span><a href="https://iceshrimp.de/tags/Hockenheimring" rel="nofollow noopener noreferrer" target="_blank">#Hockenheimring</a><span> gehörendes Kassenhäuschen.<br>Der 19-Jährige, der nicht im Besitz der erforderlichen Fahrerlaubnis ist, muss sich nun wegen Gefährdung des Straßenverkehrs, fahrlässiger Körperverletzung und Fahrens ohne Fahrerlaubnis verantworten."<br><br></span><a href="https://youtube.com/watch?v=qvciG-cWmeg" rel="nofollow noopener noreferrer" target="_blank">youtube.com/watch?v=qvciG-cWmeg</a><span><br><br></span><a href="https://presseportal.de/blaulicht/pm/14915/6016070" rel="nofollow noopener noreferrer" target="_blank">presseportal.de/blaulicht/pm/14915/6016070</a><span><br><br></span><a href="https://iceshrimp.de/tags/Autoterror" rel="nofollow noopener noreferrer" target="_blank">#Autoterror</a><span> </span><a href="https://iceshrimp.de/tags/Poser" rel="nofollow noopener noreferrer" target="_blank">#Poser</a><span> </span><a href="https://iceshrimp.de/tags/Raser" rel="nofollow noopener noreferrer" target="_blank">#Raser</a><span> </span><a href="https://iceshrimp.de/tags/carfriday" rel="nofollow noopener noreferrer" target="_blank">#carfriday</a></p>
Beautiful Downtown Mannheim 🗑️ 🔥<p><span>Grüße aus laut Politik angeblicher </span><a href="https://iceshrimp.de/tags/Fahrradstadt" rel="nofollow noopener noreferrer" target="_blank">#Fahrradstadt</a><span> </span><a href="https://iceshrimp.de/tags/Mannheim" rel="nofollow noopener noreferrer" target="_blank">#Mannheim</a><span>:<br><br>HIer die Kontrollergebnisse von nur 1 (in Worten: einer) Nacht:<br><br>"Von Freitagabend bis in die Morgenstunden des Samstages wurden 132 Fahrzeuge und 176 Personen den Kontrollmaßnahmen unterzogen. Knapp 90 Verstöße konnten festgestellt und geahndet werden. Hierunter fielen diverse Verstöße bezüglich erkannter unzulässiger technische Veränderungen / Manipulationen von Fahrzeugen, unnötige Lärm und Abgasbelästigungen, als auch anderweitige verkehrsrechtliche Zuwiderhandlungen mit und ohne direkten Posing- und illegalem Tuningbezug. 6 Mal musste die Weiterfahrt mit dem jeweiligen Pkw untersagt und 6 Mal mussten die Fahrzeuge an sich sichergestellt werden, da die Verkehrssicherheit nicht unwesentlich durch die gegebenen gravierenden Mängel beeinträchtigt wurde.<br>Ferner fielen den Beamtinnen und Beamten auch zwei illegal geführte Kraftfahrzeugrennen mit fünf beteiligten Fahrzeugen auf. Dementsprechende Ermittlungsverfahren wurden eingeleitet. Vier Führerscheine und vier von fünf der beteiligten Pkw wurden letztlich beschlagnahmt."<br><br></span><a href="https://iceshrimp.de/tags/Poser" rel="nofollow noopener noreferrer" target="_blank">#Poser</a><span> </span><a href="https://iceshrimp.de/tags/Raser" rel="nofollow noopener noreferrer" target="_blank">#Raser</a><span> </span><a href="https://iceshrimp.de/tags/Carfriday" rel="nofollow noopener noreferrer" target="_blank">#Carfriday</a><span> Danke an </span><a href="https://iceshrimp.de/tags/PolizeiMannheim" rel="nofollow noopener noreferrer" target="_blank">#PolizeiMannheim</a><span> dass sie es wenigstens versucht haben. Gerne heute Nacht gleich wieder.<br><br></span><a href="https://presseportal.de/blaulicht/pm/14915/6016115" rel="nofollow noopener noreferrer" target="_blank">presseportal.de/blaulicht/pm/14915/6016115</a></p>
Felix Palmen :freebsd: :c64:<p>I finally eliminated the need for a dedicated <a href="https://mastodon.bsd.cafe/tags/thread" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>thread</span></a> controlling the pam helper <a href="https://mastodon.bsd.cafe/tags/process" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>process</span></a> in <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a>. 🥳 </p><p>The building block that was still missing from <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> was a way to await some async I/O task performed on the main thread from a worker thread. So I added a class to allow exactly that. The naive implementation just signals the main thread to carry out the requested task and then waits on a <a href="https://mastodon.bsd.cafe/tags/semaphore" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>semaphore</span></a> for completion, which of course blocks the worker thread.</p><p>Turns out we can actually do better, reaching similar functionality like e.g. <a href="https://mastodon.bsd.cafe/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> / <a href="https://mastodon.bsd.cafe/tags/await" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>await</span></a> in C#: Release the worker thread to do other jobs while waiting. The key to this is user context switching support like offered by <a href="https://mastodon.bsd.cafe/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a>-1.2001 <a href="https://mastodon.bsd.cafe/tags/getcontext" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>getcontext</span></a> and friends. Unfortunately it was deprecated in POSIX-1.2008 without an obvious replacement (the docs basically say "use threads", which doesn't work for my scenario), but still lots of systems provide it, e.g. <a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a>, <a href="https://mastodon.bsd.cafe/tags/NetBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NetBSD</span></a>, <a href="https://mastodon.bsd.cafe/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> (with <a href="https://mastodon.bsd.cafe/tags/glibc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>glibc</span></a>) ...</p><p>The posercore lib now offers both implementations, prefering to use user context switching if available. It comes at a price: Every thread job now needs its private stack space (I allocated 64kiB there for now), and of course the switching takes some time as well, but that's very likely better than leaving a task idle waiting. And there's a restriction, resuming must still happen on the same thread that called the "await", so if this thread is currently busy, we have to wait a little bit longer. I still think it's a very nice solution. 😎 </p><p>In any case, the code for the PAM credential checker module looks much cleaner now (the await "magic" happens on line 174):<br><a href="https://github.com/Zirias/swad/blob/57eefe93cdad0df55ebede4bd877d22e7be1a7f8/src/bin/swad/cred/pamchecker.c" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/swad/blob/57</span><span class="invisible">eefe93cdad0df55ebede4bd877d22e7be1a7f8/src/bin/swad/cred/pamchecker.c</span></a></p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>On a <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a> mission to improve my <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> lib 😎.</p><p>In the current implementation of <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a>, I don't really like that I need an extra thread, just to control a child <a href="https://mastodon.bsd.cafe/tags/process" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>process</span></a>. A first piece to add to poser is generic "child process support", which I'm testing right now. I realized I could reuse my <a href="https://mastodon.bsd.cafe/tags/Connection" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Connection</span></a> class, which was built for <a href="https://mastodon.bsd.cafe/tags/sockets" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sockets</span></a>, but works just as well with <a href="https://mastodon.bsd.cafe/tags/pipes" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>pipes</span></a> 🙃</p><p>TODO now is mostly testing. See screenshots for some mimimal testing code and its output ... would you like this kind of interface? 🤔 </p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a></p>
Felix Palmen :freebsd: :c64:<p>Having to deprecate a part of <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a>'s API for the first time, I added support for the <a href="https://mastodon.bsd.cafe/tags/deprecated" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>deprecated</span></a> attribute supported by <a href="https://mastodon.bsd.cafe/tags/GCC" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GCC</span></a> and <a href="https://mastodon.bsd.cafe/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a> and then found <a href="https://mastodon.bsd.cafe/tags/Doxygen" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Doxygen</span></a> couldn't automatically use it.</p><p>I didn't want to document deprecation *twice*, so I came up with a little hackery, see screenshots. 🙈 </p><p>It's not perfect, requiring to type the message in plain text as a macro argument forbids the usage of a comma 😉 But hey, it works!</p><p><a href="https://zirias.github.io/poser/api/latest/deprecated.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zirias.github.io/poser/api/lat</span><span class="invisible">est/deprecated.html</span></a></p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>I revisited that, AGAIN. Getting <a href="https://mastodon.bsd.cafe/tags/random" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>random</span></a> data in <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> now has yet another fallback, in case we don't have <a href="https://mastodon.bsd.cafe/tags/arc4random" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>arc4random</span></a> and we also don't have <a href="https://mastodon.bsd.cafe/tags/getrandom" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>getrandom</span></a>: read from /dev/random and/or /dev/urandom, "old style" 🙈. Still better to try this before resorting to a simple little <a href="https://mastodon.bsd.cafe/tags/xorshift" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xorshift</span></a>.</p><p>In the best case — arc4random found — this is still all the code of PSC_Random_bytes() 😆:</p><p> arc4random_buf(buf, count);<br> return count;</p><p><a href="https://zirias.github.io/poser/api/latest/class_p_s_c___random.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zirias.github.io/poser/api/lat</span><span class="invisible">est/class_p_s_c___random.html</span></a></p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>More <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> improvements:</p><p>* Use arc4random() if available, avoids excessive syscalls just to get high-quality random data<br>* Add a "resolver" to do <a href="https://mastodon.bsd.cafe/tags/reverse" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>reverse</span></a> <a href="https://mastodon.bsd.cafe/tags/DNS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DNS</span></a> lookups in a batch, remove the reverse lookup stuff from the connection which was often useless anyways, when a short-lived connection was deleted before resolving could finish 🙈 </p><p>As a result, <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> can now reliably log requests with reverse lookups enabled 🥳 </p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>Still working on <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a>, and currently very busy with improving quality, most of the actual work done inside my <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> library.</p><p>After finally supporting <a href="https://mastodon.bsd.cafe/tags/kqueue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kqueue</span></a> and <a href="https://mastodon.bsd.cafe/tags/epoll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>epoll</span></a>, I now integrated <a href="https://mastodon.bsd.cafe/tags/xxhash" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>xxhash</span></a> to completely replace my previous stupid and naive hashing. I also added a more involved <a href="https://mastodon.bsd.cafe/tags/dictionary" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dictionary</span></a> class as an alternative to the already existing <a href="https://mastodon.bsd.cafe/tags/hashtable" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>hashtable</span></a>. While the hashtable's size must be pre-configured and collissions are only ever resolved by storing linked lists, the new dictionary dynamically nests multiple hashtables (using different bits of a single hash value). I hope to achieve acceptable scaling while maintaining also acceptable memory overhead that way ...</p><p><a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> already uses both container classes as appropriate.</p><p>Next I'll probably revisit poser's <a href="https://mastodon.bsd.cafe/tags/threadpool" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>threadpool</span></a>. I think I could replace <a href="https://mastodon.bsd.cafe/tags/pthread" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>pthread</span></a> condition variables by "simple" <a href="https://mastodon.bsd.cafe/tags/semaphores" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>semaphores</span></a>, which should also reduce overhead ... </p><p><a href="https://github.com/Zirias/swad" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/Zirias/swad</span><span class="invisible"></span></a></p><p><a href="https://mastodon.bsd.cafe/tags/c" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>c</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
France | République française<p><a href="https://www.europesays.com/fr/19151/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">europesays.com/fr/19151/</span><span class="invisible"></span></a> Nantais, vous pouvez poser une question pour le conseil municipal d’octobre <a href="https://pubeurope.com/tags/actu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>actu</span></a> <a href="https://pubeurope.com/tags/Actualit%C3%A9s" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Actualités</span></a> <a href="https://pubeurope.com/tags/conseil" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>conseil</span></a> <a href="https://pubeurope.com/tags/EU" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EU</span></a> <a href="https://pubeurope.com/tags/europe" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>europe</span></a> <a href="https://pubeurope.com/tags/FR" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FR</span></a> <a href="https://pubeurope.com/tags/France" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>France</span></a> <a href="https://pubeurope.com/tags/municipal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>municipal</span></a> <a href="https://pubeurope.com/tags/nantais" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nantais</span></a> <a href="https://pubeurope.com/tags/Nantes" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Nantes</span></a> <a href="https://pubeurope.com/tags/News" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>News</span></a> <a href="https://pubeurope.com/tags/octobre" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>octobre</span></a> <a href="https://pubeurope.com/tags/PaysDeLaLoire" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PaysDeLaLoire</span></a> <a href="https://pubeurope.com/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> <a href="https://pubeurope.com/tags/question" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>question</span></a> <a href="https://pubeurope.com/tags/R%C3%A9publiqueFran%C3%A7aise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RépubliqueFrançaise</span></a></p>
Felix Palmen :freebsd: :c64:<p>First change since <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> 0.2 will actually be a (huge?) improvement to my <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> lib. So far, it was hardwired to use the good old <a href="https://mastodon.bsd.cafe/tags/POSIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>POSIX</span></a> <a href="https://mastodon.bsd.cafe/tags/select" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>select</span></a> call. This is perfectly fine for handling around up to 100 (or at least less than 1000, YMMV) clients.</p><p>Some <a href="https://mastodon.bsd.cafe/tags/select" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>select</span></a> implementations offer defining the upper limit for checked file descriptors. Added support for that.</p><p>POSIX also specifies <a href="https://mastodon.bsd.cafe/tags/poll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poll</span></a>, which has very similar <a href="https://mastodon.bsd.cafe/tags/scalability" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>scalability</span></a> issues, but slightly different. Added support for this as well.</p><p>And then, I went on to add support for the <a href="https://mastodon.bsd.cafe/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a>-specific <a href="https://mastodon.bsd.cafe/tags/epoll" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>epoll</span></a> and <a href="https://mastodon.bsd.cafe/tags/BSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>BSD</span></a>-specific <a href="https://mastodon.bsd.cafe/tags/kqueue" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>kqueue</span></a> (<a href="https://mastodon.bsd.cafe/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a>, <a href="https://mastodon.bsd.cafe/tags/NetBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NetBSD</span></a>, <a href="https://mastodon.bsd.cafe/tags/OpenBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenBSD</span></a>, ...) which are both designed to *solve* any scalability issues 🥳 </p><p>A little thing that slightly annoyed me about kqueue was that there's no support for temporarily changing the signal mask, so I had to do the silly dance shown in the screenshot. OTOH, it offers changing event filters and getting events in a single call, which I might try to even further optimize ... 😎</p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Foftain<p>Moin liebe Toots</p><p>Erfolgreich geschlafen?<br>Ich ja!</p><p>Meine Erkenntnis aus dieser Nacht: <br>Die Welt, wie wir sie jede:r für sich wahrnehmen, ist nur eine Simulation, die unser Hirn herstellt.<br>Also keine Ängste nötig vor dem kommenden Tag! Alles nur Brainfuck!</p><p>Wer sich aber, in seiner infantilen Hirnlosigkeit, mal anfangen sollte Gedanken zu machen, sind die Kleinaffen in ihren grossen, lauten Penisersatzmaschinen.</p><p>Also ... einen schönen Tag Euch </p><p><a href="https://troet.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a></p><p><a href="https://www.srf.ch/news/schweiz/pilotversuch-mit-laermradar-stadt-zuerich-will-autoposern-an-den-kragen" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">srf.ch/news/schweiz/pilotversu</span><span class="invisible">ch-mit-laermradar-stadt-zuerich-will-autoposern-an-den-kragen</span></a></p>
Felix Palmen :freebsd: :c64:<p>Fixed cancelling a thread job in <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a>'s <a href="https://mastodon.bsd.cafe/tags/threadpool" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>threadpool</span></a>. Using a semaphore to do this seems reliable 😎 </p><p>Oh my. <a href="https://mastodon.bsd.cafe/tags/Multithreading" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Multithreading</span></a>, <a href="https://mastodon.bsd.cafe/tags/synchronization" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>synchronization</span></a>, async <a href="https://mastodon.bsd.cafe/tags/Unix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Unix</span></a> <a href="https://mastodon.bsd.cafe/tags/signals" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>signals</span></a>, this is pure "fun" ... 🙈 </p><p><a href="https://github.com/Zirias/poser/commit/aa4e02b728a549f0e3c4687750b90749d48fcfdc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Zirias/poser/commit</span><span class="invisible">/aa4e02b728a549f0e3c4687750b90749d48fcfdc</span></a></p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Felix Palmen :freebsd: :c64:<p>DId lots of smaller improvements to <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> ... but first, I had to hunt down a crash 🤯. Finally found it was caused by my <a href="https://mastodon.bsd.cafe/tags/poser" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poser</span></a> lib (to be fixed later): A connection there can resolve the hostname of a remote end and does so in a thread job to avoid blocking. If the connection dies meanwhile, the job is canceled. Seems my canceling mechanism relying on a signal to the thread is, well, not reliable (the signal can arrive delayed). Ok, for now just disabled name resolution to sidestep that.</p><p>Now, integration with <a href="https://mastodon.bsd.cafe/tags/nginx" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nginx</span></a> is much better. I intrdoduced (optional) custom headers to transport the authentication realm and the redirect URI, plus state management in the session, so these can be passed to the "auth" endpoint. This requires to make sure nginx always passes the session <a href="https://mastodon.bsd.cafe/tags/cookie" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cookie</span></a>, Unfortunately, I still need a "hacky" redirect configuration for login in nginx. If auth_request could just pass the response body, this would be unnecessary .... 🙄 </p><p>The nginx configuration shows <a href="https://mastodon.bsd.cafe/tags/swad" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>swad</span></a> running on "files" and another nginx running on "wwwint" serving <a href="https://mastodon.bsd.cafe/tags/poudriere" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>poudriere</span></a> output there. This nginx instance helpfully adds cache hints, which I have to override, so a redirect works as expected when for example the swad session times out.</p><p><a href="https://mastodon.bsd.cafe/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.bsd.cafe/tags/coding" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coding</span></a></p>
Beautiful Downtown Mannheim 🗑️ 🔥<p><span>Auch 2025 kündigen </span><a href="https://iceshrimp.de/tags/PolizeiMannheim" rel="nofollow noopener noreferrer" target="_blank">#PolizeiMannheim</a><span> und die die konservative Zeitung Mannheimer Morgen Blitzerstellen an, obwohl dies nachweislich die Wirkung mindert.<br><br>Der Blitzeranhänger der derzeit am Luisenpark steht wurde dieses Wochenende übrigens mit Farbe übersprüht. Mannheim halt </span>🥴<span><br><br></span><a href="https://iceshrimp.de/tags/Autoterror" rel="nofollow noopener noreferrer" target="_blank">#Autoterror</a><span> </span><a href="https://iceshrimp.de/tags/Autoterroristen" rel="nofollow noopener noreferrer" target="_blank">#Autoterroristen</a><span> </span><a href="https://iceshrimp.de/tags/Autostadt" rel="nofollow noopener noreferrer" target="_blank">#Autostadt</a><span> </span><a href="https://iceshrimp.de/tags/Poser" rel="nofollow noopener noreferrer" target="_blank">#Poser</a><span> </span><a href="https://iceshrimp.de/tags/Raser" rel="nofollow noopener noreferrer" target="_blank">#Raser</a><span> </span><a href="https://iceshrimp.de/tags/Mannheim" rel="nofollow noopener noreferrer" target="_blank">#Mannheim</a></p>