10 interesting stories served every morning and every evening.

Access denied | videocardz.com used Cloudflare to restrict access | videocardz.com

videocardz.com

Please en­able cook­ies.

Error 1005

What hap­pened?

The owner of this web­site (videocardz.com) has banned the au­tonomous sys­tem num­ber (ASN) your IP ad­dress is in (14061) from ac­cess­ing this web­site.

Please see https://​de­vel­op­ers.cloud­flare.com/​sup­port/​trou­bleshoot­ing/​http-sta­tus-codes/​cloud­flare-1xxx-er­rors/​er­ror-1005/ for more de­tails.

Was this page help­ful?

Thank you for your feed­back!

Cloudflare Ray ID: a1d7b038­faad7a99 •

Your IP:

167.99.127.20 •

Performance & se­cu­rity by Cloudflare

Blocked

old.reddit.com

whoa there, pard­ner!

Your re­quest has been blocked due to a net­work pol­icy.

Try log­ging in or cre­at­ing an ac­count here to get back to brows­ing.

If you’re run­ning a script or ap­pli­ca­tion, please reg­is­ter or sign in with your de­vel­oper cre­den­tials here. Additionally make sure your User-Agent is not empty and is some­thing unique and de­scrip­tive and try again. if you’re sup­ply­ing an al­ter­nate User-Agent string, try chang­ing back to de­fault as that can some­times re­sult in a block.

You can read Reddit’s Terms of Service here.

If you think that we’ve in­cor­rectly blocked you or you would like to dis­cuss eas­ier ways to get the data you want, please file a ticket here.

When con­tact­ing us, please in­clude your Reddit ac­count along with the fol­low­ing code:

019f7913-e604 – 738f-a83c-c4f3b7749e5c

Why do AI company logos look like buttholes?

velvetshark.com

If you pay at­ten­tion to AI com­pany brand­ing, you’ll no­tice a pat­tern:

Circular shape (often with a gra­di­ent)

Central open­ing or fo­cal point

Radiating el­e­ments from the cen­ter

Soft, or­ganic curves

Sound fa­mil­iar? It should, be­cause it’s also an apt de­scrip­tion of… well, you know.

A but­t­hole.

The cir­cu­lar AI logo epi­demic

If you ever thought that AI com­pany lo­gos look like but­t­holes, you’re not alone.

FastCompany no­ticed this trend in 2023 and pub­lished an ar­ti­cle about it, but (I could only pre­sume) their ed­i­tors and lawyers did­n’t let them ti­tle the ar­ti­cle the way the wanted it to ti­tle, so it got pub­lished with a more safe for work ti­tle: The AI boom is cre­at­ing a new logo trend: the swirling hexa­gon. They also were care­ful not to men­tion any­thing anatom­i­cal.

I don’t have ed­i­tors or lawyers, so let’s take a closer look at some ex­am­ples:

OpenAI’s logo evo­lu­tion

OpenAI’s orig­i­nal logo was a sim­ple, text-based mark. Then came the re­design: a per­fect cir­cle with a sub­tle gra­di­ent and cen­tral void.

OpenAI’s of­fi­cial ex­pla­na­tion is a mas­ter­class in cor­po­rate eu­phemism:

The Blossom logo is more than just a vi­sual sym­bol; it rep­re­sents the core phi­los­o­phy that guides our ap­proach to de­sign and in­no­va­tion. At its heart, the logo cap­tures the dy­namic in­ter­sec­tion be­tween hu­man­ity and tech­nol­ogy—two forces that shape our world and in­spire our work. The de­sign em­bod­ies the flu­id­ity and warmth of hu­man-cen­tered think­ing through the use of cir­cles, while right an­gles in­tro­duce the pre­ci­sion and struc­ture that tech­nol­ogy de­mands.”

Sure, Sam.

Translation: We made a cir­cu­lar shape with some an­gles be­cause it looked nice, then wrote flow­ery lan­guage to jus­tify why our but­t­hole-ad­ja­cent de­sign is ac­tu­ally pro­found.”

The flu­id­ity and warmth of hu­man-cen­tered think­ing through the use of cir­cles is per­haps the most el­e­gant way any­one has ever de­scribed mak­ing a logo that re­sem­bles an anus.

The Big AI com­pa­nies

Looking at the lo­gos of the Big AI com­pa­nies, you can see that they al­most all of them have a cir­cu­lar or snowflake-like shape and a cen­tral open­ing.

Only DeepSeek and Midjourney don’t fol­low the trend. Interestingly, both are sea-re­lated.

Smoking gun: Anthropic’s Claude

Up un­til this point, the lo­gos have been sub­tle. You might say that the lo­gos are sim­ply cir­cu­lar and there’s not much more to it.

But Anthropic’s Claude takes it to the next level.

Here’s a side-by-side com­par­i­son with a draw­ing from Kurt Vonnegut’s book Breakfast of Champions”. I added Claude’s logo be­low for easy com­par­i­son.

