10 interesting stories served every morning and every evening.

I'm Upset Again About a Co-Creator of RSS Being Prosecuted For Something Meta Is Doing With Little Consequence

blog.curiousquail.com

Also here’s a cool un­re­lated photo of a chip­munk

Look at this lit­tle guy. They don’t know what an AI model is and they’re so much bet­ter off

It’s noth­ing short of an in­dict­ment of our so­ci­ety at large that Aaron Swartz, one of the co-cre­ators of the RSS pro­to­col (among many other things) was ef­fec­tively as­sas­i­nated by our le­gal sys­tem for illegally” down­load­ing about 70 gi­ga­bytes of aca­d­e­mic ar­ti­cles from JSTOR - charged so ex­ces­sively to be made an ex­am­ple of (we’re talk­ing 35 years in prison, $1million USD fine, and as­set for­fei­ture) to the point where he felt the need to take his own life rather than deal with the court cir­cus and im­pend­ing fi­nan­cial ruin - while Facebook (oh I’m sorry Meta) has tor­rented 80 TERABYTES of books to train their AI mod­els with vir­tu­ally no con­se­quences other than a court case they will most likely get some sort of fi­nan­cial slap on the wrist for while their AI mod­els con­tinue to print them money.

Swartz’ use case was the dis­sem­i­na­tion and archival of knowl­edge; Meta’s use case is pow­er­ing up their pro­pri­etary pla­gia­rism code that cooks the en­vi­ron­ment while giv­ing CEOs psy­chosis and mak­ing one of the world’s rich­est peo­ple even richer.

I never met Aaron but I get mad on his be­half so of­ten and I don’t know what to do with it other than get more rad­i­cal­ized.

Maybe that’s for the best.

Anyway, here’s your end-of-post cat photo. Her name is Lilith and she’s won­der­ing why we don’t do some­thing about all these tech bil­lionares.

The August 17 outage, and the work ahead

github.blog

On August 17, GitHub ex­pe­ri­enced an out­age that lasted 7 hours and 47 min­utes. It dis­rupted github.com, au­then­ti­ca­tion, GitHub Actions, APIs, pull re­quests, is­sues, and Copilot, af­fect­ing de­vel­op­ers and or­ga­ni­za­tions around the world. If you were try­ing to ship soft­ware that day, we let you down.

This was our sec­ond sig­nif­i­cant in­ci­dent in August, fol­low­ing an ac­tions fail­ure on August 6. In March and April, I shared the work un­der­way to im­prove GitHub’s re­li­a­bil­ity. We have made progress, but these in­ci­dents make clear that we must ac­cel­er­ate this work.

What hap­pened

Our in­ves­ti­ga­tion found that the out­age be­gan when traf­fic reached a new peak, and a crit­i­cal in­fra­struc­ture com­po­nent in our Central US data cen­ter failed to scale with it. The re­sult­ing ca­pac­ity pres­sure spread through our sys­tems, caus­ing au­then­ti­ca­tion fail­ures and dis­rupt­ing mul­ti­ple GitHub ser­vices.

Recovery re­quired sev­eral co­or­di­nated ac­tions. Teams rerouted traf­fic, iso­lated af­fected in­fra­struc­ture, and re­stored ser­vices in stages. Most GitHub ser­vices re­cov­ered ear­lier that day, but some Copilot ser­vices took longer. Errors in those ser­vices trig­gered a client-side retry loop that in­creased traf­fic dur­ing re­cov­ery. We had to mit­i­gate that be­hav­ior be­fore we could safely re­store traf­fic. The full root cause analy­sis in­cludes a de­tailed tech­ni­cal time­line.

Neither out­age was caused by a code or con­fig­u­ra­tion change. Both in­ci­dents were ca­pac­ity fail­ures at their core. We failed to scale crit­i­cal com­po­nents be­fore de­mand ex­ceeded their ca­pac­ity. Since April, monthly com­mits have grown from 1.4 bil­lion to 2.9 bil­lion. That growth ex­plains the pres­sure on our sys­tems, but it does not ex­cuse these out­ages.

What we have done and what comes next

As part of the re­li­a­bil­ity com­mit­ments we made ear­lier this year, we have fo­cused on three pri­or­i­ties: adding ca­pac­ity, im­prov­ing ef­fi­ciency, and re­mov­ing ar­chi­tec­tural bot­tle­necks. We have since added more than 3 mil­lion CPU cores, 120 petabytes of high-speed stor­age, and sig­nif­i­cant net­work ca­pac­ity. We in­stalled as much hard­ware as avail­able power al­lowed in our ex­ist­ing data cen­ters while ac­cel­er­at­ing our mi­gra­tion to Azure.

Today, Azure serves roughly 58% of GitHub’s plat­form load and half of all Git op­er­a­tions, up from 12% of plat­form load in May. This ex­panded foot­print has also sup­ported the growth in GitHub Actions job runs shown be­low.

Azure’s in­fra­struc­ture and ca­pac­ity have also ac­cel­er­ated our work to scale the largest monore­pos. Our next mile­stone is an ar­chi­tec­ture that scales read ca­pac­ity lin­early with the num­ber of read­ers, en­abling un­lim­ited read op­er­a­tions. We will roll it out grad­u­ally, be­gin­ning with the largest monore­pos.

Scale is not our only chal­lenge. As the pace and com­plex­ity of change in­creased, our ex­ist­ing op­er­a­tional prac­tices did not keep up. We have redi­rected teams and re­sources to­ward avail­abil­ity and in­vested in stronger test­ing, safer roll­outs, bet­ter ob­serv­abil­ity, and more ef­fec­tive alert­ing. We have made progress, but this work is not com­plete.

In ad­di­tion, we are also iso­lat­ing crit­i­cal sys­tems and re­mov­ing shared de­pen­den­cies be­tween them. This work is de­signed to re­duce the like­li­hood of an out­age and limit its im­pact when one oc­curs.

We learn from every out­age and add new work to our avail­abil­ity work­stream. The August 6 and August 17 in­ci­dents led to two im­me­di­ate changes. First, we are ap­ply­ing con­sis­tent retry lim­its, retry bud­gets, and vari­able time­outs across ser­vice-to-ser­vice in­ter­ac­tions to pre­vent retry storms and cas­cad­ing load. Second, we are re­view­ing lower-pri­or­ity CPU and mem­ory alerts to iden­tify com­po­nents that could fail dur­ing sud­den traf­fic spikes.

Our com­mit­ment to high avail­abil­ity is­n’t just a tech­ni­cal promise. The de­vel­oper com­mu­nity de­pends on GitHub to build, ship, and op­er­ate their work. That is only pos­si­ble if you can rely on us, and on August 17, you could­n’t. It is our re­spon­si­bil­ity to fix that. We’ll earn your trust through the scal­ing and re­li­a­bil­ity of the plat­form.

Written by

Vladimir Fedorov is GitHub’s Chief Technology Officer, bring­ing decades of ex­pe­ri­ence in en­gi­neer­ing lead­er­ship and in­no­va­tion. A pas­sion­ate ad­vo­cate for de­vel­oper pro­duc­tiv­ity, Vlad is lead­ing GitHub’s en­gi­neer­ing team to shape the fu­ture of de­vel­oper tools and in­no­va­tion with a de­vel­oper-first mind­set.

Before join­ing GitHub, Vlad co-founded UserClouds, a startup spe­cial­iz­ing in data gov­er­nance and pri­vacy. He spent 12 years at Facebook, now Meta, as Senior Vice President, lead­ing en­gi­neer­ing teams of over 2,000 across Privacy, Ads, and Platform. Earlier in his ca­reer, Vlad worked at Microsoft and earned both his BS and MS in Computer Science from Caltech. He cur­rently serves on the board of Codepath.org, an or­ga­ni­za­tion ded­i­cated to re­pro­gram­ming higher ed­u­ca­tion to cre­ate the first AI-native gen­er­a­tion of en­gi­neers, CTOs, and founders.

Vlad lives in the Bay Area and when not work­ing en­joys spend­ing time out­side and on the wa­ter with his fam­ily.

Related posts

Explore more from GitHub

Docs

Everything you need to mas­ter GitHub, all in one place.

Go to Docs

GitHub

Build what’s next on GitHub, the place for any­one from any­where to build any­thing.

Start build­ing

Customer sto­ries

Meet the com­pa­nies and en­gi­neer­ing teams that build with GitHub.

Learn more

GitHub Universe 2026

Join us October 28 – 29 in San Francisco or on­line for GitHub Universe, our flag­ship de­vel­oper event unit­ing peo­ple, agents, and the world’s code.

Register now

AI companies destroy physical books — let’s scan rare books before it’s too late

annas-archive.pk

an­nas-archive.gl/​blog, 2026 – 08-05

A guest post by Anna’s Archive vol­un­teer u” (translated from Chinese).

TL;DR: AI com­pa­nies are se­cretly buy­ing, scan­ning, and de­stroy­ing mil­lions of phys­i­cal books to train their mod­els, per­ma­nently lock­ing hu­man knowl­edge in­side pri­vate cor­po­rate servers. Anna’s Archive is ur­gently call­ing on vol­un­teers world­wide to scan and up­load books be­fore this cul­tural her­itage dis­ap­pears for­ever.

Several AI com­pa­nies are ac­quir­ing large quan­ti­ties of sec­ond­hand books through in­ter­me­di­aries, scan­ning and de­stroy­ing them, all to ob­tain train­ing data untouched by ma­chines” from be­fore 2022.

Anthropic’s Project Panama” was ex­posed in a $1.5 bil­lion copy­right set­tle­ment. In early 2024, they launched this highly con­fi­den­tial pro­ject. The com­pany has spent tens of mil­lions of dol­lars pur­chas­ing mil­lions of pa­per books, scan­ning them, train­ing its Claude LLM, and then de­stroy­ing them all. It’s out­ra­geous is that it’s legally per­mis­si­ble, but eth­i­cally, it’s an ex­tremely se­ri­ous crime against hu­man­ity.

So why de­stroy phys­i­cal books? Behind it lies the AI race and the in­ter­ests of cap­i­tal:

It pre­vents these books from be­ing scanned and used for train­ing by com­peti­tors.

It avoids le­gal risks.

Destroying books is cheaper than loss­less scan­ning.

After AI com­pa­nies mas­sively scan and de­stroy phys­i­cal books, they be­come the only ones in the world with dig­i­tal copies. Knowledge is per­ma­nently mo­nop­o­lized on pri­vate servers.

This bat­tle for old books re­veals a para­dox: while promis­ing to make hu­man knowl­edge ac­ces­si­ble,” AI com­pa­nies are dis­man­tling the most solid car­ri­ers of hu­man knowl­edge. The pub­lic may gain more in­tel­li­gent AI as­sis­tants, but at the cost of a vast amount of knowl­edge re­sources dis­ap­pear­ing from the pub­lic do­main.

