toad.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server operated by David Troy, a tech pioneer and investigative journalist addressing threats to democracy. Thoughtful participation and discussion welcome.

Administered by:

Server stats:

276
active users

#poser

1 post1 participant0 posts today

Nächster Unfall in #Raser und #Poser Stadt #Mannheim
Und wieder nur Zufall, dass keine unbeteiligte Person an der Fußgängerampel getötet wurde.

"Nach derzeitigem Stand der Ermittlungen fuhr ein 21-jähriger Fahrer eines Audi A3 Cabriolet stadtauswärts an der Kreuzung Reichskanzler-Müller-Straße / Kopernikusstraße ungebremst über eine rote Ampel. Da zeitgleich ein Pkw ordnungsgemäß aus der Kopernikusstraße in den Kreuzungsbereich einfuhr, wich der 21-Jährige nach rechts aus. Dabei prallte er zunächst gegen eine Fußgängerampel und anschließend gegen Steine am Straßenrand. Das Cabrio überschlug sich in der Folge und kollidierte mit einer Steinmauer am Rand des Gehwegs.

Während des Überschlags wurde ein 19-jähriger Mitfahrer aus dem Fahrzeug geschleudert und nach bisherigem Kenntnisstand leicht verletzt. Ein weiterer Mitfahrer im Alter von 22 Jahren sowie der 21-jährige Fahrer selbst erlitten ebenfalls leichte Verletzungen."

Ist dort dank Lärmaktionsplan nicht 30 km/h nachts mittlerweile? Unfallbild schaut nicht nach 30 km/h aus. Informationen dazu fehlen mal wieder in der Meldung von
#PolizeiMannheim :(

presseportal.de/blaulicht/pm/14915/6102799

mannheimer-morgen.de/orte/mannheim_artikel,-mannheim-19-jaehriger-bei-unfall-auf-b37-in-mannheim-aus-cabrio-geschleudert-_arid,2324070.html

Presseportal.de · POL-MA: Mannheim - Schwetzingerstadt/Oststadt - B 37 - schwerer Verkehrsunfall - PM Nr. 2By Polizeipräsidium Mannheim

Nächste Kontrolle von #Poser #Raser Fahrzeugen in #Mannheim: Medienwirksam trat die Leitung von Dezernat I #VolkerProffen in Erscheinung bei dem Termin, zu dem viel Presse geladen wurde und welcher den Bürgern signalisieren soll "wir kümmern uns, wir machen was, wir haben das im Griff".

Leider ist das Gegenteil der Fall: das Problem ist schon vor vielen Jahren entglitten und sowohl Stadt, als auch Polizei haben die Kontrolle lange verloren. Es vergeht kein Tag an dem nicht irgendwer hochtourig und viel zu laut durch die Quadrate und umliegende Stadtteile rast. Das Image der Stadt hat bereits nachhaltig Schaden genommen und der Wegzug von Menschen, die es sich leisten können, hält an.

Was könnte man tun?
- es muss dringend auf Bundesebene am Bußgeldkatalog nachgebessert werden
- warum werden keine Lärmblitzer installiert?
- warum hat die Stadt Angst, konsequent durchzugreifen?
- warum werden keine Modalfilter eingerichtet?

Anstatt endlich Modalfilter einzurichten und Durchgangsverkehr in Wohngebieten zu unterbinden, gibt es mit den Konservativen Kräften in Mannheim nur ein halbherziges "du, du, du" und eine völlig wirkungslose, wenn nicht sogar kontraproduktive Video-Kampagne.

Maßnahmen mit tatsächlicher Wirkung wie Modalfilter, Lärmblitzer und konsequenter Ahndung scheuen Bürgermeister, Polizei und Verwaltung. Hier könnten sie Rückgrat und Haltung zeigen. Das nun Wähler, Anwohner und Bürger Mannheims enttäuscht sind, dürfte auf der Hand liegen.
@mannheim

"Seit der Pandemie hat sich die Situation eher verschlimmert. Vor allem die rollenden Discos und Hupkonzerte unter unserem Fenster nerven" Seine Frau und er überlegen nun, aus den Quadraten wegzuziehen.