Both the draw­ing and the de­scrip­tion in the book are un­am­bigu­ous. This is not just a cir­cu­lar shape with a gra­di­ent” any­more, is it?

July 2026 up­date: the smok­ing gun now moves

Since pub­lish­ing this ar­ti­cle, I’ve dis­cov­ered new ev­i­dence. Open claude.ai and click on the Claude logo. Just watch what it does:

The Claude logo, when clicked. I have no fur­ther ques­tions.

Every click makes the logo clench and re­lax. It even re­sponds with a slightly an­noyed Yes, yes. What can I do for you?”, as if you poked some­thing you weren’t sup­posed to.

At this point, there’s no ar­gu­ment you could make that would per­suade me this is not a but­t­hole 🙂

It’s not just AI com­pa­nies

Even tra­di­tional com­pa­nies aren’t im­mune. Here are a few no­table or funny ex­am­ples. But the per­cent­age of AI com­pany lo­gos that look like but­t­holes is still sig­nif­i­cantly higher than than any other in­dus­try.

I es­pe­cially like the Electrolux one. It’s sim­ple, mem­o­rable, and once you see a butt and bikini, you can’t un­see it.

Why does this keep hap­pen­ing?

There are sev­eral fac­tors at play:

Circular de­sign psy­chol­ogy

Circles rep­re­sent whole­ness, com­ple­tion, and in­fin­ity—con­cepts that align with AIs promise. They’re also friendly and non-threat­en­ing, qual­i­ties com­pa­nies des­per­ately want to pro­ject when sell­ing po­ten­tially job-re­plac­ing tech­nol­ogy.

Unintentional bio­mimicry

The hu­man brain finds fa­mil­iar pat­terns in ran­dom shapes (pareidolia), like a face on Mars, taken by the Viking 1 or­biter and re­leased by NASA in 1976.

But some­times, de­sign­ers in­ad­ver­tently recre­ate bi­o­log­i­cal forms with­out re­al­iz­ing the… anatom­i­cal im­pli­ca­tions.

The copy­cat ef­fect

Once a few ma­jor play­ers adopted the cir­cu­lar sphinc­ter aes­thetic, every­one fol­lowed suit. Now we have an in­dus­try where stand­ing out means look­ing ex­actly like every­one else’s but­t­hole.

Basically, the same rea­son why so many brands change their lo­gos and look like every­one else.

Design by com­mit­tee

Another fac­tor is how these lo­gos are cre­ated. Important cor­po­rate de­ci­sions in­volve many stake­hold­ers. The re­sult is of­ten the safest, most in­of­fen­sive op­tion, the av­er­age of every­one’s opin­ions. In de­sign meet­ings at AI com­pa­nies, con­ver­sa­tions prob­a­bly sound like:

Can we make it more fu­tur­is­tic?

It needs to feel ad­vanced but ap­proach­able.

Let’s add a sub­tle gra­di­ent to con­vey in­tel­li­gence.

No sin­gle per­son sug­gests mak­ing a logo that re­sem­bles an anus, but when every­one’s feed­back gets in­cor­po­rated, that’s what of­ten emerges. Risk aver­sion in cor­po­rate en­vi­ron­ments nat­u­rally pushes de­signs to­ward fa­mil­iar, safe” ter­ri­tory, which ap­par­ently means anatom­i­cal open­ings.

What this says about tech brand­ing

This phe­nom­e­non re­veals some­thing deeper about the tech in­dus­try: the fear of stand­ing out too much. Despite claims of in­no­va­tion and dis­rup­tion, there’s tremen­dous pres­sure to look le­git­i­mate by con­form­ing to es­tab­lished vi­sual lan­guage.

When OpenAI’s sphinc­ter-like logo be­came suc­cess­ful, it cre­ated a tem­plate that said, This is what se­ri­ous AI looks like.” Now, any new AI com­pany that does­n’t re­sem­ble a col­or­ful anatom­i­cal open­ing risks be­ing seen as un­se­ri­ous or un­pro­fes­sional.

Tech de­sign trends through his­tory

This is­n’t the first time tech de­sign has gone through a con­for­mity phase. Consider these pre­vi­ous waves:

1990s-2000s: 3D and Glossy - Remember when every logo needed a drop shadow and a glassy shine? Apple’s aqua in­ter­face set the stan­dard.

2010 – 2013: Skeuomorphism - Digital de­signs mim­ic­k­ing phys­i­cal ob­jects, with stitched leather tex­tures and re­al­is­tic di­als.

2013 – 2018: Flat Design - Reaction to skeuo­mor­phism brought min­i­mal, clean in­ter­faces with bright col­ors and no shad­ows.

2018 – 2022: Neomorphism - Soft shad­ows and semi-flat de­sign cre­at­ing sub­tle, touchable” in­ter­faces.

2022-Present: The Butthole Era - Circular gra­di­ents with cen­tral fo­cal points dom­i­nat­ing AI brand­ing.