Shadow li­braries

As the world’s largest shadow li­brary, Anna’s Archive needs a plan to com­bat the de­struc­tion of phys­i­cal books by AI com­pa­nies. After all, the emer­gence of shadow li­braries is the great­est mir­a­cle of knowl­edge shar­ing in the 21st cen­tury. Along with other shadow li­braries, we’re build­ing a dig­i­tal li­brary of Alexandria, an in­ex­tin­guish­able light of hu­man­ity.

We need the help of vol­un­teers world­wide to scan ma­te­ri­als (including books, jour­nal ar­ti­cles, news­pa­pers, mag­a­zines, an­cient books, rare books, and other ma­te­ri­als) from every li­brary and archive around the world and up­load them to the shadow li­brary for knowl­edge preser­va­tion, es­pe­cially those that are eas­ily lost. If every per­son scans a book, and there are 10 mil­lion vol­un­teers world­wide, we can ob­tain 10 mil­lion pieces of in­valu­able wealth.

For small scans and up­loads, we usu­ally award recog­ni­tion and life­time mem­ber­ship to Anna’s Archive.

For large-scale scans and up­loads of books, we can help pay for the scan­ning fees and other re­wards.

Time is run­ning out

Since the be­gin­ning of 2025, AI-generated con­tent has ac­counted for more than half of newly pub­lished in­ter­net con­tent. A fright­en­ing re­al­ity emerges: if much of the fu­ture con­tent con­sists of AI-generated books and pa­pers, will hu­mans be able to dis­tin­guish them? Once AI has ab­sorbed even the last sen­tence writ­ten by hu­mans on pa­per, all that will re­main on the in­ter­net will be AIs own words. In such a world, how can hu­man civ­i­liza­tion be pre­served?

Shadow li­braries of­fer the best an­swer. If you want the mem­ory of hu­man civ­i­liza­tion to no longer be mo­nop­o­lized, if you want fu­ture gen­er­a­tions to be able to read all of hu­man­i­ty’s wealth for free, if you don’t want pub­lish­ers mak­ing a for­tune while au­thors re­ceive lit­tle, then please help us. Please make any con­tri­bu­tion you can, whether it’s scan­ning and up­load­ing books, pur­chas­ing books and pa­pers to scan and up­load, or do­nat­ing. With the ef­forts of all hu­man­ity, the mo­nop­oly on knowl­edge will be bro­ken. Each of us can make his­tory.

This is a race against time. Our ideal is to scan and up­load all the world’s pub­li­ca­tions be­fore pub­lish­ers com­pletely block knowl­edge, and be­fore AI com­pa­nies scan and de­stroy all the world’s books and pa­pers.

- Anna’s Archive vol­un­teer u”

Relevant tick­ets for more in­for­ma­tion: #223 #187

AI companies destroy physical books — let’s scan rare books before it’s too late

annas-archive.gl

an­nas-archive.gl/​blog, 2026 – 08-05

A guest post by Anna’s Archive vol­un­teer u” (translated from Chinese).

TL;DR: AI com­pa­nies are se­cretly buy­ing, scan­ning, and de­stroy­ing mil­lions of phys­i­cal books to train their mod­els, per­ma­nently lock­ing hu­man knowl­edge in­side pri­vate cor­po­rate servers. Anna’s Archive is ur­gently call­ing on vol­un­teers world­wide to scan and up­load books be­fore this cul­tural her­itage dis­ap­pears for­ever.

Several AI com­pa­nies are ac­quir­ing large quan­ti­ties of sec­ond­hand books through in­ter­me­di­aries, scan­ning and de­stroy­ing them, all to ob­tain train­ing data untouched by ma­chines” from be­fore 2022.

Anthropic’s Project Panama” was ex­posed in a $1.5 bil­lion copy­right set­tle­ment. In early 2024, they launched this highly con­fi­den­tial pro­ject. The com­pany has spent tens of mil­lions of dol­lars pur­chas­ing mil­lions of pa­per books, scan­ning them, train­ing its Claude LLM, and then de­stroy­ing them all. It’s out­ra­geous is that it’s legally per­mis­si­ble, but eth­i­cally, it’s an ex­tremely se­ri­ous crime against hu­man­ity.

So why de­stroy phys­i­cal books? Behind it lies the AI race and the in­ter­ests of cap­i­tal:

It pre­vents these books from be­ing scanned and used for train­ing by com­peti­tors.

It avoids le­gal risks.

Destroying books is cheaper than loss­less scan­ning.

After AI com­pa­nies mas­sively scan and de­stroy phys­i­cal books, they be­come the only ones in the world with dig­i­tal copies. Knowledge is per­ma­nently mo­nop­o­lized on pri­vate servers.

This bat­tle for old books re­veals a para­dox: while promis­ing to make hu­man knowl­edge ac­ces­si­ble,” AI com­pa­nies are dis­man­tling the most solid car­ri­ers of hu­man knowl­edge. The pub­lic may gain more in­tel­li­gent AI as­sis­tants, but at the cost of a vast amount of knowl­edge re­sources dis­ap­pear­ing from the pub­lic do­main.

Shadow li­braries

As the world’s largest shadow li­brary, Anna’s Archive needs a plan to com­bat the de­struc­tion of phys­i­cal books by AI com­pa­nies. After all, the emer­gence of shadow li­braries is the great­est mir­a­cle of knowl­edge shar­ing in the 21st cen­tury. Along with other shadow li­braries, we’re build­ing a dig­i­tal li­brary of Alexandria, an in­ex­tin­guish­able light of hu­man­ity.

We need the help of vol­un­teers world­wide to scan ma­te­ri­als (including books, jour­nal ar­ti­cles, news­pa­pers, mag­a­zines, an­cient books, rare books, and other ma­te­ri­als) from every li­brary and archive around the world and up­load them to the shadow li­brary for knowl­edge preser­va­tion, es­pe­cially those that are eas­ily lost. If every per­son scans a book, and there are 10 mil­lion vol­un­teers world­wide, we can ob­tain 10 mil­lion pieces of in­valu­able wealth.

For small scans and up­loads, we usu­ally award recog­ni­tion and life­time mem­ber­ship to Anna’s Archive.

For large-scale scans and up­loads of books, we can help pay for the scan­ning fees and other re­wards.

Time is run­ning out

Since the be­gin­ning of 2025, AI-generated con­tent has ac­counted for more than half of newly pub­lished in­ter­net con­tent. A fright­en­ing re­al­ity emerges: if much of the fu­ture con­tent con­sists of AI-generated books and pa­pers, will hu­mans be able to dis­tin­guish them? Once AI has ab­sorbed even the last sen­tence writ­ten by hu­mans on pa­per, all that will re­main on the in­ter­net will be AIs own words. In such a world, how can hu­man civ­i­liza­tion be pre­served?

Shadow li­braries of­fer the best an­swer. If you want the mem­ory of hu­man civ­i­liza­tion to no longer be mo­nop­o­lized, if you want fu­ture gen­er­a­tions to be able to read all of hu­man­i­ty’s wealth for free, if you don’t want pub­lish­ers mak­ing a for­tune while au­thors re­ceive lit­tle, then please help us. Please make any con­tri­bu­tion you can, whether it’s scan­ning and up­load­ing books, pur­chas­ing books and pa­pers to scan and up­load, or do­nat­ing. With the ef­forts of all hu­man­ity, the mo­nop­oly on knowl­edge will be bro­ken. Each of us can make his­tory.

This is a race against time. Our ideal is to scan and up­load all the world’s pub­li­ca­tions be­fore pub­lish­ers com­pletely block knowl­edge, and be­fore AI com­pa­nies scan and de­stroy all the world’s books and pa­pers.

- Anna’s Archive vol­un­teer u”

Relevant tick­ets for more in­for­ma­tion: #223 #187

Huzzah

www.danielvaughn.dev

August 2026

A new ex­per­i­men­tal way to code with AI

If you’re a soft­ware en­gi­neer like me, the first few months of 2026 were in­cred­i­ble. Coding agents sud­denly be­came good enough that we no longer needed to man­u­ally write code. But if you’re like me, then some­time later you hit a wall. The hon­ey­moon pe­riod ended, and the nov­elty wore off. No more dopamine hits.

It’s August, and I feel ut­terly fa­tigued. To be hon­est, I’m sick to death of writ­ing long­form English to de­scribe every change I want to my code­base. However, I also don’t want to go back to writ­ing all my code man­u­ally. There was real te­dium in that prac­tice that I’d pre­fer to avoid for…well, the rest of my life.

And yet, I sense that I need to have bet­ter in­sight and con­trol over what my code is do­ing. I want to know that my out­put is high qual­ity, re­li­able soft­ware. I want to feel good about my­self as a pro­fes­sional. So I’m try­ing to find a way to have my cake and eat it too.

My prob­lem with cod­ing agents is that

There’s no re­li­able record of hu­man in­tent. Prompts are dis­carded, and the code may or may not have been gen­er­ated by AI. We’ve lost the cen­tral au­thor­ity that ex­presses what the hu­man wants out of the ma­chine, and I think it’s im­por­tant to con­tend with that fact.

AI chats are im­per­a­tive, step-by-step in­struc­tions that de­scribe changes to the ap­pli­ca­tion, not the ap­pli­ca­tion it­self. This means in­struc­tions are of­ten re­peated, and thus con­sume to­kens, many times over the course of de­vel­op­ment. This is in­ef­fi­cient.

Much of nat­ural lan­guage ex­ists for so­cial rea­sons, not in­for­ma­tional. The av­er­age sen­tence is scarce in real in­for­ma­tion. Writing in this man­ner, to a ma­chine, is cum­ber­some.

To ad­dress these prob­lems, I’m build­ing an ex­per­i­men­tal ed­i­tor. I’m call­ing it Huzzah, and it poses an al­ter­na­tive par­a­digm for work­ing with LLMs.

With cod­ing agents, prompts are (a) long­form, (b) im­per­a­tive, and (c) tran­sient. With Huzzah, prompts are (a) pseudocode, (b) de­clar­a­tive, and (c) per­sis­tent.

It’s eas­ier if I just show you.

Your browser does not sup­port em­bed­ded video. You can

watch the Huzzah demon­stra­tion di­rectly

.

Comparing fizz buzz

Let’s take a very sim­ple ex­am­ple - say you want to use AI to cre­ate fizz buzz. We’ll do this twice - once with cod­ing agents and an­other with Huzzah.

With cod­ing agents

You start a chat in your tool of choice, and type some­thing like the fol­low­ing:

Create a func­tion that loops 100 times. If the num­ber is di­vis­i­ble by 3, print fizz”. If the num­ber is di­vis­i­ble by 5, print buzz”. If the num­ber is di­vis­i­ble by both (like 15 for ex­am­ple), print fizz buzz”.

