Quokkas

Veronica Williams PHOTOGRAPHER has added a photo to the pool:

Quokkas

© Veronica Williams (PHOTOGRAPHER)

Starbucky

Thomas Hawk posted a photo:

Starbucky

Mountain View Cemetery

Thomas Hawk posted a photo:

Mountain View Cemetery

MAJESTIC LOTUS

ajpscs posted a photo:

MAJESTIC LOTUS

the SQUARE
LOTUS & WATER LILIES
ON MY KNEES, I CAN SEE FOREVER
© ajpscs

The Daily WTF

Curious Perversions in Information Technology

CodeSOD: AAYFN

Jason M sends us some Ruby code.

def bv(prop, tv="Yes", fv="No", nv="Not Specified")
  v = self.send(prop)
  if v === true
    tv
  elsif v === false
    fv
  else
    nv
  end
 end

The obvious WTF here is the function name and parameter names. AAYFN seems to be the convention here. But it also contains a more Ruby-specific WTF.

The function name bv is short for "boolean value", obviously. tv is the "true value", fv is the false value, and nv is the null value. So this is really about pretty-printing boolean values and converting them to strings. While the terrible names make it hard to understand, it's not that hard to figure out what's going wrong here. I hate it, don't get me wrong, but it just makes me sigh with disappointment, not groan.

No, the thing that makes me groan is v = self.send(prop). This is a very Ruby idiom that lets you access a member of the class by name; essentially it's like doing self.prop, but since prop is a variable containing a property name, we have to send it.

This is metaprogramming by strings, which is the main reason I end up hating it. But in this specific instance, it offers us a lot of potential issues. First, if prop is anything not boolean, we just return "Not Specified", which is incredibly misleading. I'd argue that if we attempt to use it on a non-boolean field we should throw an exception. Which opens the question: if prop doesn't exist, is that a non-boolean field, or is that a "enh, just call it null" situation? Because right now, that will throw an exception. It'll also throw an exception if the thing being accessed is a function that takes parameters. These behaviors may be surprising.

Now, I don't know the calling pattern. It's possible that whatever function calls this already has a good list of the allowed boolean values, and will never call this on a prop that doesn't exist. Certainly, that's what the Ruby docs recommend. But I'm going to hate it anyway, because this kind of runtime metaprogramming by passing strings around is eternally asking for trouble. And while I haven't done a huge amount of Ruby, I've done enough to know that any non-trivial codebase ends up like this once the metaprogramming band-aid is taken off.

Now, if you don't mind, I'll go back to doing my metaprogramming with C++ templates, which are simple, clear, and never result in wildly unmaintainable code because you ended up reimplementing LISP in template operations.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

The Register

Biting the hand that feeds IT — Enterprise Technology News and Analysis

Anthropic's extravagant tokenizer complicates AI pricing

Claude looks substantially more token-hungry than OpenAI's GPT-5.x, thanks to the new tokenizer that Anthropic shipped with recent releases. Large language models (LLMs) use tokenizers to handle the mapping of text into tokens. There's no set definition of a token, but they're typically a set of three or four characters that are mapped to the integers LLMs actually process. Tokens have become the basic economic unit for billing use of AI models. Because the slicing of words into tokens and the tokens required per task vary across models, it has become rather difficult to predict the final bill for playing the AI slot machine. Recent changes to Anthropic's tokenizer appear to have further complicated matters by making the same content more costly to process on certain models. Playcode, an AI app building platform, recently analyzed the impact of Anthropic's latest tokenizer and found that the same TypeScript file processed by Claude can consume up to 73 percent more tokens than OpenAI's GPT-5.x model family. Anthropic acknowledges its new tokenizer – announced at the end of June when Sonnet 5 shipped – may generate more tokens for the same input than prior versions. "Sonnet 5 is an upgrade to Sonnet 4.6, but it uses an updated tokenizer that changes how the model processes text to improve performance (this is similar to the tokenizer change we introduced with Claude Opus 4.7)," the company explained. "The tradeoff is that the same input can map to more tokens: roughly 1.0–1.35× depending on the content type." Anthropic offered Sonnet at a reduced introductory rate – $2/million input tokens and $10/million output tokens through August 31, 2026 – to make the inflated token generation more or less cost-neutral. But the price is set to rise to $3/million and $15/millionafter that. Anthropic did not immediately respond to a request for comment. The company says that users of its new tokenizer may see their bills rise by as much as a third compared to the tokenizer it used with its older models. Costs for Anthropic users could go even higher when compared against the latest iteration of OpenAI's o200k tokenizer. Playcode's cross-vendor token comparison finds that for a 2,888 character TypeScript file, Claude's new tokenizer emits 1.73x more tokens than GPT-5.x's tokenizer and 1.32x more than Claude's old tokenizer. These figures differ for different types of code: Rust taps in at 1.58x, JavaScript 1.52x, and Python 1.50x. So if Anthropic's list prices were adjusted to be comparable with OpenAI's GPT-5.x baseline, Playcode suggests Opus 4.8's cost would be $7.50/M input and $37.50/M output instead of the published figure of $5/M and $25/M. The AI app platform notes that a team from marketing platform Ploy this week published an account of a production migration using OpenAI's GPT-5.6 Sol and Anthropic's Opus 4.8. "GPT-5.6 finished pages 2.2× faster, cost 27 percent less, and used about half the output tokens," Ploy claimed. There are other factors that go into calculating AI bills. As we noted recently, costs should be judged in terms of task completion and the impact of model harnesses (e.g. Claude Code, Codex, Pi, OpenCode, etc.) should also be evaluated when attempting to calculate the cost of running AI workloads. ®