Each era started with in­no­va­tions that were quickly copied un­til the in­dus­try reached sat­u­ra­tion point and moved on to the next trend.

Logos be­come in­creas­ingly in­ter­change­able (one of the bags is real, but they all look the same)

Historic logo dis­as­ters: You’re not alone

AI com­pa­nies can take some com­fort in know­ing they’re not the first to face un­in­tended anatom­i­cal com­par­isons. Logo his­tory is filled with dis­as­ters but to keep this con­sis­tent with the theme of the ar­ti­cle, here’s a cou­ple of them.

Zune logo, when flipped, says some­thing dif­fer­ent. Maybe that’s one of the rea­sons why iPod won?

Brazilian Institute of Oriental Studies is a styl­ized pagoda sil­hou­et­ted against the set­ting sun. Or so the de­sign­ers wanted it to look. The fi­nal re­sult was much more… anatom­i­cal. They since changed it to some­thing less sug­ges­tive.

Maybe com­pa­nies should have a panel of middle school­ers” on their pay­roll to re­view lo­gos be­fore launch. They’ll find every pos­si­ble in­ap­pro­pri­ate in­ter­pre­ta­tion with ruth­less ef­fi­ciency.

Breaking free from the but­t­hole

For com­pa­nies brave enough to dif­fer­en­ti­ate, here are some al­ter­na­tives:

Embrace sharp an­gles - geo­met­ric shapes with de­fined edges cre­ate a dis­tinct vi­sual iden­tity

Use neg­a­tive space cre­atively - think FedEx ar­row, not bi­o­log­i­cal open­ings

Avoid ra­dial sym­me­try - not every­thing needs to be per­fectly cir­cu­lar

Skip the gra­di­ent - flat de­sign still works

Test with di­verse au­di­ences - if five dif­fer­ent peo­ple in­de­pen­dently say that looks like a but­t­hole,” it prob­a­bly does (show it to teenagers if you want to un­cover even the most sub­tle anatom­i­cal im­pli­ca­tions)

Conclusion

Does this mean AI com­pa­nies should change their brand­ing? Not nec­es­sar­ily. The fa­mil­iar­ity clearly works in build­ing trust. But per­haps the next wave of AI in­no­va­tion could be ac­com­pa­nied by some vi­sual in­no­va­tion too.

For com­pa­nies look­ing to break the mold, con­sider these ap­proaches that suc­cess­ful tech brands have used:

Embrace mean­ing­ful ab­strac­tion - Slack’s hash­tag-in­spired logo com­mu­ni­cates col­lab­o­ra­tion with­out cir­cu­lar clichés

Leverage let­ter­forms - Netflix’s sim­ple N” has be­come in­stantly rec­og­niz­able with­out anatom­i­cal con­fu­sion

Tell a story - Stripe’s dis­tinc­tive par­al­lel lines re­flect pay­ment flows mov­ing seam­lessly

Use dis­tinc­tive color com­bi­na­tions - Twitch’s pur­ple brand­ing stands out in a sea of blue tech lo­gos

The chal­lenge for the next gen­er­a­tion of AI com­pa­nies is­n’t just tech­no­log­i­cal - it’s find­ing vi­sual lan­guage that com­mu­ni­cates in­no­va­tion with­out re­sort­ing to the same tired sphinc­ter-in­spired pat­terns.

PS. This post is meant to be hu­mor­ous, but let’s not pre­tend there is­n’t a se­ri­ous point here about the de­press­ing same­ness in mod­ern de­sign. No ac­tual anuses were con­sulted dur­ing this re­search, though sev­eral de­sign­ers were clearly think­ing about them.

If you like what you see, you’ll find more stuff like this on my Twitter.

If you like what you see, you’ll find more stuff like this on my Twitter.

Just a moment...

data.stackexchange.com

Mayor Mamdani Says Landlords Can’t Secretly Use AI Images to Advertise Properties

petapixel.com

New York City mayor Zohran Mamdani is hav­ing a very busy week. Just a day af­ter an­nounc­ing a click-to-cancel” rule aimed at com­pa­nies like Adobe, Mamdani is crack­ing down on deceptive land­lord prac­tices,” in­clud­ing us­ing AI-generated and AI-edited im­ages de­signed to make prop­er­ties look more ap­peal­ing.

Mamdani and his team re­leased a Rental Ripoff Report” to­day, and in it, the ad­min­is­tra­tion out­lines rec­om­men­da­tions to re­quire land­lords and re­al­tors to dis­close the use of AI to al­ter their list­ings, in­clud­ing any im­agery.

Alongside mea­sures like rec­og­niz­ing ten­ant unions and ex­pand­ing ten­ants’ bar­gain­ing rights, the re­port also says that land­lords should disclose when rental list­ings have been al­tered us­ing ar­ti­fi­cial in­tel­li­gence or other dig­i­tal tools.”