Create a func­tion that loops 100 times. If the num­ber is di­vis­i­ble by 3, print fizz”. If the num­ber is di­vis­i­ble by 5, print buzz”. If the num­ber is di­vis­i­ble by both (like 15 for ex­am­ple), print fizz buzz”.

If you need to make an edit, you’d send a fol­low up mes­sage to the chat:

Instead of loop­ing 100 times, the func­tion should take a num­ber in­put and the func­tion should loop that amount of times.

Instead of loop­ing 100 times, the func­tion should take a num­ber in­put and the func­tion should loop that amount of times.

You re­peat this process un­til you’re sat­is­fied.

With Huzzah

You cre­ate a new file called fiz­z_buzz.hz. In it, you write a pseudocode rep­re­sen­ta­tion, how­ever you like. This is how I’d do it, per­son­ally:

fiz­z_buzz() loop 100 mod­ulo 3 ? fizz” 5 ? buzz” both ? fizz buzz”

You save the file, and Huzzah au­to­mat­i­cally gen­er­ates real code from it.

If you need to make an edit, sim­ply up­date your file:

fiz­z_buzz(n) loop n mod­ulo 3 ? fizz” 5 ? buzz” both ? fizz buzz”

When you save the file, Huzzah cap­tures the diff and uses it as the prompt to the LLM. The af­fected source code is thus re­gen­er­ated.

Some other ex­am­ples

To give you a bet­ter sense for what this could look like in other sce­nar­ios, here are some al­ter­na­tive ex­am­ples.

1. Shopping cart

list cart list in­ven­tory

mock­_­data = // in­clude some mock data

init() in­ven­tory.fill(mock­_­data)

ad­d_item(id) cart.add(item by id)

re­move_item(id) cart.fil­ter(item by id)

check­out() re­turn cart.sum(item by price) and for­mat as price

2. Todo List

Todo { id: int text: str com­pleted: bool }

ad­d_todo(text) to­dos.add(text, com­pleted = false)

tog­gle_todo(id) todo = to­dos.get by id todo.com­pleted = NOT .completed

re­move_todo(id) to­dos.fil­ter by id

Benefits

You should be able to see some ben­e­fits al­ready. Notice how much more terse and read­able the pseudocode is than the long­form prompts? Here are some more:

Writing prompts this way en­gages your mind, be­cause it feels much more like you’re de­sign­ing the shape of the code.

You can be as terse or as ver­bose as you like.

The pseudocode acts as de­vel­oper doc­u­men­ta­tion be­cause a hu­man wrote it to ex­press their in­tent.

You could write a lan­guage ag­nos­tic pseudocode and use it as the ba­sis for mul­ti­ple lan­guage or en­vi­ron­men­tal tar­gets. Think com­plex al­go­rithms, like a CRDT.

Caveats

There are no sil­ver bul­lets, of course. Some ex­cep­tions:

It’s en­tirely pos­si­ble that there are is­sues with this ap­proach at scale.

This is ob­vi­ously more ideal for new code­bases than ex­ist­ing ones.

If you lack do­main ex­per­tise, nat­ural lan­guage is prob­a­bly the eas­ier in­ter­ac­tion method.

Some things may be more dif­fi­cult to re­li­ably ex­press, like cross-file de­pen­den­cies.

LSP-type fea­tures would not be avail­able (though this could plau­si­bly be gen­er­ated).

Current state

Huzzah is ac­tively be­ing de­vel­oped, and ex­ists only in an ex­per­i­men­tal state for now. You can find the source code and setup in­struc­tions here. Please give it a spin and let me know what you think!

Cheers.

Watching TikTok and Instagram Reels Videos Deactivates the Brain’s Cognitive Control Network, Study Finds

www.rathbiotaclan.com

Millions of peo­ple fin­ish short video af­ter short video every day; a new brain-scan study shows that the very act of fin­ish­ing a clip they like tem­porar­ily qui­ets the brain re­gions that nor­mally help them stay fo­cused and weigh longer-term goals. When peo­ple watch a short video they en­joy enough to fin­ish, two brain re­gions in­volved in cog­ni­tive con­trol show sig­nif­i­cant de­ac­ti­va­tion. That is the cen­tral find­ing of a new study from Zhejiang University, pub­lished in Neu­roIm­agein January 2026. Using func­tional MRI along­side pro­ton mag­netic res­o­nance spec­troscopy (¹H-MRS), the re­search team ex­am­ined 56 young adults while they freely watched short video clips in­side an MRI scan­ner. Both the dor­sal an­te­rior cin­gu­late cor­tex (dACC) and the dor­so­lat­eral pre­frontal cor­tex (dlPFC) showed re­duced ac­tiv­ity specif­i­cally when par­tic­i­pants watched clips they liked enough to view to com­ple­tion.

Cognitive con­trol helps peo­ple bal­ance im­me­di­ate plea­sures against longer-term goals, and im­pair­ments in this sys­tem are linked to con­di­tions such as de­pres­sion, anx­i­ety, ADHD, and ad­dic­tion. Short-video plat­forms pre­sent rapid, al­go­rith­mi­cally cu­rated streams that are built for con­tin­u­ous, low-ef­fort con­sump­tion. Prior be­hav­ioral re­search has tied both in­ter­net ad­dic­tion and smart­phone ad­dic­tion to weaker self-con­trol, and sep­a­rate neu­roimag­ing work has doc­u­mented dis­rup­tions to re­ward and cog­ni­tive-con­trol cir­cuits in peo­ple with be­hav­ioral ad­dic­tions. Despite this, few stud­ies had di­rectly tested whether the act of watch­ing en­ter­tain­ing short videos it­self sup­presses the brain’s cog­ni­tive con­trol re­gions. The Zhejiang University team set out to an­swer that ques­tion, along with a sec­ond one: what neu­ro­chem­i­cal fac­tors might ex­plain why this sup­pres­sion varies from per­son to per­son?

The dACC and dlPFC form the core of the brain’s cog­ni­tive con­trol net­work. The dACC con­tributes to con­flict mon­i­tor­ing, re­ward-based de­ci­sions, and ef­fort eval­u­a­tion, and it typ­i­cally ac­ti­vates dur­ing de­mand­ing tasks such as the Stroop or Go/No-Go test. The dlPFC, which con­nects struc­turally to the dACC, car­ries out top-down con­trol once the dACC has flagged a need for it. Earlier work from the same lab had al­ready shown that pas­sively view­ing per­son­al­ized short videos sup­presses the dACC, re­gard­less of whether the con­tent was al­go­rith­mi­cally rec­om­mended or generic. Separately, prior neu­ro­chem­i­cal re­search has linked rest­ing-state glu­ta­mate con­cen­tra­tions in the an­te­rior cin­gu­late cor­tex to stronger task-re­lated brain ac­ti­va­tion, while GABA con­cen­tra­tions have been as­so­ci­ated with re­duced ac­ti­va­tion in some con­texts. However, these metabo­lite-to-ac­tiv­ity re­la­tion­ships have proven in­con­sis­tent across dif­fer­ent types of cog­ni­tive tasks.

The team re­cruited 66 vol­un­teers and ex­cluded 10 for ex­ces­sive head mo­tion or low-qual­ity spec­troscopy data, leav­ing a fi­nal sam­ple of 56 par­tic­i­pants (37 men and 19 women, av­er­age age 23.3). All par­tic­i­pants re­ported some ex­ist­ing ex­pe­ri­ence with short-video apps. Before scan­ning, the re­searchers mea­sured rest­ing-state glu­ta­mate and GABA con­cen­tra­tions in each par­tic­i­pan­t’s dACC us­ing a MEGA-PRESS spec­troscopy se­quence, with a matched voxel in the vi­sual cor­tex serv­ing as a con­trol re­gion.

During the scan, par­tic­i­pants watched two six-minute blocks of short clips drawn from a li­brary of 160 videos span­ning five cat­e­gories: sin­gle-per­son ac­tions, multi-per­son in­ter­ac­tions, pets, game scenes, and nat­ural scenery. Average clip length was 23.7 sec­onds. Participants could press a but­ton at any time to skip to the next clip. Based on view­ing be­hav­ior, each video was clas­si­fied as liked” (watched to the end), disliked” (skipped be­fore the halfway point), or a third cat­e­gory for clips skipped af­ter the halfway point. On av­er­age, par­tic­i­pants watched about 19 liked videos and 36 dis­liked videos per ses­sion. The study had been pre­reg­is­tered in September 2024, and the analy­sis plan set a Bonferroni-corrected sig­nif­i­cance thresh­old to ac­count for mul­ti­ple com­par­isons.

Both the dACC and dlPFC de­ac­ti­vated sig­nif­i­cantly be­low base­line while par­tic­i­pants watched liked videos. During dis­liked videos, the pat­tern di­verged: dACC ac­tiv­ity stayed close to base­line, while dlPFC ac­tiv­ity re­mained sup­pressed, though less se­verely than dur­ing liked view­ing. Directly com­par­ing con­di­tions con­firmed that both re­gions showed sig­nif­i­cantly greater sup­pres­sion dur­ing liked video view­ing than dur­ing dis­liked view­ing. The vi­sual cor­tex, used as a con­trol re­gion, ac­ti­vated dur­ing both video types with no dif­fer­ence be­tween them, in­di­cat­ing the de­ac­ti­va­tion pat­tern was spe­cific to cog­ni­tive con­trol re­gions rather than a gen­eral ef­fect of watch­ing video.

Regional Brain Activation During Liked vs. Disliked Video Viewing

Bar height is pro­por­tional to the t(55) sta­tis­tic re­ported in the pa­per. Bars be­low the cen­ter line in­di­cate sig­nif­i­cant de­ac­ti­va­tion; bars above in­di­cate sig­nif­i­cant ac­ti­va­tion.

t=-6.30***

liked

t=-0.90, n.s.

dis­liked

dACC

t=-12.20***

liked

t=-3.73***

dis­liked

dlPFC

t=5.21***

liked

t=7.76***

dis­liked

V1 (control)

Significant de­ac­ti­va­tion Significant ac­ti­va­tion Not sig­nif­i­cant vs. base­line ***p<.001

Resting-state dACC glu­ta­mate con­cen­tra­tion also mat­tered. Independent of GABA, higher dACC glu­ta­mate pre­dicted less sup­pres­sion of dACC ac­tiv­ity dur­ing both liked and dis­liked view­ing, and less sup­pres­sion of dlPFC ac­tiv­ity dur­ing dis­liked view­ing. The link be­tween glu­ta­mate and dlPFC ac­tiv­ity dur­ing liked view­ing did not reach sta­tis­ti­cal sig­nif­i­cance. GABA con­cen­tra­tion, mean­while, cor­re­lated sig­nif­i­cantly with ac­ti­va­tion in the vi­sual-cor­tex con­trol re­gion but showed no sig­nif­i­cant re­la­tion­ship with dACC or dlPFC ac­tiv­ity.