Ius Mentis

Internetrecht door Arnoud Engelfriet

Een AI scribe is geen scriba maar een medisch adviseur (en daarom klasse IIa MDR)

Een lastig debat in de AI-Act wereld: is een AI scribe hoogrisico? Heel kort door de bocht is dat tekst-naar-spraaksoftware die een consult transcribeert en er samenvattingen met actiepunten van maakt. De Zweedse toezichthouder heeft recent bepaald dat dit wél hoogrisico is, terwijl eerder vaak werd verdedigd van niet.

De classificatie is een samenloop met de MDR, de Medical Device Regulation die strikte regels voor medische hulpmiddelen stelt. Die kent vier klassen, om onnavolgbare redenen I, IIa, IIb en III geheten. Producten in klasse IIa en hoger mogen pas op de markt na externe goedkeuring, een klasse I product heeft dat niet nodig.

De AI verordening verklaart producten met AI hoogrisico wanneer ze onder hun ‘eigen’ regulering een externe goedkeuring nodig hebben. Bij medische producten dus als ze MDR IIa of hoger zijn, waardoor medtech-aanbieders héél graag in klasse I willen blijven.

Een populair medisch AI-hulpmiddel is dus die scribe, omdat je als arts veel conversatie hebt en geen tijd krijgt voor het uitwerken daarvan. Tekst-naar-spraakomzetting scheelt, maar dan krijg je een lap tekst van het gesprek. Wat je eigenlijk wilt, zijn klinische notities, patiëntbrieven of behandelplannen op basis van het gesprek. De belofte van scribe-aanbieders is dat ze dát voor je kunnen doen.

De meeste classificatieregels uit de MDR gaan over “echte” hulpmiddelen, van steriele naalden tot chirurgische robots zeg maar. Voor software is er één relevante regel, bijlage VIII regel nummer 11:

Software voor het verstrekken van informatie die gebruikt wordt bij het nemen van beslissingen voor diagnostische of therapeutische doeleinden behoort tot klasse IIa, tenzij [leven en dood of fysiologisch monitoren, dan IIb of III] Alle overige software behoort tot klasse I.
De argumentatie ligt voor de hand: scribe software is “overig” want niet betrokken bij de besluitvorming. Daar denken ze in Zweden nu anders over. Het volledige rapport is nog niet beschikbaar, maar AI-leverancier Tandem zegt er over:
Sweden’s Medical Products Agency’s position is that the completed documentation generated by the scribe is used as the basis for decisions in the continued care process, not just the current visit. That is what brings it under the higher classification.
Je zou immers kunnen zeggen dat de AI-uitvoer naar de arts gaat, die er dan nog wat mee doet en dát in het dossier stopt. Dan is het de arts die de klinische notitie of brief maakt. Maar omdat het structureel is, is het toch echt de AI-tool zelf die het behandelplan, brief of notitie maakt.

De Zweden formuleren drie vuistregels:

  • De uitvoer wordt in het verdere zorgproces als zodanig gebruikt, ongeacht of deze zelf een beslissing vormt.
  • Het AI-product ontstijgt de pure transcriptie en doet ook zaken als inferentie, structureren en interpretatie van de transcriptie (zoals die klinische notities).
  • Het doet er niet toe of de AI-uitvoer voor of na het nemen van de behandelbeslissing door de arts aangeleverd wordt (zie punt 1).
 

Die tweede vuistregel is uiteindelijk de belangrijkste. Bij Tandem werd in de eigen risicobeoordeling genoemd dat een interpretatiefout tot risico’s voor de patiënt kan leiden. Daarmee staat vast dat de verdere behandeling wordt beïnvloed door de AI-uitvoer. (Wie HBO heeft, moet The Pitt kijken en zal dan zien hoe dit mis kan gaan. CAICO’s en CHCO’s: 1 PE punt.)