Misleading AI-generated and AI-edited im­ages in real es­tate list­ings are an in­creas­ingly se­ri­ous prob­lem, far be­yond just New York City. While the re­sults are oc­ca­sion­ally funny, if not ter­ri­fy­ing, there’s noth­ing funny about ten­ants be­ing de­ceived when re­al­ity does not match pho­tos on a list­ing. This is es­pe­cially trou­ble­some for ten­ants who have to sign a lease re­motely, such as when mov­ing some­where for a new job.

At Rental Ripoff Hearings across the five bor­oughs, we heard from thou­sands of New Yorkers liv­ing with mold that was never treated, pests that were never ad­dressed and fees that were never ex­plained. Listening was only the first step. This re­port turns those sto­ries into con­crete ac­tion. From re­quir­ing dis­clo­sure of AI-altered list­ings to bring­ing our code en­force­ment sys­tems into the 21st cen­tury and fi­nally rec­og­niz­ing ten­ant unions, we are mak­ing it clear that every New Yorker de­serves a safe home — and every land­lord who re­fuses to pro­vide one will be held ac­count­able,” Mayor Mamdani says, em­pha­sis added.

… these poli­cies are rooted in real ex­pe­ri­ences and ad­dress real con­cerns,” adds Leila Bozorg, Deputy Mayor for Housing and Planning.

The Rental Ripoff Hearings and to­day’s re­port are writ­ing a new chap­ter in ten­ant power in New York City. Governing is a part­ner­ship. By bring­ing ten­ants’ voices di­rectly into pol­icy and tak­ing un­prece­dented steps to fa­cil­i­tate ten­ant or­ga­niz­ing across the city, we are show­ing what gov­ern­ing with New Yorkers looks like,” says Cea Weaver, Director, Mayor’s Office to Protect Tenants.

After Mayor Mamdani es­tab­lished the Rental Ripoff Hearings dur­ing his first week in of­fice, he met with 2,400 New Yorkers across each bor­ough to hear about the is­sues a wide range of peo­ple faced. Safety and liv­ing con­di­tions were a ma­jor fo­cus, as were de­cep­tive prac­tices by land­lords.

Image cred­it­sPhoto cour­tesy of Mayor Mamdani’s of­fice.

moonshine/micro at main · moonshine-ai/moonshine

github.com

Moonshine Micro — Voice Interfaces for Microcontrollers

Moonshine Voice is an open source AI toolkit for de­vel­op­ers build­ing real-time voice agents and ap­pli­ca­tions. Moonshine Micro is a ver­sion de­signed specif­i­cally for em­bed­ded sys­tem proces­sors like mi­cro­con­trollers and DSPs, and uses the Raspberry Pi RP2350, which re­tails for just 80 cents, as its ref­er­ence plat­form. It in­cludes voice-ac­tiv­ity de­tec­tion, com­mand recog­ni­tion, and neural speech syn­the­sis and can run in as lit­tle as 470 KB of RAM.

You can see a full walk­through in the video be­low:

The mem­ory and com­pute re­quire­ments are de­signed to fit re­source-con­strained sys­tems. Figures be­low are for the RP2350 demo; the de­tailed mem­ory bud­get breaks each one down:

Notes:

Flash is .text + .rodata mea­sured with arm-none-eabi-size on the de­fault moon­shine_mi­cro_e­cho firmware (includes the em­bed­ded neural voice pack); SRAM is .bss + heap + stacks.

*VAD, STT, and neural TTS run se­quen­tially and time-share one ~384 KiB TFLM arena, so SRAM is not ad­di­tive — ~468 KiB is the to­tal RAM pro­vi­sioned on the 520 KiB RP2350 (wifi_hardware ~491 KiB).

A MAC is one mul­ti­ply-ac­cu­mu­late; MMAC/s = mil­lions per sec­ond dur­ing the ac­tive (non-idle) stage.

The code is re­leased un­der the per­mis­sive MIT License, suit­able for com­mer­cial ap­pli­ca­tions.

There’s a com­plete end-to-end ex­am­ple show­ing how to set up a wifi con­nec­tion on a mi­cro­con­troller us­ing voice on an RP2350 MCU.

The VAD, STT, and TTS li­braries can be used in­de­pen­dently of each other, re­ly­ing on the in­cluded TensorFlow Lite Micro li­brary for the neural com­pu­ta­tions.

Documentation

Voice Activity Detection

Speech to Text

Custom Word Recognition

Neural Text to Speech

Wifi Setup Example

License

This code, apart from the source in third-party/, is li­censed un­der the MIT License — see LICENSE in this di­rec­tory (also at the repos­i­tory root).

The SpellingCNN and TinyVadCNN mod­els in mod­els/ are re­leased un­der the MIT License.

The code in third-party/ is li­censed ac­cord­ing to the terms of the open source pro­jects it orig­i­nates from, with de­tails in a LICENSE file in each sub­folder.

If You Build It, They Will Come

www.benlandautaylor.com