Functional con­nec­tiv­ity be­tween the dACC and dlPFC in­creased above base­line dur­ing both liked and dis­liked view­ing, and this in­crease was sig­nif­i­cantly stronger dur­ing liked videos. Connectivity be­tween the dACC and the vi­sual-cor­tex con­trol re­gion showed no sig­nif­i­cant de­vi­a­tion from base­line in ei­ther con­di­tion. Neither glu­ta­mate nor GABA con­cen­tra­tion sig­nif­i­cantly pre­dicted the strength of dACC-dlPFC or dACC-V1 con­nec­tiv­ity.

Functional Connectivity Between the dACC and Other Regions

t(55) sta­tis­tics for dACC con­nec­tiv­ity with the dlPFC (task-relevant) and V1 (control re­gion) dur­ing video view­ing.

t=5.75***

liked

t=4.65***

dis­liked

dACC–dlPFC

t=-1.02, n.s.

liked

t=-1.85, n.s.

dis­liked

dACC–V1

Significant pos­i­tive con­nec­tiv­ity Not sig­nif­i­cant vs. base­line ***p<.001

Data source: Hong, T., Su, C., Zhou, H., Geng, F., & Hu, Y. (2026). Brain ac­tiv­ity in­hi­bi­tion dur­ing short video view­ing: Neurochemical in­sights. NeuroImage, 327, 121722. Bar heights are scaled for vi­sual com­par­i­son of t-sta­tis­tics and are not ef­fect-size es­ti­mates.

The re­searchers cau­tion against read­ing the de­ac­ti­va­tion as ev­i­dence of im­paired cog­ni­tive func­tion. As they put it in the pa­per, this de­ac­ti­va­tion should not be in­ter­preted as a fail­ure of cog­ni­tive con­trol ca­pac­ity.” Instead, the team ar­gues the pat­tern likely re­flects an adap­tive shift to­ward low-ef­fort, au­to­matic pro­cess­ing dur­ing pas­sive, low-con­flict view­ing. They note that par­tic­i­pants re­mained ac­tively en­gaged through­out the task, skip­ping dis­liked clips on roughly 57 per­cent of tri­als, which the au­thors say points to sus­tained eval­u­a­tion rather than dis­en­gage­ment or mind-wan­der­ing.

The au­thors con­nect their re­sults to prior work on flow” states as­so­ci­ated with other im­mer­sive me­dia, such as films and video games, which sim­i­larly show re­duced pre­frontal mon­i­tor­ing dur­ing pe­ri­ods of ab­sorbed at­ten­tion. For the con­nec­tiv­ity find­ings, the re­searchers pro­pose that stronger dACC-dlPFC cou­pling dur­ing liked videos may re­flect shared mod­u­la­tion of both re­gions, po­ten­tially via in­put from the amyg­dala, rather than the height­ened con­flict-dri­ven en­gage­ment that typ­i­cally ac­com­pa­nies in­creased con­nec­tiv­ity in cog­ni­tive con­trol tasks. They frame this as a de­par­ture from the clas­si­cal view that tighter dACC-dlPFC cou­pling al­ways sig­nals more ac­tive cog­ni­tive con­trol.

The au­thors list sev­eral lim­i­ta­tions di­rectly in the pa­per. They did not mea­sure neu­ro­trans­mit­ter con­cen­tra­tions in the dlPFC it­self, only in the dACC, which lim­its con­clu­sions about that re­gion’s neu­ro­chem­istry. The study did not test whether amyg­dala ac­tiv­ity causally dri­ves the de­ac­ti­va­tion it ob­served, de­spite propos­ing that link as an ex­pla­na­tion. Participants’ ha­bit­ual or prob­lem­atic short-video use was not for­mally as­sessed with a val­i­dated ad­dic­tion scale, so the find­ings can­not be tied to com­pul­sive use pat­terns. Videos were clas­si­fied as liked or dis­liked based only on whether par­tic­i­pants watched them to com­ple­tion, which the au­thors ac­knowl­edge does not fully sep­a­rate gen­uine pref­er­ence from cu­rios­ity or other fac­tors. The study also does not ad­dress whether re­peated de­ac­ti­va­tion of these re­gions car­ries any longer-term ef­fect on cog­ni­tive func­tion, since it cap­tured only a sin­gle ses­sion. Finally, the sam­ple con­sisted of young, healthy adults with more men than women, and the au­thors note that doc­u­mented sex dif­fer­ences in glu­ta­mate and GABA me­tab­o­lism mean the re­sults may not gen­er­al­ize to other age groups or pop­u­la­tions. Because the de­sign was cor­re­la­tional, the pa­per does not es­tab­lish whether glu­ta­mate lev­els cause the ob­served dif­fer­ences in brain ac­tiv­ity or sim­ply track along­side them.

Reference:

Hong, T., Su, C., Zhou, H., Geng, F., & Hu, Y. (2026). Brain ac­tiv­ity in­hi­bi­tion dur­ing short video view­ing: Neurochemical in­sights. Neu­roIm­age, 327, 121722. https://​doi.org/​10.1016/​j.neu­roim­age.2026.121722

Japan tried to build an operating system for the entire world, then the US government intervened

www.xda-developers.com

Published Aug 20, 2026, 9:00 AM EDT

I’m Adam Conway, an Irish tech­nol­ogy fa­natic with a BSc in Computer Science and I’m XDAs Lead Technical Editor. My Bachelor’s the­sis was con­ducted on the vi­a­bil­ity of bench­mark­ing the non-func­tional el­e­ments of Android apps and smart­phones such as per­for­mance, and I’ve been work­ing in the tech in­dus­try in some way or an­other since 2017.

In my spare time, you’ll prob­a­bly find me play­ing Counter-Strike or VALORANT, and you can reach out to me at adam@xda-de­vel­op­ers.com, on Twitter as @AdamConwayIE, on Instagram as AdamConwayIE, or u/​Adam­Con­wayIE on Reddit.

Sign in to your XDA ac­count

There’s a ver­sion of com­put­ing his­tory where the desk­top OS that won was­n’t Windows. Not be­cause the al­ter­na­tive was Unix-based or be­cause Apple pulled off some­thing dif­fer­ent, but be­cause an op­er­at­ing sys­tem de­signed at the University of Tokyo in 1984 was am­bi­tious enough to try to re­place the file sys­tem with a hy­per­me­dia doc­u­ment model, run on a cus­tom Japanese CPU ar­chi­tec­ture, and en­code 1.5 mil­lion char­ac­ters, only to have a US trade re­port sin­gle it out as an un­fair trade bar­rier in 1989.

That pro­ject was TRON (The Real-time Operating sys­tem Nucleus), a real, gov­ern­ment-backed Japanese com­put­ing ini­tia­tive whose desk­top vari­ant, BTRON, was named in a US trade bar­rier re­port and ef­fec­tively killed be­fore it could reach schools na­tion­wide. Meanwhile, its em­bed­ded coun­ter­part, ITRON, qui­etly be­came one of the most de­ployed op­er­at­ing sys­tems in his­tory.

TRONs his­tory has since at­tracted some gen­uinely wild con­spir­acy the­o­ries, in­clud­ing one claim­ing that Japan Airlines Flight 123 was de­lib­er­ately crashed in or­der to tar­get the TRON de­vel­op­ers on board, de­spite there be­ing no ev­i­dence that any TRON de­vel­op­ers were even on the flight. But the strangest part of the story is­n’t even a con­spir­acy the­ory: BTRONs hy­per­me­dia desk­top was decades ahead of what the mar­ket could sup­port, and SoftBank founder Masayoshi Son may have helped sink it from the in­side.

Ken Sakamura de­signed an OS fam­ily for the whole of Japanese so­ci­ety

He wanted all of it, sil­i­con in­cluded

Ken Sakamura was a re­searcher at the University of Tokyo when he launched the TRON Project in 1984. It was an am­bi­tious un­der­tak­ing; he wanted a ver­ti­cally in­te­grated com­put­ing ar­chi­tec­ture that Japan could build its en­tire dig­i­tal in­fra­struc­ture on, from the mi­cro­con­troller in a wash­ing ma­chine to the work­sta­tion on a desk to the tele­com switch in a cen­tral of­fice. The pro­ject had five sub-ar­chi­tec­tures: ITRON for em­bed­ded real-time sys­tems, BTRON for per­sonal com­put­ers, CTRON for main­frames and tele­com switch­ing, MTRON for cross-sys­tem co­or­di­na­tion, and STRON, a hard­ware im­ple­men­ta­tion of the real-time ker­nel.

The pro­ject de­signed its own CPU ar­chi­tec­ture, the TRON VLSI CPU, which Hitachi man­u­fac­tured as the Gmicro/200 se­ries. Hitachi ac­tu­ally pro­duced and sold it, and it ended up pow­er­ing some Japanese work­sta­tions and em­bed­ded sys­tems through­out the late 1980s. Sakamura’s team also drew up its own TRON key­board lay­out, de­signed for ef­fi­cient Japanese text in­put along­side pro­gram­ming sym­bols, and a real-time pe­riph­eral bus called mi­cro-BTRON, based on IEEE 802.5 and in­tended as an al­ter­na­tive to MIDI for con­nect­ing electronic sta­tionery” pe­riph­er­als, though that bus never shipped in a com­mer­cial prod­uct. The idea was that every layer, from sil­i­con to user in­ter­face, would be de­signed to­gether, with no com­pat­i­bil­ity debt to ex­ist­ing plat­forms.

The char­ac­ter en­cod­ing sys­tem, TRON Code, was ar­guably the most am­bi­tious part. It sup­ported multi-plane char­ac­ter switch­ing via 0xFE es­cape codes, with 31 de­fined planes of 48,400 char­ac­ters each, giv­ing a the­o­ret­i­cal ca­pac­ity of 1,500,400 char­ac­ters. By 1999, B-right/V R2 shipped with roughly 130,000 char­ac­ters across 14 de­fined planes, cov­er­ing JIS lev­els 1 and 2, Chinese GB 2312, Korean KS C 5601, Unicode’s non-CJK range, and the Mojikyo col­lec­tion of rare his­tor­i­cal char­ac­ters, and users could reg­is­ter new char­ac­ters for free through the TRON Character Resource Center. To put that in per­spec­tive, Unicode 1.0 in 1991 de­fined 20,902 uni­fied CJK ideo­graphs, and TRONs CJK cov­er­age ex­ceeded Unicode’s for well over a decade. A large part of that count came from Mojikyo, though, which sep­a­rately en­codes vari­ant glyphs that Unicode uni­fies into sin­gle code points.

