Avond

Lokale dicteerapp en voorzichtige formulieragent zetten grenzen expliciet in code

BetterWispr kiest voor lokale transcriptie en optionele lokale samenvatting, maar vraagt op macOS wel brede invoerrechten. FormPilot laat tegelijk zien hoe een agent onomkeerbare formulieracties technisch kan blokkeren in plaats van op modelintenties te vertrouwen.

BetterWispr brengt lokale dictering met expliciete cloudgrens naar macOS

BetterWispr is een gratis, Apache-2.0-gelicentieerde dicteerapp voor macOS 14+, met Apple Silicon als aanbevolen platform. De app laat tekst via een sneltoets in de actieve toepassing invoegen en biedt lokaal draaiende Apple Speech-, Parakeet- en Whisper-modellen. Volgens de projectpagina worden modellen eenmalig gedownload en is er geen cloudfallback voor transcriptie.

Interessant is de expliciete scheiding tussen transcriptie en nabewerking. Voor notities kan BetterWispr Apple Intelligence of een lokale Ollama-installatie gebruiken om samenvattingen, besluiten en actiepunten te maken. Externe providers zoals Claude Code, Codex of een OpenAI-compatibele API zijn volgens de documentatie optioneel; pas als de gebruiker die kiest, gaat de transcriptie daarheen. De app bewaart ruwe en opgeschoonde tekst lokaal en laat die historie uitschakelen.

Dat maakt het een praktische kandidaat voor lokale spraak-invoer, maar niet zonder aandachtspunten. De app vraagt microfoon- en toegankelijkheidstoegang om spraak op te nemen en tekst in andere apps te plaatsen; sommige velden of apps blokkeren automatisch plakken alsnog. Ook zijn cleanup, stijlen en stemcommando’s volgens de pagina Engelsgericht, terwijl taalondersteuning afhangt van het gekozen herkenningsmodel. Test dus vooral eigen taal, jargon, doelapps en de ingestelde historie vóór je dit voor gevoelige gesprekken gebruikt. Projectpagina · HN-discussie

FormPilot bewaart onomkeerbare klikintentie vóór de browseractie

FormPilot is een vroeg lokaal agentproject voor lastige webformulieren. Een lokale visionmodelroute via Ollama bekijkt screenshots en geeft één begrensde actie terug; Playwright voert die uit. De DOM dient volgens de repository alleen om achteraf te verifiëren wat er onder de cursor stond en of de pagina veranderde, niet als modelinvoer voor het kiezen van een doel.

De interessante ontwerpkeuze is de behandeling van een betaling of andere onomkeerbare submit. FormPilot classificeert zulke acties als commit, schrijft de intentie eerst naar een geflushte ledger en markeert de actie daarna alleen als bevestigd of afgewezen wanneer er bewijs op de pagina staat. Een timeout blijft in_doubt, niet ‘mislukt’; zolang die toestand openstaat, blokkeert de software een herhaalde klik. Bij hervatten gebruikt de agent checkpoint en browsersessie in plaats van stappen opnieuw af te spelen.

Dat is een bruikbaar patroon voor agentbouwers: de grens zit in een onafhankelijke executielaag met toestand, bewijs en herstelregels, niet in de tekst waarin het model belooft voorzichtig te zijn. Maar het is nog geen bewijs dat de tool op echte portals betrouwbaar werkt. De maker testte op een eigen mock-examenportaal, noemt dropdowns en de circa tien seconden per stap als zwakke punten, en waarschuwt dat screenshots en video niet automatisch gevoelige data redigeren. Gebruik dit daarom hoogstens als inspecteerbaar ontwerp of in een wegwerkomgeving; echte betalingen, persoonsgegevens en inloggegevens vragen nog steeds menselijke goedkeuring en aparte beveiligingsgrenzen. Repository met ledger-, herstel- en testopzet · Reddit-post

Futhark kiest conservatieve verfijning voor aliasanalyse in hogere-ordefuncties

De makers van de functionele GPU-taal Futhark beschrijven hoe zij aliaspropagatie willen verfijnen op weg naar 1.0. Voor veilige in-place updates moet de typechecker conservatief bijhouden welke waarden mogelijk hetzelfde geheugen delen. Bij hogere-ordefuncties gaat die informatie snel verloren: een generieke apply kan bijvoorbeeld zowel een luie view als een verse kopie teruggeven.

De voorgestelde oplossing leidt in specifieke gevallen uit parametriciteit af of een resultaat dezelfde ‘freshness’ kan erven als de aangeroepen functie. Zo kan een call naar een functie die een verse kopie levert nauwkeuriger worden behandeld zonder dat gebruikers een extra freshness-polymorf type in hun interfaces hoeven te schrijven. De verfijning wordt bewust alleen toegepast wanneer een polymorfe functievariabele volledig is aangeroepen; partiële toepassing blijft een veilige, grovere aliasschatting krijgen.

Voor compilerbouwers is vooral die begrensde ambitie interessant: een preciezere analyse mag niet stil onveilig worden of onbegrijpelijke typefouten creëren. De auteur liet een beperkte modeltaal met agenthulp in Rocq formaliseren, maar benadrukt dat de Haskell-implementatie niet rechtstreeks de bewezen implementatie is en dat Futhark-features buiten het model nog fouten kunnen bevatten. Zie dit dus als een zorgvuldig gedocumenteerde typecheckerkeuze, geen formeel bewijs voor de volledige compiler. Technische uitleg en beperkingen · Lobsters-discussie

Verder nog

  • Lokale contractanalyse vraagt broncontrole na generatie: de maker van de Mac-app Citenook beschrijft een lokale Qwen3-8B-route die antwoorden over contracten aan passages koppelt en getallen tegen die passages controleert. De praktijkles is zinnig: hybride zoektechniek helpt bij clausule- en factuurnummers, en tegenstrijdige documenten moeten naast elkaar zichtbaar blijven. Het gaat wel om een ontwikkelaarsverslag, geen onafhankelijke evaluatie; ook met een citaat kan een model het verkeerde document als leidend behandelen. Ervaringen en grenzen
  • PSllama laat lokale AI op een jailbroken PS5 zien: een hobbyproject bundelt llama.cpp, whisper.cpp en stable-diffusion.cpp via de RDNA2/Vulkan-route van een PlayStation 5. De maker noemt onder meer Qwen3-30B-MoE tot 96 tok/s en een lokale OpenAI-compatibele endpoint, maar dit blijft een maker-demo met een aangepaste console en specifieke firmwarevereisten. Interessant als Vulkan-/homebrewexperiment, niet als breed inzetbare inference-server. Projectpost

Deze update is gegenereerd met GPT-5.6 Terra.