Several times in my life I’ve tried to break in with a new so­cial group. I ran into a cool com­mu­nity I wanted to join, or I moved to a new city and wanted to make friends there, or I just wanted to broaden my hori­zons.

Pretty quickly I learned that the best and fastest way to join a group is to or­ga­nize events where we do the group’s core ac­tiv­ity. In every group I’ve ever en­coun­tered, there is far more de­mand for so­cial events and things to do than there is sup­ply. Getting peo­ple to come is like giv­ing away ice cream at the beach. You can make friends by show­ing up from the out­side and con­sis­tently at­tend­ing other peo­ple’s events, but it’s a lot eas­ier and faster to make friends if you’re also or­ga­niz­ing your own stuff and invit­ing the peo­ple you’re hop­ing to get closer to, or help­ing with some­one else’s events. I’ve found this true every­where from niche on­line fan­fic­tion dis­cus­sion groups to van­guard in­tel­lec­tual move­ments di­rect­ing hun­dreds of mil­lions of dol­lars an­nu­ally.

Lots of peo­ple have a sort of con­sumer at­ti­tude to­wards their com­mu­ni­ties, where they take every­thing for granted. I saw things this way when I was young. A so­cial scene is an au­to­matic fea­ture of the world that ap­pears on its own, like a wild blue­berry bush. It starts sprout­ing par­ties and din­ners and con­fer­ences and read­ing groups as nat­u­rally as the bush sprouts berries.

Surprisingly, it turns out things don’t ac­tu­ally work that way. In fact, events hap­pen when some­one puts in the leg­work to or­ga­nize them. And one of the most re­li­able laws of the uni­verse is that, if some­thing takes a lit­tle bit of leg­work, then most peo­ple just won’t do it. A scene’s lead­ers are mostly the peo­ple who ac­tu­ally bother to put in the work.

The work of or­ga­niz­ing is un­der­ap­pre­ci­ated by many peo­ple. But the other or­ga­niz­ers are very at­tuned to this, and ab­solutely will no­tice who else is pick­ing up the bur­dens.

I’ve come to be­lieve that part of to­day’s prob­lem of so­cial alien­ation is a prob­lem of too many free rid­ers. Lots of peo­ple want to con­sume so­cial fab­ric, but our so­cial scripts telling peo­ple to pro­duce so­cial fab­ric have largely fallen by the way­side. I don’t know how to solve this un­der­sup­ply at the scale of so­ci­ety. But you can solve it at the scale of your own com­mu­nity by just sup­ply­ing it.

The Kimi K3 Moment

stephen.bochinski.dev

I’ve been run­ning Kimi K3 along­side Claude on my nor­mal cod­ing work, and for all prac­ti­cal pur­poses I can’t tell them apart. Same tasks, same qual­ity of out­put, and near iden­ti­cal to­ken counts to get there. I ex­pected an open model to be slop­pier or to grind through more to­kens on the way to the same an­swer, and nei­ther turned out to be true.

The prices are nowhere near each other. K3s API runs $3 per mil­lion in­put to­kens and $15 per mil­lion out­put. Claude’s top model costs $10 and $50 for the same units. The sub­scrip­tion side is even more lop­sided. Kimi’s paid plans start at $19 a month, and the $39 cod­ing tier is far more gen­er­ous than any­thing Claude sells any­where near that price. Claude’s plans are me­tered tightly enough that a nor­mal day of agent work can chew through the al­lowance be­fore lunch.

Then there’s the fine print. Claude could­n’t sus­tain Fable ac­cess on the twenty dol­lar plan, so they turned it off, and the plan qui­etly falls back to Opus. When the head­line model on your plan can be switched off be­cause the eco­nom­ics don’t work, the plan was never re­ally sell­ing you the head­line model. Kimi’s tiers don’t come with that as­ter­isk.

Step back and the big­ger story is what an un­mit­i­gated fail­ure US AI pol­icy has been. The ad­min­is­tra­tion held Fable back, and what fi­nally shipped is a hin­dered ver­sion that re­fuses whole cat­e­gories of work. Meanwhile a fron­tier qual­ity model with none of those re­stric­tions is a down­load away, re­leased by a Chinese lab the US gov­ern­ment has no abil­ity to reg­u­late. Whatever the the­ory be­hind gat­ing American mod­els was, it plainly was­n’t thought through, be­cause the only peo­ple the gates con­strain are American cus­tomers. Semgrep found GLM 5.2 beat­ing Claude on their cy­ber bench­marks for ex­actly this rea­son. The re­stricted model de­clines the work and the open one just does it.

And it is­n’t only Kimi. GLM 5.2 came out un­der an MIT li­cense, beats the lat­est Opus re­lease on real work while not even claim­ing to be fron­tier, and costs a frac­tion of it. OpenAI got pushed through the same gov­ern­ment gaunt­let with GPT-5.6 but came out the other side able to put their flag­ship on the twenty dol­lar plan. Whatever you think of OpenAI, they have run­way here that Anthropic clearly does­n’t.