You can see the am­bi­tion from the very be­gin­ning, as the 1996 demo re­lease in­cludes a char­ac­ter-code viewer that lists its planes side by side: Japanese ba­sic, Japanese sup­ple­men­tary, Chinese GB, Korean KSC, and 6-dot Braille. Braille is there as a first-class plane rather than an ac­ces­si­bil­ity add-on bolted on later, and Unicode did­n’t en­code Braille pat­terns at all un­til ver­sion 3.0 in 1999. For its time TRON Code was the best an­swer any­one had to a prob­lem the rest of the in­dus­try was years from solv­ing.

The pro­ject was backed by an ac­tual or­ga­ni­za­tion: the TRON Association, es­tab­lished in 1986. Its mem­bers in­cluded Hitachi, Mitsubishi, Fujitsu, NEC, Matsushita, and Toshiba… ba­si­cally every ma­jor Japanese elec­tron­ics com­pany of the era. On top of those do­mes­tic com­pa­nies, for­eign com­pa­nies could join too, and sev­eral did. TRON was roy­alty-free and its spec­i­fi­ca­tions were open, which was a de­lib­er­ate choice that would later al­low ITRON to spread. The Japanese gov­ern­ment, through MITI, sup­ported the pro­ject as a na­tional tech­nol­ogy strat­egy, giv­ing it the kind of in­sti­tu­tional back­ing that most op­er­at­ing sys­tem pro­jects could only dream of.

On top of all this, BTRON pro­posed some­thing rad­i­cal for desk­tops.

BTRONs desk­top was decades ahead of where com­put­ing ac­tu­ally went

The file and the ap­pli­ca­tion were im­ple­men­ta­tion de­tails

BTRONs core idea was that the user-vis­i­ble prim­i­tive on a desk­top com­puter should­n’t be a file or the ap­pli­ca­tion, but the typed doc­u­ment part. In other words, a block of con­tent with a sta­ble iden­tity and a de­clared type. Parts can con­tain other parts, and the same mech­a­nisms that em­bed a fig­ure in a re­port can also em­bed a re­port in a work­space, mean­ing that there was no spe­cial case for a top-level file.

This model could be found across the in­ter­face as well, and you can browse a con­tainer in 1B/V3 and see each en­try car­ries its type in paren­the­ses af­ter the name. For ex­am­ple, a doc­u­ment called 中国・韓国料理ガイド(図形), mean­ing Chinese and Korean Cuisine Guide (Graphics)”, de­scribes this file as an im­age. In com­par­i­son, DOS would have given you an ex­ten­sion.

Parts were con­nected by typed links, stored in a sys­tem-man­aged link store rather than frag­ile string paths. Links sur­vived re­names, ed­its, and re­or­ga­ni­za­tions, and ap­pli­ca­tions weren’t own­ers of files but han­dlers for part types. According to the BTRON3 spec­i­fi­ca­tion, the first two half­words of an ap­pli­ca­tion ID are the data type it ap­plies to, and only the third dis­tin­guishes ri­val han­dlers for the same type. When a doc­u­ment con­tained writ­ing, a table, and a fig­ure, open­ing those parts made the sys­tem launch each one’s reg­is­tered han­dler to draw its own con­tent in­side the par­ent doc­u­men­t’s win­dow. If no han­dler ex­ists, or the han­dler fails to draw, the sys­tem strikes a di­ag­o­nal line through the re­gion where the con­tent should have been.

BTRON also used a file sys­tem model called real-body/​pseudo-body, which re­placed the tree-struc­tured di­rec­tory hi­er­ar­chy with an ar­bi­trary di­rected graph. Files can ex­ist in mul­ti­ple lo­ca­tions with­out du­pli­ca­tion, linked by the sys­tem rather than by sym­links or short­cuts, and the dic­tio­nary that pow­ers Japanese text in­put is ad­dressed the same way a cook­ing guide would be. Here, the TRON Application Databus for­mat car­ries struc­tured data be­tween ap­pli­ca­tions us­ing a chun­ked seg­ment struc­ture with a com­mon header, so a spread­sheet cell and a para­graph of text could be com­posed into the same doc­u­ment with­out the user ever hav­ing to think about file for­mats. Applications can skip data types they don’t sup­port, mak­ing in­ter­op­er­abil­ity a core as­pect of the sys­tem.

Arguably, this is the same con­cept that tools like Roam, Logseq, and Obsidian have been re­dis­cov­er­ing over the last decade. But BTRON pro­posed it as the fun­da­men­tal OS ab­strac­tion in the mid-1980s, paired with a cus­tom CPU and a real-time mi­cro­ker­nel un­der­neath. It’s not that BTRONs im­ple­men­ta­tion would feel smooth by mod­ern stan­dards, be­cause the hard­ware it ran on was too slow for that, but the ar­chi­tec­ture was do­ing some­thing con­cep­tu­ally dif­fer­ent from any­thing that shipped com­mer­cially in the West at the time.

1B/V3 comes with a num­ber of sam­ple doc­u­ments that show ex­actly this con­cept. One demon­stra­tion is a Microscript fig­ure, which is a draw­ing can­vas hold­ing a green ball and a sloped sur­face, each a named ob­ject, with a text sec­tion dubbed SCRIPT in the same space. You can open the script and see DEFINE 半径(ボール.W/2), defin­ing a ra­dius as half the bal­l’s width, then SET 新Y ボール.Y+半径+速度Y/4″ which ad­vances the bal­l’s po­si­tion on each step. The script ad­dresses the fig­ure’s con­tents as ボール.X and 斜面.W, mean­ing ob­ject and prop­erty, and the en­tire file is a sin­gle doc­u­ment rather than a pro­gram load­ing data files. Sure, a bounc­ing-ball sim­u­la­tion is a small thing to build, but the point is that it’s a typed part in­side the doc­u­ment in­stead of a ded­i­cated ap­pli­ca­tion that owns it.

BTRON was made avail­able in a small num­ber of prod­ucts in Japan: for ex­am­ple, the BrainPad TiPO PDA from Seiko Instruments had a ver­sion with a touch­screen and sty­lus. As well, B-right/V (also called Cho-Kanji) was avail­able on com­mod­ity PC hard­ware through Personal Media Corporation, a com­pany that still lists the soft­ware on its Japanese-language web­site to­day. This is 1B/V3, and I got the demo disk work­ing in 86Box on an Apple Silicon Mac. All it needs, at min­i­mum, is a mid-90s Pentium clone with 16MB of RAM and a Cirrus Logic video card.

Unfortunately, BTRON never got the dis­tri­b­u­tion it needed, and by 1989 it had a much big­ger prob­lem than adop­tion.

The US gov­ern­ment named TRON in a trade bar­rier re­port

Buried in Section 7

In April 1989, the Office of the US Trade Representative pub­lished its an­nual National Trade Estimate Report on Foreign Trade Barriers. Buried in Section 7, Other Barriers,” was a sec­tion about TRON. The re­port stated that the US had con­cerns about Japanese gov­ern­ment mar­ket in­ter­ven­tion to sup­port the TRON OS and iden­ti­fied two spe­cific mar­kets where TRON was re­ceiv­ing gov­ern­ment ad­van­tage.

The first ad­van­tage it was deemed to be ben­e­fit­ing from was in the in­dus­try of ed­u­ca­tional PCs. The Japanese Ministry of Education and MITI were de­vel­op­ing a stan­dard spec­i­fi­ca­tion for com­put­ers be­ing in­tro­duced into mid­dle schools na­tion­wide, and the spec­i­fi­ca­tion was built around TRON. The sec­ond was NTTs next-gen­er­a­tion dig­i­tal com­mu­ni­ca­tions net­work, which planned to adopt CTRON, the tele­com vari­ant. The re­port noted that while sev­eral US com­pa­nies were mem­bers of the TRON Association, none were in a po­si­tion to sell TRON-based prod­ucts in ei­ther mar­ket.

The NTE re­port was an an­nual sur­vey of for­eign trade bar­ri­ers, and it was­n’t a sanc­tions list. The more ag­gres­sive Super 301 process, es­tab­lished by the 1988 Trade Act, was a sep­a­rate mech­a­nism that could es­ca­late a dis­pute into in­ves­ti­ga­tion and ne­go­ti­a­tion, and TRON was never des­ig­nated a Super 301 pri­or­ity. The ac­tual Japan des­ig­na­tions that year were su­per­com­put­ers, satel­lites, and for­est prod­ucts, as Carla Hills’ May 25 state­ment con­firms. No sanc­tions were ever ap­plied to TRON, but it was clear that the US gov­ern­ment had been spooked for some rea­son by the TRON pro­ject.

In fact, Ken Sakamura was sur­prised that it had been named at all. In an in­ter­view with Japan’s Yomiuri Shimbun pub­lished in August 2026, he said: TRON is open to the world, and American com­pa­nies can use it freely. Why would it be­come a tar­get of trade fric­tion? I had no idea what was go­ing on.”

The TRON Association sent a writ­ten protest to the US gov­ern­ment, and the US sent an in­spec­tion team to in­ves­ti­gate as a re­sult. By Sakamura’s ac­count, the mat­ter was closed over a din­ner where the USTR told him On in­ves­ti­ga­tion, it turned out that BTRON is no harm. We are sorry for caus­ing trou­bles to you if any.” Unfortunately, by June 1989, the school adop­tion was dead.

Even though the le­gal re­al­ity was that TRONs nam­ing in the sur­vey was re­solved, that mat­tered less than the rep­u­ta­tional hit it took as a re­sult. Japanese man­u­fac­tur­ers in­ter­preted the dis­pute as a sig­nal that TRON had an­gered the US gov­ern­ment, and stay­ing as­so­ci­ated with it could threaten their American busi­ness. Companies with­drew from TRON PC de­vel­op­ment left and right, and Yomiuri quotes an in­dus­try source de­scrib­ing the out­come bluntly: TRON it­self was never de­nied, but it be­came an OS with a blem­ish from America. We can’t use it.”

Funnily enough, the USTRs com­plaint had some va­lid­ity to it. After all, the ob­jec­tion to TRON did­n’t come from it be­ing closed off or ex­clu­sion­ary, but that the Japanese gov­ern­ment was steer­ing its pro­cure­ment of two huge mar­kets to­ward a do­mes­tic stan­dard. This had the ef­fect of ex­clud­ing for­eign ven­dors re­gard­less of whether TRONs spec was open or not. However, what hap­pened af­ter, namely the rep­u­ta­tional dam­age, is a lot harder to jus­tify.

There’s an­other side to this story, though, and it re­frames things a lit­tle bit. In a book from Scott Callon in 1995, Divided Sun: MITI and the Breakdown of Japanese High-Tech Industrial Policy,” he ar­gues that BTRON was al­ready strug­gling with in­ter­nal co­or­di­na­tion prob­lems and de­layed hard­ware be­fore the trade dis­pute, which made the con­tro­versy a con­ve­nient way to exit the mar­ket. An aca­d­e­mic pa­per pub­lished in 2003, ti­tled Three Attempts at De-Wintelization,” frames this dis­pute as just an­other event in a longer pat­tern of Japanese ef­forts to chal­lenge the Wintel mo­nop­oly, each of which failed for a com­bi­na­tion of po­lit­i­cal and struc­tural rea­sons.

