Von den zwei parallelen Internet-Kernschmelzen der letzten Tage bekommt PHP2Shell deutlich mehr Aufmerksamkeit bis in die Regionalpresse. Meine PHP-freien Systeme betreffen nur die kompromittierteneMudhra-Schlüssel, aber nach dem Entfernen veralteter Python-Versionen (python311: 3.11.16 -> 3.11.17 [FreeBSD-ports] (vulnerable!)) und dem Einspielen frischer Pakete, Python-Module und Zertifikatslisten –
Weil die Administration einer Sammlung von FLAC-Dateien keine echte Herausforderung darstellt, möchte ich meinen Musikbestand auf meiner Website replizieren. Mit Hilfe entsprechender Skripte sollen
Versionierte Alben auf Basis der FLAC-Metadaten in einer Datenbank abgebildet
Wikipedia-Seiten der Alben ergänzt (und bei Bedarf zur Korrektur des Veröffentlichungsdatums genutzt)
Positionen auf den Ranglisten und die zugehörigen Elogen von Rolling Stone und Apple Music hinzugefügt
Cover-Bilder extrahiert und als WebP-Dateien auf dem Webserver hinterlegt
Um dem Internet die Elogen zu entwinden, setze ich auf schöne Suppe, die auch aus den unübersichtlichsten Webseiten zuverlässig die richtigen Inhalte herauskratzt.
Alles kein Problem, aber womit ich nicht gerechnet habe, ist der rückständige PostgreSQL-Cluster unter FreeBSD –
datname | datcollate | datctype
-----------+------------+----------
postgres | C | C.UTF-8
template1 | C | C.UTF-8
template0 | C | C.UTF-8
mydb | C | C.UTF-8
– der my bloody valentine hinter den Zombies einsortiert. Dieses Problem erfordert radikale Maßnahmen (mit einem vorangehenden pg_dump für das anschließende pg_restore):
Monatelang habe ich das despektierliche Gerede über meinen hochgeschätzten Supernutzungsagenten ignoriert, aber heute warnt auch pkg eindringlich (This PAM module is abandonware: no code updates for 8+ years, no new releases for 6+ years.) und rät zu einem Umstieg. Der gestaltet sich denkbar einfach. Nach dem Austausch der Module –
Der Wechsel von Streaming-Diensten zu einem eigenen Medienserver bietet einen willkommenen Anlass zur Beschäftigung mit ffmpeg und awk. ffmpeg übernimmt die Umwandlung von ALAC- in FLAC-Dateien und die Verifikation der Äquivalenz:
Grundsätzlich kann ffmpeg auch AAC-Dateien erzeugen, aber der eigene Encoder ist nicht konkurrenzfähig, und eine Kompilation mit der überlegenen Fraunhofer-Bibliothek ist mir zu aufwendig. Als Alternative gibt es unter macOS afconvert, so dass ffmpeg sich auf die Übertragung von Metadaten und Cover-Bildern beschränken kann:
Beim umgekehrten Weg – der eigentlich unsinnigen Umwandlung verlustbehafteter AAC-Dateien in verlustfreie ALAC-Dateien – sollte ffmpeg auf 16 Bit begrenzt werden, um keine übergroßen Dateien zu produzieren:
Ebenfalls sehr befriedigend ist der Einsatz von awk zur Listen-Zusammenführung. Neben der mehrfach überarbeiteten Albenliste des Rolling Stone-Magazins gibt es seit kurzem eine (deutlich kürzere) Liste von Apple Music, und zum Abgleich mit meiner Musiksammlung wäre eine konsolidierte Liste sehr hilfreich. Mit awk lassen sich beide Listen sehr elegant kombinieren und nach Albumtitel sortieren (bei dieser Gelegenheit wird auch die vierte Spalte – Veröffentlichungsjahr bzw. Autorinnen der Wikipedia-Einträge – entfernt):
Six weeks into the term, I assigned my rhetoric and writing students a 20-page article. It was the same length I had assigned for five years and the same length I had read without complaint as an undergraduate a decade ago. Not one student finished it. When I asked why, a student answered honestly: It was too long, and she kept losing track of what the paper was about. This was not a remedial class: These were students who had cleared the admissions process and written essays good enough to get them here. Yet a routine academic reading assignment had defeated them. Every generation of professors has complained that their students cannot read. The lament is usually overblown, but data have caught up to anecdote, and what I am seeing in my classroom is no longer a hunch. There is a measurable, generational collapse in sustained reading and writing, and the academy is responding to it with improvisation and exhaustion rather than the structural overhaul it requires. In February 2024, Adam Kotsko, who teaches in the Shimer Great Books School at North Central College, wrote in Slate that students who once handled 30 pages of reading per class meeting now seem intimidated by anything over 10 pages and seem to walk away from readings of as little as 20 pages with no real understanding.
And I hate what it is doing to the minds, and the happiness, of the young. Going into schools, I meet thousands of children a year and every day I become more certain that, if justice for all is to be our organising principle, AI is not for children and not for young people. It risks becoming an iron curtain that comes down between a young person and their potential for thinking, for experiment and conquering frustration, for stamina and for invention – and thereby, between the young people and their freedom. It risks halting learning before it can take flight.
If there’s one thing America seems to agree on, it’s AI. Some three-quarters of Americans oppose a data center being built in their area, three-quarters of Americans think AI will hurt their job security, nearly 70 percent think the technology is advancing too quickly—the polls go on. Progressive and Republican candidates alike are bashing the tech industry to win primary elections. States and cities are halting plans for data-center development.
Eigentlich ein idealer Moment für Investorinnen, um in Panikzu verfallen (The defining feature of this moment is a loss of control. Panic emanating from AI researchers, resentment felt by average Americans—all of it is part of the AI crunch.), obwohl es um die aufwendig vorbereiteten IPOs natürlich etwas schade ist.
The problem with using LLMs to research information is that this technology generates text, it does not report information.
Generating a map is not the same as finding an accurate map that already exists. Same for any other pieces of information.
And even if it was able to find and report information without modifying it (what a search engine does basically), it cannot evaluate if this information is accurate.
Whether it’s Reddit, news stories, or academic papers, you can still find often-repeated opinions about how (LLM-based) AI can’t reason, should not be called intelligent, cannot flexibly adapt to changing circumstances, and can only regurgitate what it has seen in training and not solve novel problems. And fundamentally, current AI isn’t like what we know – and fear – from sci-fi: it can’t act in the world, it just provides you with information, like a more interactive version of Wikipedia or Google. And half of the time it doesn’t even work!
Like others, I get the sense that such views are based on interactions with the chatbots of about a year ago, not very-current AI agents.
Yes, one can get bogged down in the semantics of reasoning or understanding. But here I just mean: for practical purposes. At this point, AI agents are solving real problems for me, and do so in a way that sure looks functionally like reasoning or understanding. [...]
I ended up with seven mini-projects (which I’ll also call runs or experiments) and several layers of analysis on top. I won’t go through all the details, as the aim is to convey that this sort of thing is possible at all and to build intuitions around AI agents. Here I’ll only highlight a few key things.
First to make sense of what happened, I should clarify the role of different (sub-)agents here, as shown in the below diagram.
Seit dem Beginn des Computer-Zeitalters waren Software-Entwicklung und das Verfassen von Texten trotz des Übergangs von machine code über assembly languages zu high-level languages klar unterscheidbare Tätigkeiten, die sehr unterschiedliche Menschen anzogen (was sich unter anderem in schlecht dokumentierter Software widerspiegelte).
Vibe coding mit Hilfe von LLMs verwischt diese Grenzen, was einige Entwicklerinnen irritiert –
look there's a billion other reasons why people are against AI and all but fundamentally the core of my personal reason is that I've already spent 30 years learning how to teach computers how to do exactly what I tell them to, so I am exceptionally disinterested in having them do things less accurately by talking to them in a sloppier language
Wer das Ziel eines Projektes in Worte fasst, lässt zwangsläufig Spielraum für Interpretation. Und hier spielen Agenten ihre Stärke aus: In ihren Trainingsdaten finden sie die Grundlagen, um natürliche Sprache zu deuten, diesen Spielraum zu füllen und auf dieser Basis Code zu schreiben. Das erspart den Beteiligten, jedes Detail buchstabieren zu müssen. Diese Stärke hat jedoch auch eine Kehrseite. Ob der Agent den Spielraum im Sinne des Projektziels füllt oder lediglich auf Grundlage wahrscheinlicher Muster, ist ungewiss.
Die Beteiligten müssen es deshalb prüfen. Genau darum kommt klaren Formulierungen in der agentischen Welt so viel Bedeutung zu. Eine gute Entwicklerin oder ein guter Entwickler ist ein Korrektiv für mangelnde Präzision: Sie erkennen Lücken und hinterfragen diese. Ein Agent kann das Gegenteil sein: ein Verstärker. Im ungünstigen Fall erkennt er die Lücke nicht als Lücke, fragt nicht nach, sondern baut einfach. Das Risiko ist dann nicht eine Software mit Bugs, sondern eine Software mit Annahmen, die so niemand getroffen hat. Die Anwendung mag technisch sauber laufen, die fachliche Abweichung fällt vielleicht erst viel später auf.
In jedem Fall sind sich alle einig, dass lauffähiger Code keine Geschmackssache ist. Anders verhält es sich aus Sicht von Anthropic bei Texten. Im Zusammenhang mit der geplanten Markierung von LLM-Ausgaben führt das Unternehmen aus:
We use a method of watermarking that does not have any practical impact on the quality or content of Claude’s outputs;
The difference between watermarked and un-watermarked text will not be distinguishable to readers; [...]
As we noted above, AI watermarking takes advantage of decisions where either choice of a word would be equally good. Where an exact output is required—where there isn’t a choice, and something would be factually wrong or a piece of code would break if a different term was chosen—the watermark isn’t applied.
For example, once the model has written 2 + 2 =, there is a very clear best choice for the next token (if the model is completing the sum, there isn’t an answer that’s equally as good as 4; if it’s talking about George Orwell’s Nineteen Eighty-Four, there isn’t an answer that’s equally as good as 5). The nudge of the watermark wouldn’t be applied here. For the same reason, code—which in very many cases has to be exact—has generally less watermarking than some other forms of text.
Die Annahme, es gebe in natürlichen Sprachen stets gleichwertige Ausdrücke, provoziert auch in diesem Kontext Empörung –
I want any LLM I use to choose the very best, most precise words at every single decision point. [...] This entire endeavor is a perverse adulteration of what it means to write — or to read.
Die meisten Texterinnen nehmen allerdings – wie ihre Kolleginnen in der Software-Entwicklung – zunehmend ungeniertKredite auf –
The difference this time is that Druckenmiller owned it. Of course I used AI, he told NOTUS on Tuesday. I’m not embarrassed by it, he added. I write everything using AI now for the same reason I use a calculator when I do math problems. And rather than rebuke him, The Wall Street Journal’s editorial-page editor, Paul Gigot, defended the practice. AI is a fact of modern life, he said in a statement. Last night, Gigot followed up with a full column on the subject, mocking the media pharisees who wag their fingers at automated writing. He clarified that the Journal’s opinion staffers must still draft their own columns and editorials but said that he doesn’t intend to police AI use by outside contributors. Many contributors, especially prominent politicians or CEOs, employ speechwriters or hire a Beltway writing shop, he wrote. How different is that from using AI to streamline an essay?
Since then, pundits and influencers have declared that AI progress is slowing, that scaling has hit the wall, and that the entire field is just another tech bubble inflated by blusterous hype. In fact, many influencers have latched onto the dismissive phrase AI slop to diminish the amazing images, documents, videos and code that frontier AI models generate on command. [...]
On the creativity front, today’s AI models can generate content faster and with more variation than any individual human. Critics argue that true creativity requires inner motivation. I resonate with that argument but find it circular — we're defining creativity based on how we experience it rather than the quality, originality or usefulness of the output. Also, we just don’t know if AI systems will develop internal drives or a sense of agency. Either way, if AI can produce original work that rivals most human professionals, the impact on creative jobs will still be quite devastating.
An den verheerenden Auswirkungen von LLMs habe ich keinen Zweifel, fraglich ist nur, ob wir auf ein Terminator-, Matrix- oder Mad Max-Szenario zusteuern, oder ob in einigen Jahren altgediente Entwicklerinnen und Texterinnen mit hohen Zahlungen dazu bewegt werden müssen, KI-Schulden zu tilgen.
Eigentlich sind Video-Dateien nach meinem Empfinden hinreichend komplex, aber die Ton- und Bild-Ingenieurinnen bei Dolby sehen das etwas anders. Wenn ein Video-Stream mit Dolby Vision 5.0 kodiert wurde, wird er mit dem Tag dvh1 gekennzeichnet, ein Stream mit Dolby Vision 8.1 (rückwärtskompatibel mit HDR10/HDR10+) dagegen mit hvc1 (oder hev1), außerdem wird das DV-Profil mittels Seitendaten (≠ Metadaten) ausgewiesen:
Weil bei der Anwendung meines bewährten Audioentwirrungsbefehls (ffmpeg -y -i input.mp4 -map 0 -c copy -disposition:a:0 0 -disposition:a:1 default output.mp4) die DOVI-Seitendaten verloren gehen, bekommen DV 5.0-Filme einen interessanten, aber nicht werktreuen grünen Farbstich, während DV 8.1-Filme auf schnödes HDR10 zurückfallen. Die Lösung ist erneut eine obskure ffmpeg-Option:
The majority of participants were unable to recognize when an attacker had created their own passkey with access via password, the research team concludes. They also failed to remove the passkey from the respective account without help. The security settings were sometimes confusing; in one case, someone understood the display of two different passkeys as being for two devices. Lead author Alaa Daffalla from Cornell University describes the lack of understanding of the concept of passkeys as surprising, especially for people with technical expertise. Overall, it is a little worrying that people are increasingly using passkeys without understanding how they work.
Cybersecurity experts will tell you that passkeys—which typically entail logging in to apps or websites with a face or fingerprint scan instead of a password—are the future. When they work properly, they’re both painless and secure. It may get to a point where we’re all using passkeys and we don’t even know we’re using passkeys, Lorrie Cranor, a computer-science professor at Carnegie Mellon University who researches privacy and cybersecurity, told me. I just say Log in and I smile at it, and it gets my passkey, and I’m logged in.
But that future isn’t here yet, and in the present, passkeys have added a new layer of frustration. Part of the problem is that virtually no one seems to know what they are.
In Deutschland bemühen sich öffentliche Verwaltung und Unternehmen redlich, die eID-Funktion des 2010 eingeführten elektronischen Personalausweises endlich populärer zu machen (das Techniktagebuch berichtet regelmäßig). In Italien gibt es neben dem Pendant des elektronischen Personalausweises (Carta di Identità Elettronica, CIE) die ältere Carta Nazionale dei Servizi (CNS), die u.a. als Krankenversicherungskarte dient. Der Zugang zu öffentlichen Online-Diensten erfolgt über eine der beiden Karten oder über das Sistema Pubblico di Identità Digitale (SPID), für das man sich persönlich, per Webcam oder mit CIE/CNS identifizieren kann. Soweit die Theorie. In der Praxis ruht die Authentifizierung auch in Italien noch auf traditionellen Säulen: Dem persönlichen Kontakt, der eigenhändigen Unterschrift, der individuellen Steuernummer (codice fiscale) und dem Foto eines Ausweisdokumentes.
Vor kurzem konnte ich die Verhältnisse aus der Nähe betrachten, weil ich organisatorische Aufgaben rund um eine italienische Immobilie übernommen habe. Das Ziel bestand darin,
sämtliche Rechnungen und Bescheide per E-Mail zu erhalten
Zugang zu den Online-Portalen der relevanten Ämter und Unternehmen zu bekommen und
alle zu zahlenden Beträge von einem deutschen Bankkonto abbuchen zu lassen oder zu überweisen (statt das Formular Modello F24 Semplificato in Verbindung mit einem italienischen Konto verwenden zu müssen).
Meine Gegenüber sind die zuständige Gemeinde, eine Versicherung und drei verschiedene Versorgungsunternehmen (Gas, Wasser, Strom).
Die Gemeindeverwaltung hat je nach Sachbearbeiterin zwei Betriebsmodi. Zur Regelung von Grundsteuer-Angelegenheiten (IMU) ist eine persönliche Vorsprache erforderlich, auf E-Mails wird erst nach diesem Kennenlerngespräch reagiert. Dafür genügt zur Authentifizierung ein vertrauenswürdiges Auftreten – alle gewünschten Änderungen werden ohne Identitätsnachweis vorgenommen. Die für Abfallgebühren (TARI) zuständige Sachbearbeitung reagiert dagegen sofort auf E-Mails, fordert aber ein vom Hausbesitzer unterzeichnetes Antragsformular samt Kopie seines Personalausweises.
Der Gasversorger ENEL verfügt als modernes Großunternehmen über ein Online-Antragsverfahren für digitale Rechnungen (Attiva Bolletta Web), das nicht funktioniert. Nach Eingabe von Kundennummer, Steuernummer und Mobilfunknummer blitzt sehr kurz ein Web-Formular für weitere Angaben auf, bevor eine höfliche Fehlermeldung erscheint (Gentile Cliente, i nostri servizi al momento non sono disponibili per problemi tecnici. Ti preghiamo di riprovare più tardi.). Nach einigen Wochen und vielen Versuchen glaube ich nicht mehr an vorübergehende technische Probleme und kontaktiere ENEL stattdessen per Chat. Meine Gesprächspartner fragen ebenfalls Kunden- und Steuernummer ab und bitten mich dann, meine Identität als Vertragspartner zu bestätigen. Als ich wahrheitsgemäß antworte, dass der Vertragsinhaber neben mir sitzt und ich in seinem Auftrag tippe, brechen sie den Chat kommentarlos ab. Beim nächsten Versuch behaupte ich, der Vertragspartner zu sein und stoße auf eine überraschende Authentifizierungsmethode: Der misstrauische Mitarbeiter glaubt nicht, dass der im Jahr 1940 geborene Vertragspartner ein Chat-Interface bedienen kann und bezichtigt mich, ein Sohn oder ein anderer Verwandter zu sein (nicht ganz zu Unrecht). Auch dieser Chat wird kommentarlos beendet. Die vierte Mitarbeiterin schließlich akzeptiert mich auf Basis von Kunden- und Steuernummer als Vertragspartner und hinterlegt die gewünschte E-Mail-Adresse und Mobilfunknummer für die Zustellung einer elektronischen Rechnung.
Anschließend erhalte ich eine E-Mail, die auf den ersten Blick der Bestätigung der E-Mail-Adresse dient (Conferma Indirizzo E-Mail), tatsächlich aber über den darin enthaltenen Link die Mobilfunknummer bestätigt (CERTIFICATION MOBILE PHONE). Eine zweite E-Mail führt mich scheinbar an den Anfang des defekten Online-Antragsverfahrens zurück (Attiva Bolletta Web), aber hinter dem Button verbirgt sich nun ein funktionierender Link. Mit einem Link in einer dritten E-Mail (Completa attivazione del servizio Bolletta Web) wird dann die E-Mail-Adresse bestätigt. Sicherheitshalber erhalte ich zwei Tage später erneut eine E-Mail zur Bestätigung der Mobilfunknummer. Mit Hilfe der bestätigten E-Mail-Adresse und Mobilfunknummer funktioniert die Aktivierung eines Accounts für den Online-Servicebereich, wo man auch eine andere E-Mail-Adresse als Benutzername wählen kann, wenn man es unübersichtlich mag.
Für die Einrichtung eines Lastschrifteinzugs gibt es ein PDF-Dokument, das ausgefüllt, vom Kontoinhaber unterschrieben und mit einer Personalausweiskopie des Kontoinhabers eingereicht werden muss. Das vorgesehene Upload-Formular funktioniert wieder nicht (Qualcosa è andato storto.), aber das PDF-Dokument kann auch per E-Mail übermittelt werden. Weil ich (als Kontoinhaber) noch keine italienische Steuernummer habe, lasse ich das entsprechende Feld ich leer, was zur Folge hat, dass der Lastschrifteinzug mit meiner Kontonummer, aber dem Namen und der Steuernummer des Hausbesitzers/Vertragspartners hinterlegt wird.
Ich protestiere schriftlich und beantrage parallel eine Steuernummer beim zuständigen Generalkonsulat in Deutschland. Die italienischen Generalkonsulate haben für das Antragsverfahren einen großen Gestaltungsspielraum, so dass das Konsulat in Frankfurt sich am offiziellen PDF-Formular der Agenzia delle Entrate orientiert, während Köln ein individuell gestaltetes Word-Dokument zum Download anbietet. Der Antrag bleibt auf Grund der Sommerferien für einige Wochen unbeantwortet, aber in der korrigierten Lastschrifteinzugsbestätigung von ENEL taucht plötzlich eine (meine?) neue Steuernummer auf. Eine Mitarbeiterin des Konsulats erklärt mir später auf Nachfrage, dass ENEL tatsächlich eine Steuernummer erstellt habe, die aber nicht validiert sei. Damit die Angelegenheit nicht noch komplizierter wird, validiert sie die ENEL-Steuernummer nachträglich.
Weiter geht es mit dem regionalen Wasserversorger, Acqua Bresciane. Er hat weniger schicke, aber dafür funktionierende digitale Dienste: Ich kann mich ohne weitere Identitätsprüfung mit Kunden- und Steuernummer des Hausbesitzers über ein Web-Formular registrieren und im Kundenbereich die Zustellung von Rechnungen per E-Mail einrichten. Die Forderung des PDF-Formulars für den Lastschrifteinzug nach einer Steuernummer des Kontoinhabers (Al presente modulo è necessario allegare copia del Documento d’Identità valido e del codice fiscale del Sottoscrittore.) kann ich dank ENEL und Generalkonsulat erfüllen.
Die Gebäudeversicherung Vittoria Assicurazioni verlangt für die Einrichtung eines Online-Accounts die Übermittlung von Kundennummer, Steuernummer und Personalausweiskopie per E-Mail und schickt anschließend ein Erstpasswort (ebenfalls per E-Mail). Rechnungen werden per SEPA-Überweisung bezahlt, so dass kein Lastschrifteinzug eingerichtet werden muss.
Das Portal des Stromversorgers A2A fordert schließlich zur Registrierung eines Online-Accounts aus technischen Gründen (un vincolo tecnico della piattaforma) eine italienische Mobilfunknummer und setzt mir damit eine harte Grenze. Allerdings gibt es ein Kontaktformular (leicht instabil, an manchen Tagen kann es trotz korrekt ausgefüllter Felder und Kenntnisnahme der Datenschutzhinweise nicht abgeschickt werden), über das der elektronische Rechnungsversand (bollett@mail) und ein Lastschrifteinzug (nach Angabe von Vertragsnummer, Steuernummer des Vertragspartners, Lieferanschrift, Personalausweiskopie und Steuernummer des Kontoinhabers) formlos veranlasst werden können.