I think I can see where this goes. The gov­ern­ment will try to reg­u­late AI and open source in par­tic­u­lar, and it will run the play­book it ran for the auto in­dus­try. Decades of sub­si­dies, bailouts, and pro­tec­tive tar­iffs pro­duced American car­mak­ers that sell trucks at home and barely reg­is­ter any­where else in the world. I ex­pect the cur­rent ad­min­is­tra­tion to reach for the same tools here. Public pri­vate part­ner­ships prop­ping up do­mes­tic mod­els that only get used in­side the US and can’t com­pete in­ter­na­tion­ally. That’s a sad fu­ture where America is the one coun­try with­out ac­cess to the best mod­els at the best prices, buy­ing mod­els deeply tied to the cor­rupt Trump ad­min­is­tra­tion that are nei­ther the high­est qual­ity nor the cheap­est. Until then, at least, I can’t come up with a rea­son to keep pay­ing for Claude.

Project - transcribe.cpp

workshop.cjpais.com

I’m su­per ex­cited to share tran­scribe.cpp to­day.

tran­scribe.cpp is a ggml based tran­scrip­tion li­brary which sup­ports all the lat­est tran­scrip­tion mod­els. Every model pub­lished un­der the handy-com­puter HF org has been nu­mer­i­cally val­i­dated and WER tested to match the ref­er­ence im­ple­men­ta­tion. It’s ac­cel­er­ated every­where.

I’m the au­thor and main­tainer of Handy. This li­brary grew from the pains of dis­trib­ut­ing a cross-plat­form speech-to-text ap­pli­ca­tion to many peo­ple.

This is a v0.1.0 li­brary which means that there are some rough edges which I can­not dis­cover alone! Please re­port them, and let’s fix them to­gether!

Motivation

Let me say this. I think dis­trib­ut­ing a cross-plat­form ap­pli­ca­tion with the cur­rent ASR in­fer­ence stack is ter­ri­ble.

You’ve ba­si­cally got whis­per.cpp and ONNX. That’s it. You could roll MLX in for Apple de­vices, but now you’ve to sup­port two dif­fer­ent en­gines and port mod­els to each. I’ve been a fan of ONNX for get­ting model sup­port into Handy quickly, but so much per­for­mance is left on the table with CPU only.

There are a few ran­dom li­braries out there which claim to sup­port a lot of mod­els, but they have un­known au­thors, and un­known test­ing, as far as I’ve seen. They leave me with more ques­tions than an­swers.

When will they stop main­tain­ing this li­brary? Has the cre­ator thought about bind­ings so you can ac­tu­ally use it in a real desk­top or mo­bile app? Is this ef­fec­tively demo code? Have they bench­marked it? Is it faster than ONNX?

And this is what led to tran­scribe.cpp. As Handy’s main­tainer I needed a li­brary I could trust. Where I could down­load a file and run in­fer­ence on it. Where I can know that the in­fer­ence com­ing from the model in the en­gine is as good as the ref­er­ence im­ple­men­ta­tion. The in­fer­ence should run on the GPU for the best per­for­mance. It should be triv­ially em­bed­d­a­ble in Handy, it can­not be a huge py­torch lib. It must be some­thing that works on Mac, Windows, and Linux. And ggml seemed like by far the best way for­ward. It has a strong com­mu­nity, and a great dis­tri­b­u­tion story.

So what do you get?

You get a fast and ac­cu­rate in­fer­ence en­gine with wide rang­ing model sup­port.

Support for 16 ASR Families (60+ mod­els) with more com­ing

Acceleration via Vulkan, Metal, CUDA, and TinyBLAS

Every model has been nu­mer­i­cally ver­i­fied and WER tested

Support for Streaming Transcription

Support for Batch Transcription

More or less drop in whis­per.cpp re­place­ment

Maintainer sup­ported bind­ings in 4 Languages

Python Javascript/Typescript Rust ObjC/Swift

Python

Javascript/Typescript

Rust

ObjC/Swift

Wide Model Support

We in­tend to sup­port as many state-of-the-art tran­scrip­tion mod­els as pos­si­ble. As of to­day, we sup­port most of the mod­ern tran­scrip­tion mod­els that are pub­licly avail­able. There are a few miss­ing still, but they will be added soon.

Acceleration Support

One of my top goals was to run any ASR model I wanted on Vulkan. In my opin­ion this is the floor for any ap­pli­ca­tion ship­ping lo­cal in­fer­ence. For every model we sup­port, there is a cor­re­spond­ing bench­mark run from a Ryzen 4750U (CPU + Vulkan) on Fedora as well as on my M4 Max.

Numerically Verified