Even still, Matsushita Communication Industrial shipped the PanaCAL ET in 1990, which was a BTRON ed­u­ca­tional PC, but the mo­men­tum was well and truly gone at this stage. But there was an­other fac­tor too, one that Sakamura him­self would later de­scribe as the real cause of the dam­age.

SoftBank’s founder may have weaponized the re­port against BTRON

He pub­lished a book called The Tron Revolution’ first

There’s a book from Japanese re­porter Eiji Oshita, writ­ten in 1999 as a bi­og­ra­phy about Masayoshi Son. In the book, ti­tled Masayoshi Son: The Young Lion of Entrepreneurship,” Oshita writes that Son had a di­rect in­cen­tive to sab­o­tage the TRON pro­ject. Oshita states that Son was build­ing a soft­ware dis­tri­b­u­tion busi­ness around im­port­ing American PC soft­ware, and if TRON-based, Windows-incompatible PCs be­came the stan­dard in Japanese schools (which was a cap­tive mar­ket), then his busi­ness model would take a se­ri­ous hit.

Oshita’s bi­og­ra­phy fur­ther de­scribes Son lob­by­ing MITI of­fi­cials, politi­cians, and busi­ness lead­ers to op­pose TRONs adop­tion, ar­gu­ing that TRON would iso­late Japan from global com­put­ing stan­dards. The TRON Association pub­lished an ed­i­to­r­ial in its own TRONWARE mag­a­zine in December 1999 ti­tled People who blocked the TRON pro­ject,” which stated that the per­son who de­stroyed BTRON us­ing the USTR was not an American com­pany, but a Japanese per­son.”

Stranger still, the strongest cor­rob­o­ra­tion of this al­le­ga­tion comes from Ken Sakamura him­self. On the of­fi­cial TRON Project 30th Anniversary web­site, pub­lished some­time in 2014, Sakamura wrote a sec­tion called An Unexpected Ending” that di­rectly names Son. He de­scribes how the Oshita bi­og­ra­phy de­tails Son mo­bi­liz­ing every con­nec­tion he had to op­pose BTRON, and in Sakamura’s own words: I have to ad­mit I was im­pressed by his thor­ough­ness.”

Son’s SoftBank pub­lish­ing di­vi­sion had pub­lished a book called The Tron Revolution” in December 1988, four months be­fore the USTR re­port that named TRON as a trade bar­rier.

All of this is from ma­chine trans­la­tions of Oshita’s bi­og­ra­phy, the TRON pro­ject an­niver­sary site, and other sources that ap­pear to have never been pub­lished in English. It’s im­por­tant to know that the Yomiuri se­ries ap­proaches this claim far more ap­pre­hen­sively than Sakamura does: It says that there was talk that Son op­posed TRON,” rather than out­right ac­cus­ing him of it. We don’t know for sure if Son killed BTRON, but it’s hard to dis­miss Sakamura’s own words as merely a ru­mor.

Sakamura goes fur­ther as well when he ac­cuses Son, stat­ing that Son used the US trade process as his way of sab­o­tag­ing the pro­ject. He said that the per­son who de­stroyed BTRON did so through what was es­sen­tially rep­u­ta­tional dam­age lever­ag­ing the USTR,” which is­n’t nec­es­sar­ily a claim that Son man­u­fac­tured the NTE re­port, just that he ex­ploited its ex­is­tence. This par­tic­u­lar de­tail, amongst many oth­ers, I could­n’t find trans­lated to English any­where else, and it comes from some­one who was es­sen­tially the fa­ther of the en­tire pro­ject.

To be fair to Sakamura as well, it ac­tu­ally lines up well with what hap­pened, and ex­plains sev­eral as­pects of it. It cer­tainly makes more sense than a claim that Son’s lob­by­ing and the US com­plaint were to­tally un­re­lated.

The em­bed­ded vari­ant no­body no­ticed is in bil­lions of de­vices

ITRON sur­vived and be­came valu­able in­fra­struc­ture

While BTRON was dy­ing, it was ITRON that was qui­etly spread­ing around the world. As an em­bed­ded real-time op­er­at­ing sys­tem, it did­n’t need a mon­i­tor, a key­board, or a 1.5-million-character en­cod­ing space. All it needed was to be small, de­ter­min­is­tic, and roy­alty-free, which it was. Remember the Java in­staller say­ing 3 bil­lion de­vices run Java”? Yeah, we’ll get to that in a sec­ond.

ITRON, and later T-Kernel, shipped in dig­i­tal cam­eras, car en­gine con­trol units, mo­bile phones, fac­tory au­toma­tion equip­ment, and home ap­pli­ances. Casio’s QV-10, the cam­era widely cred­ited with spark­ing the dig­i­tal cam­era rev­o­lu­tion, ran on TRON, and Toyota even used it in en­gine con­trol sys­tems. On top of that, many first wave Japanese mo­bile phones ran on it too. In fact, this LinuxInsider ar­ti­cle from 2003 calls ITRON the most pop­u­lar op­er­at­ing sys­tem in the world,” and while no­body has pub­lished hard num­bers since, the Yomiuri se­ries re­ported that TRON-based op­er­at­ing sys­tems still run in roughly 60% of the world’s em­bed­ded de­vices.

TRON even got its own Java spec­i­fi­ca­tion in the late 1990s, and it com­bined ITRONs real-time ker­nel with Sun’s Java Runtime Environment. Commercial ap­pli­ca­tions such as Aplix’s JBlend came af­ter, and Aplix says that JBlend shipped on more than 800 mil­lion de­vices. Not all 800 mil­lion of those were JTRON de­vices, since JBlend later be­came a portable Java plat­form that Aplix de­ployed across mul­ti­ple op­er­at­ing sys­tems, and there’s no pub­lished break­down of how many ran on ITRON. But it does mean that when that old Java in­staller proudly told you 3 bil­lion de­vices run Java,” some un­known num­ber of those de­vices were al­most cer­tainly run­ning Java along­side TRON.

A stan­dard­iza­tion ef­fort has since ce­mented its longevity. In 2018, mi­cro-T-Ker­nel 2.0 was adopted as IEEE stan­dard 2050 – 2018, and in 2023, the IEEE rec­og­nized the TRON Real-time Operating System Family as an of­fi­cial Milestone, in­stalling a plaque at the University of Tokyo. The TRON Forum, the suc­ces­sor to the orig­i­nal Association, still main­tains the spec­i­fi­ca­tions and li­censes the tech­nol­ogy. Even more in­ter­est­ing is that, by Sakamura’s ac­count, Microsoft joined the TRON Project in 2003, through the ef­forts of its then-US vice pres­i­dent Furukawa. Microsoft re­ally does seem to have a habit of sup­port­ing would-be com­peti­tors these days.

Unsurprisingly, the am­bi­tious and po­lit­i­cally tar­geted desk­top vari­ant failed. But it was the em­bed­ded vari­ant no­body in the West paid at­ten­tion to that man­aged to suc­ceed to the point of be­com­ing an im­por­tant build­ing block of day-to-day in­fra­struc­ture. The same pro­ject pro­duced what could well be the world’s most-used op­er­at­ing sys­tem and an op­er­at­ing sys­tem that failed en­tirely, and it was the pro­ject that every­one was pay­ing at­ten­tion to that ac­tu­ally failed. You can still buy a BTRON im­ple­men­ta­tion to­day if you know where to look, since Personal Media Corporation’s web­site is still up and still sell­ing Cho-Kanji, in Japanese only. The pro­jec­t’s last­ing mark on com­put­ing is in­vis­i­ble, though, run­ning in the de­vices around you that you never think about as hav­ing an op­er­at­ing sys­tem at all.

Sakamura re­ceived the Takeda Prize jointly with Linus Torvalds and Richard Stallman, for spread­ing open ar­chi­tec­ture world­wide. After all, the same open ap­proach that made TRON vul­ner­a­ble in a trade dis­pute, the as­sump­tion that be­ing open was pro­tec­tion enough, is what let ITRON spread with­out fric­tion af­ter­wards. Sakamura’s apol­ogy, though, ar­rived af­ter the dam­age had been done over din­ner in 1989. The in­dus­try had al­ready aban­doned the pro­ject by that stage.

BTRONs hy­per­me­dia ideas are be­ing re­dis­cov­ered by a new gen­er­a­tion of tools that don’t know they’re recre­at­ing a 40-year-old de­sign. The char­ac­ter en­cod­ing is archived and the CPU is a mu­seum piece. But the real-time ker­nel that no­body seemed to think of as an im­por­tant piece of the puz­zle still runs in places you’d never guess, and it’s hard to think of a bet­ter legacy than that.

Vision | DeepSeek API Docs

api-docs.deepseek.com

The deepseek-v4-flash-vi­sion-exp model ac­cepts im­ages along­side text, so you can ask the model to de­scribe pic­tures, read text from screen­shots, an­a­lyze charts, and more.

Supported im­age for­mats: JPEG, PNG, GIF, and WebP. The for­mat is de­tected from the ac­tual file con­tent, not from the file name or the de­clared MIME type.

Sending Images​

There are three ways to pro­vide an im­age to the model. All of them use the stan­dard OpenAI-compatible Chat Completions for­mat, where con­tent is an ar­ray of blocks in­stead of a plain string. The same three meth­ods are also avail­able in the Responses API, where im­ages are car­ried in in­put_im­age con­tent parts.

The base_url for the ex­am­ples be­low is https://​api.deepseek.com.

1. Base64-encoded im­age (inline)​

Encode the im­age and em­bed it di­rectly in the re­quest as a data: URL. This is the sim­plest op­tion for lo­cal files. The en­coded data counts to­ward the 48 MiB re­quest body limit (see Limits).

