Avond

Zig dwingt duidelijkere operatorvolgorde af; kleine CNN wint beperkte huidkankertest

Zig laat voortaan sommige gemengde operatoruitdrukkingen alleen nog met expliciete haakjes door. Een kleine dermatologieproef laat intussen zien dat een gespecialiseerd beeldmodel in deze test beter scoort dan twee algemene LLM’s, maar geeft geen klinische inzetgarantie.

Zig maakt onduidelijke operatorprioriteit een compileerfout

De Zig-ontwikkeltak voert partial operator precedence in: combinaties waarvan de lees- of evaluatievolgorde niet vanzelfsprekend is, moeten voortaan haakjes krijgen. x orelse y == z levert bijvoorbeeld een fout op met de instructie om de bedoeling te verduidelijken. Gewone rekenkundige combinaties zoals x + y * z blijven zonder extra haakjes geldig.

Dat is een nuttige wijziging voor onderhoudbaarheid én migratie. De taal verschuift van een lange prioriteitstabel die iedere lezer moet onthouden naar een compiler die de twijfelgevallen afvangt. Volgens Zig betroffen de noodzakelijke wijzigingen slechts 353 regels in de eigen codebase van meer dan een miljoen regels, maar in een project kan juist één zeldzame uitdrukking een verborgen interpretatiefout bevatten.

Voor bestaande code noemt Zig twee routes. zig fmt --upgrade plaatst haakjes en bewaart de oude evaluatievolgorde; de vlag verdwijnt na één releasecyclus. Handmatig oplossen is langzamer, maar kan blootleggen dat de oude volgorde niet de bedoelde was. Ook na formattering is een diff-review dus verstandig, vooral rond orelse en catch. Dit zit in de master branch, niet in een aangekondigde stabiele release.

Zig-devlog met voorbeelden en migratiepad · Lobsters-discussie

Gespecialiseerde CNN scoort beter dan LLM’s in beperkte huidkankerproef

Dermatoloog Magnus Lynch vergeleek GPT-6 Astra, Claude Fable 5.1 en een op dermatologiebeelden gefinetunede Inception v3-CNN op 200 histologisch bevestigde huidlaesies. Binnen zes vooraf bepaalde diagnoses had de CNN 125 juiste eerste keuzes (62%), tegenover 84 en 85 (beide 42%) voor de LLM’s. De modellen kregen klinische foto én dermoscopisch beeld; de CNN kreeg vooral gewicht op dat laatste beeldtype.

De praktische les is niet dat een oud netwerk ineens een klinisch product is, maar dat een algemeen multimodaal model niet automatisch een gespecialiseerde classifier vervangt. In deze opzet had de CNN bovendien andere foutpatronen: bij de standaarddrempel zou die 18 van 30 melanomen als veilig voor ontslag hebben aangemerkt, ook al was zijn totaalscore hoger. De auteur beschrijft daarom ook andere drempels die de veiligheidsuitkomst beter laten aansluiten bij de LLM’s.

De beperkingen zijn substantieel. Het gaat om 200 geselecteerde, gebiopte laesies, met slechts 30 melanomen; ieder LLM-geval is één keer uitgevoerd en antwoorden kunnen variëren. De auteur noemt de CNN zelf nadrukkelijk geen state of the art en zegt dat gereguleerde gespecialiseerde systemen beter presteren. Zie dit daarom als een goed gedocumenteerde vergelijking van modeltypen, niet als onderbouwing om medische beoordeling of gevalideerde diagnostiek te vervangen.

Proefopzet, data en resultaten · HN-discussie

Gebruik wordexp(3) niet als makkelijke tilde-expander voor invoer van gebruikers

Een technische waarschuwing over POSIX-API wordexp(3) raakt een verleidelijke snelkoppeling in C: wie alleen ~/pad naar een home-directory wil vertalen, kan met deze functie ongemerkt een hele shellachtige expansietaal toelaten. Zonder flags zijn commandosubstituties zoals $(whoami) actief.

WRDE_NOCMD lijkt de voor de hand liggende rem, maar de auteur wijst op een scherpere grens. Musl zou voor delen van de verwerking naar de systeemshell delegeren en vooraf slechts patronen scannen; sommige vormen die de shell als commandosubstitutie accepteert zouden die scan kunnen omzeilen. Voor macOS wordt een vergelijkbare historische route via wordexp-helper genoemd, waarvan de actuele status in dit stuk niet opnieuw is getest.

De veilige ontwerpkeuze is daarom eenvoudiger dan proberen de API met flags te temmen: geef onbetrouwbare invoer nooit aan wordexp(3). Heeft een programma uitsluitend ~ of ~gebruiker nodig, implementeer dan alleen die beperkte syntaxis of gebruik een doelgerichte bibliotheekfunctie. Het artikel is een technische waarschuwing, geen nieuw CVE-rapport; controleer libc- en platformgedrag zelf wanneer bestaande code deze API al aanroept.

Uitleg en voorbeelden · Lobsters-discussie

Wide events zijn een bruikbaar observability-model, geen vervanger die vanzelf alles oplost

Een praktijkbetoog pleit ervoor observability niet primair als drie losstaande pijlers — metrics, logs en traces — te benaderen, maar als brede, doorzoekbare gebeurtenissen met veel velden. Het voorbeeld: leg bij een advertentie-impressie onder meer versie, besturingssysteem, land en campagnetype vast, zodat een incident later via filteren en groeperen kan worden ingeperkt zonder dat die exacte combinatie vooraf als metric was bedacht.

Dat model is vooral bruikbaar als ontwerpvraag voor incidentonderzoek: welke context is straks nodig om een onbekend probleem te kunnen uitsplitsen? Trace-IDs, span-IDs en ouderschap kunnen daarin gewoon velden zijn; hetzelfde geldt voor gestructureerde logs en periodieke statusmetingen. Het betoog positioneert dit als een route rond hoge-cardinaliteitsproblemen van vooraf geaggregeerde metrics.

De conclusie is opinie, geen aangetoonde vervanging van OpenTelemetry of elke bestaande stack. Brede events vragen nog steeds om keuzes over privacy, retentie, kosten, sampling, schemaconsistentie en toegangsrechten; ‘sla alles op’ is juist bij persoonsgegevens geen neutraal advies. De interessante, beperkte les: ontwerp instrumentatie zodat teams kunnen segmenteren op de dimensies die een incident waarschijnlijk verklaren, en test of die verkenning in de gekozen backend daadwerkelijk snel en beheersbaar blijft.

Het betoog over wide events · HN-discussie

Verder nog

  • Zig-pakketten zonder manifest krijgen explicietere metadata: de ontwikkeltak laat voor zogeheten naked packages naast URL ook versie en toegestane paden vastleggen. Dat moet hashes leesbaarder en minder gevoelig voor irrelevante meegeleverde bestanden maken; bestaande projecten moeten bewust voor het nieuwe hashformaat kiezen. Zig-devlog · Lobsters-discussie

Deze update is gegenereerd met GPT-5.6 Terra.