I also wanted to make sure that in­fer­ence in tran­scribe.cpp is ac­cu­rate and as close to the ref­er­ence im­ple­men­ta­tion as pos­si­ble. This largely came from a huge de­gree of un­cer­tainty of in­fer­ence ac­cu­racy when us­ing .onnx mod­els I found on Hugging Face. In or­der to en­sure the in­fer­ence we do is cor­rect we nu­mer­i­cally val­i­date every model ver­sus the ref­er­ence. On top of nu­mer­i­cal val­i­da­tion, we run full WER sweeps to make sure that what­ever the ref­er­ence is out­putting, we out­put the same thing. That means every model has run through thou­sands of ut­ter­ances and is very close or same as the ref­er­ence. And the re­sults of this data are pub­lished in the tran­scribe.cpp repo as well as with each model on Hugging Face.

Drop In whis­per.cpp re­place­ment

tran­scribe.cpp is more or less a drop in sup­port for whis­per.cpp. The main rea­son for this is: Handy used whis­per.cpp and I needed to ship an up­date with tran­scribe.cpp which would re­place it. I needed to keep some com­pat­i­bil­ity with the very pop­u­lar .bin files which run in whis­per.cpp and shipped with Handy. tran­scribe.cpp can run them. There are some flags and fea­tures in whis­per.cpp which we do not sup­port yet. But I think for the vast ma­jor­ity of use cases our whis­per im­ple­men­ta­tion is solid and can re­place whis­per.cpp while hav­ing about equal per­for­mance.

Real Distribution

Language bind­ings were on my mind to be­gin with. While this li­brary is writ­ten in C/C++, I needed bind­ings in Rust. And I also knew that in or­der for us to dis­trib­ute lo­cal tran­scrip­tion as widely as pos­si­ble, it re­quires at min­i­mum de­cent first-party sup­port of bind­ings. I’ve cho­sen 4 lan­guages that I think are fairly rep­re­sen­ta­tive of where peo­ple will use the li­brary. I wel­come oth­ers to con­tribute bind­ings di­rectly to the pro­ject as well, as­sum­ing that they are will­ing to take on the main­te­nance bur­den of do­ing so.

And of course, at the end of the day, a lot of the de­ci­sions were dri­ven by Handy. As a re­sult of Handy be­ing pop­u­lar, I in­tend to main­tain this li­brary, just as I’ve done my best to main­tain Handy. I in­tend to be some­one who con­tin­ues to main­tain open source pro­jects and con­tribute to the ecosys­tem where I can.

This li­brary never would have ex­isted with­out Handy be­cause I would­n’t have had the prob­lem of try­ing to sup­port a bunch of dif­fer­ent ASR mod­els. I would have never learned all the use cases that peo­ple have for ASR. I’ve done my best to cover the ones that I hear about the most. Certainly, there are cases in the li­brary that are not cur­rently han­dled. If there are things that I missed, you are free to con­tribute to the li­brary!

Making Local Speech to Text More Accessible

tran­scribe.cpp is aimed squarely at mak­ing lo­cally run ASR eas­ier. We know that tran­scrip­tion can run ex­tremely ac­cu­rately on most de­vices, and there should be no need to send your voice to a cloud ser­vice. An RK3566 can run mod­els via tran­scribe.cpp faster than real time on its ane­mic CPU. Faster than real time tran­scrip­tion with SOTA mod­els runs in a hand­ful of watts. It’s not a hope or a dream, it’s a fact.

I think as we look for­ward to the fu­ture, more in­fer­ence will start hap­pen­ing lo­cally for one rea­son or the other. This brings the dis­tri­b­u­tion story front and cen­ter. In or­der to have more ap­pli­ca­tions run­ning in­fer­ence lo­cally, we need to make run­ning in­fer­ence eas­ier. Certainly tran­scribe.cpp does not solve this on the whole, and there is a long way to go, but I hope it’s a small step for­ward. I’ve cer­tainly learned a lot.

Gratitude

I am ex­tremely thank­ful for all the folks who have sup­ported this pro­ject.

First and fore­most is to Mozilla AI, their BiR pro­gram, and Davide from Mozilla AI. This pro­ject was largely a prob­lem in my head that I came to them with, and they de­cided to sup­port me in solv­ing the prob­lem. At the time tran­scribe.cpp was­n’t even a con­crete idea, I was just ex­plor­ing how to solve ac­cel­er­ated dis­tri­b­u­tion in Handy. So a huge thanks to them, their sup­port, and help­ing to bring this pro­ject into ex­is­tence.

ggml. This pro­ject would­n’t be pos­si­ble with­out ggml and all of the con­trib­u­tors to it. Thank you all so much for the work you’ve done. I think ggml re­ally does amaz­ing work in help­ing to make dis­trib­ut­ing lo­cal in­fer­ence ap­pli­ca­tions easy and pos­si­ble.

Modal has also been a crit­i­cal help for me. I reached out to them, and they gave me cred­its. These cred­its are put to­wards do­ing the WER test­ing and en­sur­ing the li­brary works well on CUDA. It is an im­mense help be­ing able to ver­ify the cor­rect­ness of the work.