Steeds meer marktpartijen zijn nu bezig met een MDR klasse IIa certificering. De grote uitdaging hierbij is dat er nog geen standaarden zijn voor het AI-gedeelte hiervan. Mede hierom is de toepasselijkheid van de AI-verordening op medische hulpmiddelen uitgesteld tot 2 augustus 2028. Maar door beslissingen als deze moet je er nú al iets mee als leverancier.

Arnoud

Het bericht Een AI scribe is geen scriba maar een medisch adviseur (en daarom klasse IIa MDR) verscheen eerst op Ius Mentis.

Liveblog Grondmarmotdag. Derde nacht op rij aanvallen tussen VS en Iran, na 4 jaar ook weer aanvallen tussen Saoedi-Arabië en Houthi's

Social

Wordt dit gewoon een semi-permanent laag-intens slagveld om nieuwe autonome wapenplatformen te kunnen testen, zoals die gisteren voor het eerst ingezette Amerikaanse zelfmoorddrone-bootjes? Wat er formeel vooraf gegaan lijkt aan deze Amerikaanse aanvallen, is een Iraanse aanval met kruisraketten op twee Emiratische olietankers die resulteerde in de dood van een Indiaas bemanningslid en acht gewonden, waarvan vier ernstig.

CENTCOM schreef drie uur geleden:

"CENTCOM heeft op 13 juli om 22.15 uur de meest recente reeks aanvallen op Iran voltooid. Tijdens de vijf uur durende missie hebben Amerikaanse strijdkrachten met succes militaire doelen in heel Iran bestookt – waaronder Bushehr, Chah Bahar, Jask, Konarak, Abu Musa en Bandar Abbas – om het vermogen van Iran om de commerciële scheepvaart aan te vallen verder te verzwakken. CENTCOM zette precisiewapens in tegen Iraanse kustverdedigingssystemen, locaties voor raketten en drones, en maritieme capaciteiten. Er zijn momenteel meer dan 50.000 Amerikaanse militairen gestationeerd in het Midden-Oosten. De Amerikaanse strijdkrachten blijven waakzaam, dodelijk en paraat."

Naar goed gebruik voerde Iran weer aanvallen uit op Amerikaanse basissen in Jordanië en Bahrein, Koeweit, Qatar en Oman. En dat allemaal terwijl de beurzen al twee dagen open zijn!

In ander nieuws is het voor het eerst sinds maart 2022 ook ineens weer aan tussen Saoedi-Arabië en de Houthi's. De Saoedi's vielen gisteren - met Trumps zegen - het Houthi-vliegveld te Sanaa, Jemen aan. De Houthi's reageerden daarop met raketten op het internationale vliegveld van Saoedi-Arabië, waarvan het Saoedische MinDef zegt deze allemaal onderschept te hebben. TOESTANDEN. Wij gaan weer eens live.

Graven graven graven!

Social

Gisteren: eerste Amerikaanse zelfmoorddrone-bootjes

Social

Slashdot

News for nerds, stuff that matters

Over 200 Economists Say 'We Must Act Now' On AI's Economic Impact

An anonymous reader quotes a report from the Associated Press: Hundreds of economists say in an open letter that institutions "must act now" to address how artificial intelligence could transform the economy and could put many people out of work. The statement released Monday was signed by top economists, along with computer scientists and some executives at tech companies including Anthropic, Google and OpenAI.

"AI may become radically more powerful over the next 10 years," says the letter organized by Stanford University's digital economy lab. "This could drive an unprecedented transformation of our economy, larger than the Industrial Revolution, but unfolding over a vastly shorter time frame. It could bring risks, including large-scale job displacement, as well as opportunities such as major gains in living standards."

The letter, which has only four sentences, says leaders must "build the incentives, guardrails, and institutions needed to steer AI in a direction that complements humans and benefits society." The Stanford lab says the letter has so far been signed by more than 200 economists and AI researchers, including 16 winners of a Nobel Prize. "We must be intentional and make collective, democratic choices, rather than letting market forces play out and risking leaving most citizens behind," wrote computer scientist and AI pioneer Yoshua Bengio, who was also among the signatories. He said it "it is highly plausible that AI will drastically transform our economies."

Other signatories include Google CEO Eric Schmidt, LinkedIn cofounder Reid Hoffman, and Nobel laureates Joseph Stiglitz, Daron Acemonglu, and Simon Johnson.

Read more of this story at Slashdot.

The Princess and the Pea

Once we've fully explored this space, we can start varying the number of princesses.