im­port base64from ope­nai im­port OpenAIclient = OpenAI(api_key=“<DeepSeek API Key>”, base_url=“https://​api.deepseek.com)with open(“im­age.jpg”, rb”) as f: b64 = base64.b64en­code(f.read()).de­code(“utf-8″)re­sponse = client.chat.com­ple­tions.cre­ate( model=“deepseek-v4-flash-vi­sion-exp”, mes­sages=[ { role”: user”, content”: [ {“type”: text”, text”: What is in this im­age?“}, { type”: image_url”, image_url”: {“url”: f”data:im­age/​jpeg;base64,{b64}“}, }, ], } ],)print(response.choices[0].message.content)

curl https://​api.deepseek.com/​chat/​com­ple­tions \ -H Content-Type: ap­pli­ca­tion/​json” \ -H Authorization: Bearer <DeepSeek API Key>” \ -d { model”: deepseek-v4-flash-vision-exp”, messages”: [ { role”: user”, content”: [ {“type”: text”, text”: What is in this im­age?“}, {“type”: image_url”, image_url”: {“url”: data:image/jpeg;base64,<BASE64_DATA>“}} ] } ] }’

2. External im­age URL​

Pass a pub­licly ac­ces­si­ble http(s) link and the model down­loads the im­age for you. The URL must be at most 8192 char­ac­ters, the im­age file may be at most 32 MiB, and the down­load must com­plete within 60 sec­onds. If your link is longer, use a base64 data URL or the Files API in­stead.

re­sponse = client.chat.com­ple­tions.cre­ate( model=“deepseek-v4-flash-vi­sion-exp”, mes­sages=[ { role”: user”, content”: [ {“type”: text”, text”: Describe this im­age.“}, { type”: image_url”, image_url”: {“url”: https://​ex­am­ple.com/​im­age.jpg}, }, ], } ],)print(response.choices[0].message.content)

3. Reference a file up­loaded via the Files API​

Upload an im­age once with the Files API, then ref­er­ence its file_id in your re­quests. This is the best op­tion when you reuse the same im­age across mul­ti­ple re­quests, or when the im­age pushes the re­quest body over the 48 MiB in­line limit. Unlike in­line im­ages, im­ages ref­er­enced via Files API file_id may be up to 64 MiB and are not sub­ject to the 32 MiB per-im­age check.

Use a file con­tent block with the re­turned file_id (which has the form file-api-…):

re­sponse = client.chat.com­ple­tions.cre­ate( model=“deepseek-v4-flash-vi­sion-exp”, mes­sages=[ { role”: user”, content”: [ {“type”: text”, text”: What is in this im­age?“}, {“type”: file”, file_id”: file-api-xxxxxxxxxxxxxxxx”}, ], } ],)print(response.choices[0].message.content)

Alternatively, a file block can carry the im­age in­line as base64 via file_­data in­stead of file_id (the two are mu­tu­ally ex­clu­sive):

{ type”: file”, file_data”: data:image/jpeg;base64,<BASE64_DATA>”, filename”: image.jpg”}

Detail Level​

For im­age_url in­puts you can op­tion­ally set a de­tail field to con­trol how the im­age is processed:

{ type”: image_url”, image_url”: {“url”: https://​ex­am­ple.com/​im­age.jpg, detail”: low”}}

When to Use the Files API​

Inline im­ages (base64 or file_­data) count to­ward the re­quest body size limit of 48 MiB. Consider the Files API when:

A sin­gle re­quest would ex­ceed the body size limit.

The im­age is larger than 32 MiB, which is only pos­si­ble through the Files API.

You ref­er­ence the same im­age in mul­ti­ple re­quests and want to avoid re-up­load­ing it each time.

Token Usage​

Images are con­verted into to­kens based on their di­men­sions, and these to­kens are billed to­gether with your text to­kens.

Before in­fer­ence, every im­age is au­to­mat­i­cally re­sized:

Images with a to­tal pixel count be­low roughly 384×384 are scaled up while pre­serv­ing their as­pect ra­tio.

Larger im­ages are scaled down while pre­serv­ing their as­pect ra­tio, so that the to­tal pixel count af­ter re­siz­ing is roughly that of an 800×800 im­age.

As a re­sult, there is an up­per bound of 384 to­kens per im­age: for ex­am­ple, a 2000×2000 im­age and a 5000×5000 im­age con­sume the same num­ber of to­kens af­ter re­siz­ing. When a re­quest con­tains mul­ti­ple im­ages, each im­age is counted in­de­pen­dently un­der the same rule — there is no sep­a­rate cal­cu­la­tion for multi-im­age re­quests.

To es­ti­mate the to­ken cost of an im­age of a spe­cific size, use the im­age to­ken cal­cu­la­tor on the Token & Token Usage page.

Limits​

For stor­age and up­load quo­tas of files up­loaded via the Files API, see Files API: Limits.

Restrictions​

Images are sup­ported in user mes­sages only: im­ages in sys­tem or as­sis­tant mes­sages re­turn a 400 er­ror.

Only vi­sion mod­els (deepseek-v4-flash-vision-exp) ac­cept im­ages; other mod­els re­turn a 400 er­ror (“This model does not sup­port im­age”).

User text con­tain­ing the re­served im­age place­holder to­ken is re­jected with a 400 er­ror.

Using Images with the Anthropic API​

In ad­di­tion to the OpenAI-compatible end­point above, you can send im­ages through the Anthropic-compatible /messages end­point (base_url = https://​api.deepseek.com/​an­thropic). For gen­eral setup, see Anthropic API.

The dif­fer­ence is the shape of the im­age con­tent block. Instead of im­age_url, Anthropic uses an im­age block with a source ob­ject whose type is one of base64, url, or file:

im­port an­throp­ic­client = an­thropic.An­thropic() # ANTHROPIC_BASE_URL=https://​api.deepseek.com/​an­throp­icmes­sage = client.mes­sages.cre­ate( model=“deepseek-v4-flash-vi­sion-exp”, max_­to­kens=1024, mes­sages=[ { role”: user”, content”: [ {“type”: text”, text”: What is in this im­age?“}, { type”: image”, source”: { type”: base64”, media_type”: image/jpeg”, data”: <BASE64_DATA>”, }, }, ], } ],)print(message.content)

The three source vari­ants mir­ror the OpenAI meth­ods above:

Using Images with the Responses API​

The deepseek-v4-flash-vi­sion-exp model also ac­cepts im­ages through the OpenAI-compatible Responses API. The same three in­put meth­ods (base64 data URL, ex­ter­nal http(s) URL, Files API file_id) and the same lim­its ap­ply; only the con­tent part shape dif­fers — im­ages are car­ried in in­put_im­age parts, ei­ther in user / de­vel­oper mes­sages or in the out­put of func­tion_­cal­l_out­put / cus­tom_­tool_­cal­l_out­put items:

re­sponse = client.re­sponses.cre­ate( model=“deepseek-v4-flash-vi­sion-exp”, in­put=[ { role”: user”, content”: [ {“type”: input_text”, text”: What is in this im­age?“}, {“type”: input_image”, image_url”: https://​ex­am­ple.com/​im­age.jpg, detail”: low”}, ], } ],)print(response.output_text)

The in­put_im­age part sup­ports a de­tail field with the same se­man­tics as above (low / high / orig­i­nal / auto). de­tail is ig­nored when the im­age is pro­vided via file_id, and im­age_url and file_id are mu­tu­ally ex­clu­sive.

For field se­man­tics, re­stric­tions (images in sys­tem / as­sis­tant mes­sages are re­jected with a 400 er­ror), and tool-out­put im­ages, see the Responses API guide.

Consumer Rights Wiki — Anti-Consumer Practices Database

consumerrights.wiki

📁 Browse by Category

Browse

Learn

Contribute

📣 Announcements

Update 24.07.2026 Another up­date!

Editor changes:

The ar­ti­cle feed­back in­ter­face now also posts the feed­back as a new sec­tion on the ar­ti­cle’s talk page.

We’ve added a tog­gleable Your im­pact” panel on your own user page dis­play­ing to­tal ed­its, last edited, longest edit streak, a 60-day ac­tiv­ity chart, and how many views the ar­ti­cles you’ve edited have re­ceived. At the mo­ment this is off by de­fault, and avail­able to en­able at the bot­tom of the first page in Special:Preferences.

Tightened rate lim­its on the ar­ti­cle feed­back but­ton.

User reg­is­tra­tions no longer post to the wik­i’s Discord feed.

Mod changes:

A link to the mass roll­back” page now ap­pears in the tools drop­down when view­ing a user’s con­tri­bu­tions.

The Give award” link now ap­pears in the tools drop­down when view­ing a User or User talk page.

Fixed award grant/​re­voke log en­tries some­times in­cor­rectly show­ing the staff mem­ber who per­formed the ac­tion as the re­cip­i­ent.

Misc. changes:

Various back­end in­fra up­dates

General code­base tidy-up, as well as up­dates to make con­tribut­ing eas­ier

Speaking of mod­er­a­tors and mod­er­a­tor tools, if you’re a reg­u­lar wiki con­trib­u­tor please re­mem­ber to check out our mod­er­a­tor ap­pli­ca­tions page!

Thanks for read­ing, and happy edit­ing!

2026 – 07-17 Hello every­one!

Pleased to an­nounce that we’re ship­ping a big new up­date for the wiki to­day that should ad­dress a few long­stand­ing is­sues, as well as im­prove the in­tegrity of the wiki.

Editor/User fea­tures

Each main­space ar­ti­cle now has its own Give feed­back’ but­ton on the right-hand side of the tool­bar, which lets you pro­vide feed­back on an ar­ti­cle. It will post the feed­back into the #wiki chan­nel on Discord, and open a wid­get that lets peo­ple see their feed­back in the edit feed (in the next up­date, it will also add the feed­back to the dis­cus­sion page).

A num­ber of back­end anti-spam fea­tures have been im­ple­mented, with more to come!

Logging out now gives you an Are you sure?’ prompt (no more ac­ci­den­tal one-click sig­nouts!).

Added sup­port for up­load­ing OpenDocument Text (.odt) and OpenDocument Spreadsheet (.ods) files.

The base MediaWiki ver­sion has been up­graded to 1.46, and sev­eral ex­ten­sions have been up­dated. This should gen­er­ally im­prove the per­for­mance and se­cu­rity of the wiki.

Non-confirmed users are no longer able to edit Templates.

InstantCommons is now en­abled, so me­dia hosted on Wikimedia Commons can be used di­rectly in ar­ti­cles with­out re-up­load­ing it lo­cally.

Moderator fea­tures

Admins now have ac­cess to a panel that can en­able/​dis­able lockdown mode’, where ac­count cre­ation will be tem­porar­ily dis­abled, and non-con­firmed users will no longer be able to make ed­its. This can be found at Special:SiteLockdown.

Staff with the new rollback-manager’ per­mis­sion also now have the abil­ity to per­form mass roll­backs, where a large num­ber of ed­its made by a sin­gle user can be si­mul­ta­ne­ously re­verted. This can be found at Special:MassRollback.

Awards can be man­u­ally cre­ated and handed out by staff us­ing the in­ter­face at Special:GiveAward. These will ap­pear at the bot­tom of user pages.

As an aside, we’ve also now started to in­dex on Google! A few hun­dred of our pages can be searched for, though it may take some time for their place­ment to climb up the ranks.

Big thank you to Jake for his hard work on the up­date, and for every­one here for keep­ing the wiki rolling!

2026 – 06-15

Just wanted to share a few an­nounce­ments and up­dates.

First and fore­most, we’ve en­abled tem­po­rary ac­counts for anon ed­its on the wiki, so that IP ad­dresses will no longer ap­pear in place of a non-logged-in user’s user­name when they edit anony­mously. This makes edit­ing with­out an ac­count a bit more pri­vate, and re­duces the chance of pub­licly ex­pos­ing any­thing if you ac­ci­den­tally make an edit whilst logged out (IP info is still re­tained on the back­end though, so that ad­mins can use it to spot trou­ble­mak­ers).

We’ve also im­proved the links be­tween the CRWs Discord and Zulip - the #off-topic, #privacy, and #tech-news chan­nels are now bridged! (Zulip folks can find all bridged chan­nels as top­ics un­der #Discord-bridge).

2026 – 03-27

We’d like to an­nounce the launch of two new pro­jects on the wiki:

Project Laws aims to in­crease the num­ber of ar­ti­cles about con­sumer-rights-rel­e­vant laws from around the world, so that the wiki can be a use­ful re­source for peo­ple try­ing to find out what the laws are where they live, or for peo­ple look­ing to com­pare and con­trast the laws of dif­fer­ent coun­tries;

Project Maintain brings to­gether a num­ber of the tasks that need to be done on a reg­u­lar ba­sis to keep the wiki tick­ing over, and points you in the right di­rec­tion!

Also, re­mem­ber to sign up for this mon­th’s Zoom hang­out and get your­self on the mail­ing list for the meet­ing link by email­ing [email protected] with the sub­ject line monthly hang­out’! The hang­out will be at the same time as last month - on the first Sunday of the month at 20:00 UTC. If you signed up last month, you’ll still get the email.

🧰 Consumer Tools

Ad & track­ing block­ers

Pi-hole — Self-hosted net­work-based ad blocker. uBlock Origin — Efficient browser-based ad and tracker blocker. Adnauseum - Browser-based ad and tracker blocker built off of uBlock Origin that also clicks ads to ob­scure your dig­i­tal fin­ger­print.

Pi-hole — Self-hosted net­work-based ad blocker.

uBlock Origin — Efficient browser-based ad and tracker blocker.

Adnauseum - Browser-based ad and tracker blocker built off of uBlock Origin that also clicks ads to ob­scure your dig­i­tal fin­ger­print.

Anti-scam re­sources

Have I Been Pwned — Check if your email/​pass­word was ex­posed in a breach. CFPB — File com­plaints and view alerts about fi­nan­cial ser­vices. VirusTotal / Hybrid Analysis — Scan files for po­ten­tial mal­ware. Triage — Online sand­box for an­a­lyz­ing ex­e­cuta­bles.

Have I Been Pwned — Check if your email/​pass­word was ex­posed in a breach.

CFPB — File com­plaints and view alerts about fi­nan­cial ser­vices.

VirusTotal / Hybrid Analysis — Scan files for po­ten­tial mal­ware.

Triage — Online sand­box for an­a­lyz­ing ex­e­cuta­bles.

Archival tools

Wayback Machine — World’s largest in­ter­net archival ser­vice Ghost Archive — Secondary archival ser­vice. Megalodon — Secondary, Japanese archival ser­vice. Can archive YouTube com­ments. PreserveTube — Specifically for archiv­ing YouTube videos. SingleFile — Browser ex­ten­sion to save web­site EULA/privacy pol­icy as html lo­cally ArchiveBox — Self-hosted web­site archival tool

Wayback Machine — World’s largest in­ter­net archival ser­vice

Ghost Archive — Secondary archival ser­vice.

Megalodon — Secondary, Japanese archival ser­vice. Can archive YouTube com­ments.

PreserveTube — Specifically for archiv­ing YouTube videos.

SingleFile — Browser ex­ten­sion to save web­site EULA/privacy pol­icy as html lo­cally

ArchiveBox — Self-hosted web­site archival tool

Corporate ac­count­abil­ity & re­calls

Better Business Bureau (BBB) — Lookup busi­ness com­plaints and file your own. SaferProducts.gov — U.S. prod­uct re­call and com­plaint site. FDA Recalls — Drug and food re­call data­base. Safety Gate — EU prod­uct re­call and re­port site.

Better Business Bureau (BBB) — Lookup busi­ness com­plaints and file your own.

SaferProducts.gov — U.S. prod­uct re­call and com­plaint site.

FDA Recalls — Drug and food re­call data­base.

Safety Gate — EU prod­uct re­call and re­port site.

Legal & com­plaint fil­ing

Consumer Reports — Independent prod­uct re­views and rat­ings. Ripoff Report — Public con­sumer com­plaint data­base. ClassAction.org — View or join con­sumer class-ac­tion law­suits.

Consumer Reports — Independent prod­uct re­views and rat­ings.

Ripoff Report — Public con­sumer com­plaint data­base.

ClassAction.org — View or join con­sumer class-ac­tion law­suits.

Repair & Open de­signs

iFixit — Open repos­i­tory of de­vice re­pair in­struc­tions. Open Source Ecology — Open source ma­chin­ery de­signs.

iFixit — Open repos­i­tory of de­vice re­pair in­struc­tions.

Open Source Ecology — Open source ma­chin­ery de­signs.

Price & prod­uct trans­parency

CamelCamelCamel — Amazon price tracker to de­tect de­cep­tive price drops. Keepa — Detailed price his­tory and deals on Amazon prod­ucts.

CamelCamelCamel — Amazon price tracker to de­tect de­cep­tive price drops.

Keepa — Detailed price his­tory and deals on Amazon prod­ucts.

Privacy & sur­veil­lance tools

SimpleOptOut — Direct links to opt out of data bro­kers. [$] EasyOptOuts — Automated data bro­ker opt-out ser­vice. Exodus Privacy - Analyzes pri­vacy con­cerns in Android ap­pli­ca­tions. Discover un­wanted per­mis­sions and track­ing li­braries in com­mon apps.

SimpleOptOut — Direct links to opt out of data bro­kers.

[$] EasyOptOuts — Automated data bro­ker opt-out ser­vice.

Exodus Privacy - Analyzes pri­vacy con­cerns in Android ap­pli­ca­tions. Discover un­wanted per­mis­sions and track­ing li­braries in com­mon apps.

Subscription & dark pat­tern track­ing

Trim — Finds and can­cels un­wanted sub­scrip­tions. [$] Goodbudget — Budgeting app with debt tracker. Terms of Service; Didn’t Read / PrivacySpy — Summarizes pri­vacy poli­cies and rates com­pa­nies by trust­wor­thi­ness. Deceptive Design — Defines, iden­ti­fies, and cat­a­logs dark pat­terns and de­cep­tive de­sign prac­tices in var­i­ous soft­ware and ser­vices. Dark Pattern Games — A game re­view web­site de­voted to help­ing you find games that don’t use psy­cho­log­i­cal tricks to ma­nip­u­late you into be­com­ing an ad­dicted gamer.

Trim — Finds and can­cels un­wanted sub­scrip­tions.

[$] Goodbudget — Budgeting app with debt tracker.

Terms of Service; Didn’t Read / PrivacySpy — Summarizes pri­vacy poli­cies and rates com­pa­nies by trust­wor­thi­ness.

Deceptive Design — Defines, iden­ti­fies, and cat­a­logs dark pat­terns and de­cep­tive de­sign prac­tices in var­i­ous soft­ware and ser­vices.

Dark Pattern Games — A game re­view web­site de­voted to help­ing you find games that don’t use psy­cho­log­i­cal tricks to ma­nip­u­late you into be­com­ing an ad­dicted gamer.

[$] — paid ser­vice, sub­scrip­tion needed

Grand jury declines to indict Ohio man charged with destroying Flock camera

san.com

A grand jury in Ohio has de­clined to in­dict a man charged with felony van­dal­ism for al­legedly de­stroy­ing a Flock au­to­matic li­cense plate reader cam­era.

Police in Union Township, a Cincinnati sub­urb, ac­cused Cody Morelock of dis­as­sem­bling the cam­era, its sup­port pole and so­lar panel on June 13.

Investigators, ac­cord­ing to WKRC-TV in Cincinnati, iden­ti­fied Morelock af­ter ob­tain­ing sur­veil­lance footage from other cam­eras near the scene as well as in­for­ma­tion linked to a credit card and a cus­tomer re­wards ac­count.

Download the Straight Arrow app to­day to get the sto­ries that mat­ter free from ma­nip­u­la­tion, bias or agenda.™

Point phone cam­era here

Police es­ti­mated the dam­age at more than $1,000. Morelock posted a $10,000 bond and was re­leased from cus­tody shortly af­ter his ar­rest.

A Clermont County grand jury, how­ever, opted not to in­dict Morelock, and the charges were dis­missed.

Flock re­sis­tance grow­ing

While de­tails on the grand ju­ry’s de­ci­sion are lim­ited, it comes amid a grow­ing back­lash against Flock and its cam­eras.

The com­pa­ny’s cam­eras record the li­cense plate num­bers and char­ac­ter­is­tics of ve­hi­cles that pass by. The data is then hosted in a cen­tral data­base that can be ac­cessed not only by lo­cal po­lice but of­ten by law en­force­ment agen­cies in other cities and states.

The in­ci­dent in Union Township is part of an on­go­ing trend that has seen dozens of Flock cam­eras van­dal­ized across the coun­try. Earlier this month, po­lice in Winona, Minnesota, re­ported that some­one had cut down and stolen each of the city’s eight li­cense plate reader cam­eras.

Social me­dia users are pro­mot­ing a loosely or­ga­nized event known as De-Flock America Night,” en­cour­ag­ing peo­ple to van­dal­ize or ob­scure Flock cam­eras on Halloween.

The back­lash against Flock has in­ten­si­fied as a grow­ing num­ber of po­lice of­fi­cers have been ac­cused of or charged with abus­ing the tech­nol­ogy, of­ten to stalk ro­man­tic in­ter­ests. As of Aug. 12, there had been more than 100 cases of abuse by law en­force­ment, ac­cord­ing to the Institute for Justice.

In re­sponse, Flock an­nounced new safe­guards de­signed to pre­vent mis­use by po­lice. Critics, such as the Electronic Frontier Foundation, ar­gue that the re­forms are largely cosmetic,” and that war­rants should be re­quired for search­ing li­cense plate reader data.

Round out your read­ing

Your phone is­n’t re­ally eaves­drop­ping. But it still knows all about you.

After years of deny­ing other elec­tions, MyPillow founder won’t ac­cept his own de­feat.

Gun sup­pres­sors sold un­reg­is­tered for the first time since FDR, but not for every­one.

Why an over-scrolled gen­er­a­tion is turn­ing to grandma hob­bies’ for men­tal health.

Our per­sonal in­for­ma­tion is for sale on the in­ter­net. We know — we bought it.

Mikael Thalen is a tech re­porter for Straight Arrow, where he cov­ers cy­ber­se­cu­rity, sur­veil­lance, hack­ing and dig­i­tal pri­vacy.

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.