Blacksmith helps to power some of the CI/CD for tran­scribe.cpp. Again I reached out to them and they im­me­di­ately re­sponded with cred­its. Of course CI/CD is crit­i­cal for mak­ing sure every­thing put out has been tested to at least some de­gree.

Hugging Face both for be­ing a pil­lar in the lo­cal AI com­mu­nity, as well as pro­vid­ing the handy-com­puter org pri­vate stor­age, so I could up­load mod­els at my own will.

AI Assisted?

Yes ab­solutely. I don’t think it’s pos­si­ble for a sin­gle in­di­vid­ual to write an en­gine from scratch of this size us­ing ggml in a hand­ful of months with­out out­side as­sis­tance. Were any of the words here writ­ten us­ing AI? Nope. They came from my mouth or my fin­gers.

Ban on destruction of unsold clothes and shoes enters into application

environment.ec.europa.eu

From 19 July, large com­pa­nies across the EU are pro­hib­ited from de­stroy­ing un­sold clothes, cloth­ing ac­ces­sories and footwear. Medium-sized com­pa­nies will be sub­ject to the same rules from 2030.

The mea­sure, in­tro­duced un­der the Ecodesign for Sustainable Products Regulation (ESPR), aims to pre­vent the waste of valu­able prod­ucts and the re­sources used to make them.

When new, us­able goods are dis­carded, the raw ma­te­ri­als, wa­ter, en­ergy and labour in­vested in their pro­duc­tion are lost, while their dis­posal gen­er­ates avoid­able green­house gas emis­sions. By en­cour­ag­ing reuse, re­pair and more re­source-ef­fi­cient busi­ness prac­tices, the new rules sup­port the tran­si­tion to a more cir­cu­lar and com­pet­i­tive European econ­omy.

What the new rules mean for com­pa­nies

Under the new rules, busi­nesses must pri­ori­tise keep­ing prod­ucts in use by sell­ing them (including through dis­counts or al­ter­na­tive mar­kets), do­nat­ing them to char­i­ties or so­cial en­ter­prises, or prepar­ing them for reuse (repairing, re­fur­bish­ing or re­man­u­fac­tur­ing).

Destruction will be al­lowed only un­der spec­i­fied cir­cum­stances and must be car­ried out in ac­cor­dance with the waste treat­ment hi­er­ar­chy, giv­ing pri­or­ity to re­cy­cling.

When the ban does not ap­ply

Companies may only de­stroy un­sold clothes and shoes in lim­ited cases, such as when items are un­safe or dam­aged, coun­ter­feit or in­fring­ing in­tel­lec­tual prop­erty rights, or are re­jected by char­i­ties or do­na­tion schemes.

To pre­vent mis­use, busi­nesses re­ly­ing on these ex­emp­tions must pro­vide proof (e.g. doc­u­ments or test re­sults) and pub­lish an­nual re­ports on what they have dis­carded.

How the rules will be en­forced

National au­thor­i­ties will check com­pli­ance and can im­pose fines for vi­o­la­tions. Companies must keep records for five years to al­low in­spec­tions.

To re­duce pa­per­work, busi­nesses will use ex­ist­ing cus­toms and lo­gis­tics codes when re­port­ing. Small and mi­cro-busi­nesses are ex­empt from these re­quire­ments.

Background

The Ecodesign for Sustainable Products Regulation (ESPR), which came into force in 2024, sets EU-wide rules to make prod­ucts more durable, re­pairable, re­cy­clable and re­source-ef­fi­cient.

The ban on de­stroy­ing un­sold tex­tiles is one of the first con­crete mea­sures un­der the ESPR. Textiles are the first prod­uct group sub­ject to this ban due to the neg­a­tive en­vi­ron­men­tal im­pacts of cur­rent busi­ness mod­els, which of­ten lead to the de­struc­tion of un­sold goods.

According to the European Environment Agency, an es­ti­mated 4 – 9% of all tex­tile prod­ucts put on the mar­ket in Europe are de­stroyed be­fore use, amount­ing to be­tween 264,000 and 594,000 tonnes of tex­tiles de­stroyed each year.

The Commission de­vel­oped the rules af­ter wide con­sul­ta­tion with busi­nesses, NGOs and ex­perts to en­sure they work in prac­tice with­out cre­at­ing un­nec­es­sary red tape.

More in­for­ma­tion

Ecodesign for Sustainable Products Regulation | European Commission

EEA brief­ing - The de­struc­tion of re­turned and un­sold tex­tiles in Europe’s cir­cu­lar econ­omy | European Environment Agency

New EU rules to stop the de­struc­tion of un­sold clothes and shoes (February 2026) | European Commission

Commission Delegated Regulation set­ting out dero­ga­tions from the pro­hi­bi­tion of de­struc­tion of un­sold con­sumer prod­ucts | EUR-Lex

Commission Implementing Regulation on the de­tails and for­mat for the dis­clo­sure of in­for­ma­tion on dis­carded un­sold con­sumer prod­ucts | EUR-Lex

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

Visit pancik.com for more.