Ohne klares Bekenntnis zur Verkehrswende wird es schwierig die Attraktivität Mannheims zu verbessern. Das sollte auch der CDU Mannheim klar sein, die bisher vor allem durch Sabotage sinnvoller Maßnahme aufgefallen ist (
#Verkehrsversuch oder stadteigener Abschleppwagen).

#Autostadt #Lärmaktionsplan #Lärm #LärmMachtKrank #PolitischSoGewollt #GescheiterteKommune #Verkehrswende

mannheimer-morgen.de/orte/mannheim_artikel,-mannheim-laerm-hupen-poser-wie-poser-mannheims-innenstadt-belasten-_arid,2318920.html

Mannheimer Morgen · Lärm, Hupen, Poser: Wie Poser Mannheims Innenstadt belastenBy Sebastian Koch

Ein Lob und ein Dankeschön an #PolizeiMannheim

#Poser und #Raser terrorisiert um 1:00 h nachts die Anwohner in #Mannheim

"In der Nacht von Freitag auf Samstag, kurz nach 01:00 Uhr nahmen Beamte des Polizeirevier Mannheim-Oststadt in der Augustaanlage ein Porsche Boxster wahr, der sich akustisch frühzeitig ankündigte: Der Motor heulte laut auf, noch bevor der Wagen sichtbar wurde. Kurz darauf raste das Fahrzeug mit deutlich überhöhter Geschwindigkeit an der Streife vorbei. Haltesignale wurden schlicht ignoriert. Die Verfolgung wurde von der Streifenbesatzung sofort aufgenommen. Die Fahrt endete dann in einem Parkhaus, wo der Fahrer dachte, dass er unentdeckt ein Parkticket ziehen und mit quietschenden Reifen in die Tiefgarage einfahren kann. Der Versuch, sich zu Fuß davonzustehlen, scheiterte ebenfalls: Der junge Mann sprach mehrere Passanten an, ihn doch bitte für 100,- Euro nach Hause zu fahren. "Zu viel Polizei" sei unterwegs, erklärte er. Die Rückkehr zum Parkhaus mit einem der Zeugen brachte ihn schließlich direkt zu zwei wartenden Polizeibeamten. Der 21-Jährige verweigerte zunächst die Herausgabe seiner Personalien und zeigte sich sehr unkooperativ. Letztendlich musste er nach seinen Ausweispapieren durchsucht werden. Im Rahmen dieser Maßnahmen ergaben sich auch die ersten Hinweise auf möglichen Alkoholkonsum. Da der Mann einen Atemalkoholtest verweigerte, musste im eine Blutprobe entnommen werden. Das Ergebnis der Blutentnahme steht noch aus. Den Fahrer erwartet nun ein Strafverfahren, unter anderem wegen des Verdachts auf ein illegales Kraftfahrzeugrennen und Trunkenheit im Verkehr."

Was wohl die Konsequenzen sind? Wir werden es dank intransparenter Justiz nie erfahren
😬

Wenn euch Poser und Kfz in Mannheim auffallen, deren Fahrer*innen den Motor aufheulen lassen, meldet das bitte der Polizei: mannheim.pp@polizei.bwl.de

presseportal.de/blaulicht/pm/14915/6055191

#Autoterror #Autostadt

This redesign of #poser (for #swad) to offer a "multi-reactor" (with multiple #threads running each their own event loop) starts to give me severe headaches.

There is *still* a very rare data #race in the #lockfree #queue. I *think* I can spot it in the pseudo code from the paper I used[1], see screenshot. Have a look at lines E7 and E8. Suppose the thread executing this is suspended after E7 for a "very long time". Now, some dequeue operation from some other thread will eventually dequeue whatever "Q->Tail" was pointing to, and then free it after consumption. Our poor thread resumes, checks the pointer already read in E6 for NULL successfully, and then tries a CAS on tail->next in E9, which is unfortunately inside an object that doesn't exist any more .... If the CAS succeeds because at this memory location happens to be "zero" bytes, we corrupted some random other object that might now reside there. 🤯

Please tell me whether I have an error in my thinking here. Can it be ....? 🤔

Meanwhile, after fixing and improving lots of things, I checked the alternative implementation using #mutexes again, and surprise: Although it's still a bit slower, the difference is now very very small. And it has the clear advantage that it never crashes. 🙈 I'm seriously considering to drop all the lock-free #atomics stuff again and just go with mutexes.

[1] dl.acm.org/doi/10.1145/248052.

👮 Verkehrskontrolle in #Mannheim am Freitag abend, Fokus 🏎️ #Poser #Raser

Ergebnis:
- Fressgasse: 55 Geschwindigkeitsübertretungen
- D7 C7: 87 Geschwindigkeitsübertretungen
- Innenstadt: 90 Halte- und Parkverstöße (nur 90? 👀)
- 23 x Telefonnutzung am Steuer
- 16 x unnötiger Lärm
- 28 x fahren unter Missachtung Gurtpflicht
- 10 x unzulässige technische Veränderungen
- 23 x unbehebbare Mängel mit Wiedervorführung Kfz
- 5 x technische Überprüfung

96 Fahrzeuge kontrolliert

presseportal.de/blaulicht/pm/1

Presseportal.de · POL-MA: Mannheim: Gemeinsame Pressemitteilung der Stadt Mannheim und des Polizeipräsidiums Mannheim -...By Polizeipräsidium Mannheim

Now that #swad 0.7 is released, it's time to prepare a new release of #poser, my own lib supporting #services on #POSIX systems, following a #reactor with #threadpool design.

During development of swad, I moved poser from using strictly only POSIX APIs (with the scalability limits of e.g. #select) to auto-detected support for #kqueue, #epoll, #eventports, #signalfd and #timerfd (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 #dictionary using nested hashtables internally, or #async tasks mimicking the async/await pattern known from e.g, #csharp. 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).

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....

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? 🤔

Stay tuned, something will come here, maybe helping you to write a nice service in plain #C 😎:

github.com/Zirias/poser

GitHubGitHub - Zirias/poser: POsix SERvices framework for CPOsix SERvices framework for C. Contribute to Zirias/poser development by creating an account on GitHub.

The next release of #swad will probably bring not a single new feature, but focus on improvements, especially regarding #performance. Support for using #kqueue (#FreeBSD et al) to handle #signals is a part of it (which is done and works). Still unsure whether I'll also add support for #Linux' #signalfd. Using kqueue also as a better backend for #timers is on the list.

Another hopefully quite relevant change is here:

github.com/Zirias/poser/commit

In short, so far my #poser lib was always awaiting readiness notification (from kqueue, or #epoll 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. 😉

GitHubConnection: Try writing without notification · Zirias/poser@798f235Don't directly register for "ready to write" notifications when attempting to write something. Instead, when there's something to write at the end of the event loop, try just doin...

I'm trying to add "genric" #signal handling to #poser. Ultimate goal is to provide a way for #swad to handle #SIGHUP, although signal handling must be done in poser's main event loop (signals are only ever unblocked while waiting for file descriptor events).

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 #SIGINFO which doesn't even exist on all platforms ... 🤔

Now, #POSIX 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 #Linux? Should I check #NSIG and, if not defined, just define it to 64? 🙈

I finally eliminated the need for a dedicated #thread controlling the pam helper #process in #swad. 🥳

The building block that was still missing from #poser 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 #semaphore for completion, which of course blocks the worker thread.

Turns out we can actually do better, reaching similar functionality like e.g. #async / #await in C#: Release the worker thread to do other jobs while waiting. The key to this is user context switching support like offered by #POSIX-1.2001 #getcontext 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. #FreeBSD, #NetBSD, #Linux (with #glibc) ...

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. 😎

In any case, the code for the PAM credential checker module looks much cleaner now (the await "magic" happens on line 174):
github.com/Zirias/swad/blob/57

GitHubswad/src/bin/swad/cred/pamchecker.c at 57eefe93cdad0df55ebede4bd877d22e7be1a7f8 · Zirias/swadSimple Web Authentication Daemon. Contribute to Zirias/swad development by creating an account on GitHub.

On a #coding mission to improve my #poser lib 😎.

In the current implementation of #swad, I don't really like that I need an extra thread, just to control a child #process. A first piece to add to poser is generic "child process support", which I'm testing right now. I realized I could reuse my #Connection class, which was built for #sockets, but works just as well with #pipes 🙃

TODO now is mostly testing. See screenshots for some mimimal testing code and its output ... would you like this kind of interface? 🤔

Still working on #swad, and currently very busy with improving quality, most of the actual work done inside my #poser library.

After finally supporting #kqueue and #epoll, I now integrated #xxhash to completely replace my previous stupid and naive hashing. I also added a more involved #dictionary class as an alternative to the already existing #hashtable. 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 ...

#swad already uses both container classes as appropriate.

Next I'll probably revisit poser's #threadpool. I think I could replace #pthread condition variables by "simple" #semaphores, which should also reduce overhead ...

github.com/Zirias/swad

GitHubGitHub - Zirias/swad: Simple Web Authentication DaemonSimple Web Authentication Daemon. Contribute to Zirias/swad development by creating an account on GitHub.

First change since #swad 0.2 will actually be a (huge?) improvement to my #poser lib. So far, it was hardwired to use the good old #POSIX #select call. This is perfectly fine for handling around up to 100 (or at least less than 1000, YMMV) clients.

Some #select implementations offer defining the upper limit for checked file descriptors. Added support for that.

POSIX also specifies #poll, which has very similar #scalability issues, but slightly different. Added support for this as well.

And then, I went on to add support for the #Linux-specific #epoll and #BSD-specific #kqueue (#FreeBSD, #NetBSD, #OpenBSD, ...) which are both designed to *solve* any scalability issues 🥳

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 ... 😎

Replied in thread

DId lots of smaller improvements to #swad ... but first, I had to hunt down a crash 🤯. Finally found it was caused by my #poser 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.

Now, integration with #nginx 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 #cookie, 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 .... 🙄

The nginx configuration shows #swad running on "files" and another nginx running on "wwwint" serving #poudriere 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.

#Poser #Raser #gescheiterteKommune #Mannheim

"Der junge Mann fiel gegen 21.15 Uhr im Rahmen einer Kontrollstelle zur Geschwindigkeitsüberwachung in der Fressgasse auf. Ab Eingang Fressgasse beschleunigte er seinen hochmotorisierten Sportwagen und konnte in Höhe der Tiefgaragenzufahrt des Stadtquartiers im Quadrat Q 7 schließlich
mit einer Geschwindigkeit von über 100 km/h gemessen werden. In diesem Bereich ist die zulässige Höchstgeschwindigkeit auf 20 km/h begrenzt.

Durch die Kontrollkräfte konnte der 20-Jährige dabei beobachtet werden, wie er
mit geringem Abstand an zwei Fahrradfahrern vorbeiraste, die auf dem Fahrradschutzstreifen in gleicher Richtung unterwegs waren.

Durch eine abgesetzte Polizeistreife wurde der Lamborghini-Fahrer an der Kreuzung P5/Q6 gestoppt und so seine gefährliche Fahrt unterbrochen.

Im Rahmen der weiteren Ermittlungen stellte sich heraus, dass der junge Mann kein Unbekannter war. Er war bereits in zurückliegender Zeit mit einem ähnlich hochmotorisierten Fahrzeug mit dem gleichen Verkehrsverhalten aufgefallen."

Natürlich - Fahrer schon mehrfach auffällig. Die Fahrzeuge einzuziehen kam offenbar nicht in Betracht. Warum eigentich nicht?

Das ist imo kein Schutzstreifen, sondern ein Verpflichtender Radweg an der Stelle.

#autoterror #autoterroristen #politischsogewollt #fahrradalltag #verkehrswende #visionzero @fedibikes_de

www.presseportal.de/blaulicht/pm/14915/5969672