10 interesting stories served every morning and every evening.

Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

raymyers.org

I ha­rass the sea with my tiny boat and am called a pi­rate, you do it with a great fleet and are called a king.

I ha­rass the sea with my tiny boat and am called a pi­rate, you do it with a great fleet and are called a king.

Anthropic is ac­tively cam­paign­ing to end soft­ware en­gi­neer­ing. They need you to be­lieve they can do that. Well, maybe it’s not you that they need to con­vince. Maybe it’s your C-Suite, var­i­ous world lead­ers, or the man­ager of your re­tire­ment fund. They’ve raised $132 bil­lion in in­vest­ment, and are ap­proach­ing an IPO val­ued over $1 tril­lion. Since they can­not show prof­itabil­ity, this de­pends on sell­ing their hy­po­thet­i­cal fu­ture im­pact.

In lit­er­ary terms, Anthropic is an un­re­li­able nar­ra­tor.

One of their key nar­ra­tives is: Coding is go­ing away, then the rest of soft­ware en­gi­neer­ing, and even­tu­ally most other hu­man la­bor. This kind of money be­hind this kind of story has an im­pact, re­gard­less of how true we think the story is.

People will make ar­chi­tec­ture, prod­uct, and staffing de­ci­sions based on these events. Many of those de­ci­sions will be based on fear - fear of lay­offs, rap­ture-esk warn­ings of be­ing Left Behind”, Doom Trolling, etc…

To make good de­ci­sions we need to think clearly, which is hard right now. Put on your skep­ti­cal hat.

Views are my own. I have no his­tory with Zig. I’ve never spo­ken to Andrew Kelley, but found his re­cent JetBrains in­ter­view a great watch.

My in­ter­est here is in pub­lic lit­er­acy about AI in soft­ware. That’s been my ca­reer fo­cus now for 3 years, along with im­prov­ing the tech­nol­ogy it­self. During half of that time I was Chief Architect of a cod­ing agent startup - both a cus­tomer of Anthropic’s mod­els and com­peti­tor to their agent Claude Code. My cur­rent pro­ject is The Coding Agency.

So where were we?

This week, Anthropic / Bun put out their ex­pla­na­tion of the de­ci­sion to port Bun from Zig to Rust. This ex­pla­na­tion came two months af­ter merg­ing the mi­gra­tion to the main­line. Explaining the di­rec­tion be­fore­hand would have been more tra­di­tional in an in­fra­struc­ture pro­ject like this, but mean­while the de­lay con­ve­niently al­lowed the story to be car­ried by sexy head­lines like The Register’s Anthropic’s Bun Rust rewrite merged at speed of AI. Much in­vest. Very wow.

Zig’s cre­ator Andrew Kelley has now put out a re­sponse with his own thoughts. It’s blunt, to an un­usual de­gree. That has ques­tion­able op­tics. As a gen­eral rule, you would not want to worry that when you switch pro­gram­ming lan­guages you will wake up the next morn­ing to the old lan­guage’s leader un­load­ing on your per­sonal flaws. As Dax hi­lar­i­ously put it:

guys we have a pretty sub­stan­tial open­source zig code­base and i’m ter­ri­fied he’s gonna look at it

guys we have a pretty sub­stan­tial open­source zig code­base and i’m ter­ri­fied he’s gonna look at it

Still, as I read Andrew’s piece I found my­self cheer­ing out loud. I may have briefly jumped around the room. Some called his take a meltdown”, all I can say is he’s gained a new fan to­day.

Sometimes things need to be called out.

What is model be­hav­ior?

On my best days I’d as­pire to some­thing like Buddhist right speech, a high stan­dard that every­thing we say should meet all five of these cri­te­ria.

Is it true?

Is it help­ful?

Is it timely?

Is it kind?

Is it from kind­ness?

We’re break­ing deco­rum a lit­tle, stray­ing into true, but un­kind” ter­ri­tory. I’m de­fend­ing some­one’s choice to do that. I don’t do that lightly, and I hope it’s help­ful.

Background

Just to catch you up…

Bun is a TypeScript run­time, like a faster NodeJS.

Zig is a sys­tems pro­gram­ming lan­guage, like a mod­ern C.

Bun was writ­ten in Zig un­til re­cently - one of the largest Zig code­bases.

Bun claims near 100% AI con­tri­bu­tions.

Zig al­lows 0% AI con­tri­bu­tions.

Bun was ac­quired by Anthropic, a lead­ing AI model lab.

Bun’s founder ex­per­i­mented with a mas­sive agen­tic rewrite from Zig to un­safe Rust.

That ex­per­i­ment was merged days later and is now the of­fi­cial ver­sion.

This is sit­u­a­tion is con­tro­ver­sial on a few fronts, though ap­par­ently no one in­volved ac­tu­ally wants Bun to stay in Zig. The drama lives purely in the meta-dis­cus­sion. The mi­gra­tion process it­self is pretty in­ter­est­ing, I would con­sider do­ing some­thing sim­i­lar in the right sit­u­a­tion.

Who to be­lieve

When peo­ple choose be­tween Zig and Rust for their pro­jects, they will nat­u­rally see the Bun sit­u­a­tion as a data-point. That fact that one of the biggest Zig users wound up re­vers­ing the de­ci­sion feels rel­e­vant, re­gard­less of the rea­sons. People will try to un­der­stand what hap­pened, and de­cide which is more true:

Anthropic/Bun story: Bun tried every­thing rea­son­able, and was still over­whelmed by mem­ory bugs be­cause Zig was­n’t up to the task.

Anthropic/Bun story: Bun tried every­thing rea­son­able, and was still over­whelmed by mem­ory bugs be­cause Zig was­n’t up to the task.

Andrew’s story: The Bun code is a mess be­cause of their en­gi­neer­ing de­ci­sions, in­clud­ing overus­ing AI agents to write and re­view every­thing.

Andrew’s story: The Bun code is a mess be­cause of their en­gi­neer­ing de­ci­sions, in­clud­ing overus­ing AI agents to write and re­view every­thing.

I’d lean more to­ward the lat­ter, but I sus­pect the dom­i­nant fac­tor is more bor­ing:

Ray’s story: Faced with a le­git­i­mate chal­lenge of mem­ory bugs, there were sev­eral vi­able op­tions. Management ea­gerly ap­proved the Rust rewrite op­tion be­cause it was a great mar­ket­ing op­por­tu­nity to show­case their new Fable model, Anthropic al­ready uses Rust, and Zig is openly against us­ing Anthropic’s prod­ucts.

Ray’s story: Faced with a le­git­i­mate chal­lenge of mem­ory bugs, there were sev­eral vi­able op­tions. Management ea­gerly ap­proved the Rust rewrite op­tion be­cause it was a great mar­ket­ing op­por­tu­nity to show­case their new Fable model, Anthropic al­ready uses Rust, and Zig is openly against us­ing Anthropic’s prod­ucts.

That makes fine busi­ness sense, it just is­n’t a mar­ket­ing story. The mar­ket­ing needed to fo­cus on how their AI was pow­er­ful enough to do this rewrite (even though it was not pow­er­ful enough to catch a use-af­ter-free).

For bet­ter or worse, this bag­gage is now top-of-mind in the Rust vs Zig ques­tion. The sit­u­a­tion tends to pit Jarred’s judge­ment against Andrew’s in the eye’s of the com­mu­nity. Any face-sav­ing ex­ag­ger­a­tion spo­ken through Anthropic’s mega­phone could un­in­ten­tion­ally af­fect Zig’s rep­u­ta­tion.

I can un­der­stand why rather than leave well enough alone, Andrew would de­cide to… add some con­text.

Is this a smear?

From my per­spec­tive, Anthropic is the party we need to hold ac­count­able here. That’s what this is all about. Bun founder Jarred Sumner is get­ting caught in the cross­fire in a sense. So is Zig.

It would be nice if this could be dis­cussed strictly on the tech­ni­cal points, and we’ll get to them. However, I don’t think Anthropic is mak­ing a tech­ni­cal ar­gu­ment, they are deal­ing in spec­ta­cle.

Anthropic is us­ing Jarred’s cred­i­bil­ity to help sell their nar­ra­tive. In re­spond­ing to that, we’re com­ment­ing on his cred­i­bil­ity. That’s messy. I don’t love it.

Still, if re­port­ing the things that some­one says and does comes off as a smear, then maybe that be­hav­ior was part of the prob­lem too.

The meat grinder

My first im­pres­sion of the Bun pro­ject was the 2022 an­nounce­ment, in­clud­ing this warn­ing to re­cruits.

Oven is go­ing to be a grind, es­pe­cially the first nine months or so. If work-life bal­ance means a lot of time spent not work­ing, it’s prob­a­bly not a good fit.

Oven is go­ing to be a grind, es­pe­cially the first nine months or so. If work-life bal­ance means a lot of time spent not work­ing, it’s prob­a­bly not a good fit.

When I see a state­ment like that from a prospec­tive man­ager, it says a num­ber of things, not the least of which is this per­son has no idea what they are do­ing”. A lot of rea­son­ably good coders have never seen an ex­am­ple of a good man­ager, and have all kinds of weird ideas about what man­age­ment is.

Running at crunch time” all the time is bad for health and bad for pro­duc­tiv­ity. That is a ro­bustly es­tab­lished fact about knowl­edge work. For some ref­er­ences, see the Human Factors sec­tion of Hillel’s Empirical Software Engineering.

My ad­vice? Don’t work for peo­ple that brag about 90 hour weeks. Work for peo­ple who will de­fend your abil­ity to sleep at night.

In Andrew’s piece, he sum­ma­rizes what he’s heard from the grapevine of the Bun team’s ex­pe­ri­ence:

Poor com­mu­ni­ca­tion, un­re­al­is­tic ex­pec­ta­tions, low em­pa­thy, no ex­pe­ri­ence. Just a to­tal shit show

Poor com­mu­ni­ca­tion, un­re­al­is­tic ex­pec­ta­tions, low em­pa­thy, no ex­pe­ri­ence. Just a to­tal shit show

I mean… of course it was. The hearsay is es­sen­tially re­peat­ing what was an­nounced pub­licly. Their job list­ing might as well have said, now seek­ing ap­pli­cants for to­tal shit show”. It’s bad form for us to say this out loud. We’re sup­posed to let the Tech Bros go on about how cut­ting cor­ners is some ge­nius pro­duc­tiv­ity hack. Then the peo­ple that lis­ten to them can even­tu­ally call us in to fix the re­sults. It would be a great arrange­ment if I cared less about out­comes. It’s quite lu­cra­tive.

FWIW, I’ve used Bun a few times and liked it well enough. Cool tech is of­ten pro­duced in spite of bad work en­vi­ron­ments. I’m not the one say­ing that their en­vi­ron­ment re­sulted in a buggy un­main­tain­able mess, Bun is the one say­ing that.

Say some­thing nice

The piece about the mi­gra­tion process is very cool, with de­tails that are reusable. No com­plaints, I think that’s the real con­tri­bu­tion here. I par­tic­u­larly like the hon­esty in ex­plain­ing that this was a port to un­safe Rust, al­low­ing a lit­eral file-by-file mi­gra­tion to min­i­mize risk, paving the way for re­design in fu­ture steps. That’s a sen­si­ble move ex­plained well.

There’s some truth to the idea that lan­guage choice is be­com­ing more re­versible. This method will take it’s place among other types of rewrite au­toma­tion with pros and cons. These tech­niques can be com­bined and fur­ther hard­ened with Formal Methods. Darpa’s TRACTOR (Translating All C to Rust) re­search pro­gram pub­lished a re­port this year which should cover the state of the art.

My fa­vorite book on soft­ware mod­ern­iza­tion pro­jects is Kill It With Fire by Marianne Bellotti. As agents al­low us more moves we can make with old code, we still need good judge­ment and com­mu­ni­ca­tion in de­cid­ing where to go. Let’s talk about that next.

The rewrite ra­tio­nale is fluff

These are the ba­sic in­gre­di­ents of ex­plain­ing a tech­ni­cal de­ci­sion:

What is the mo­ti­va­tion?

What op­tions did you con­sider?

What are the pros and cons?

Here’s a great ex­am­ple by Richard Feldman on his de­ci­sion to move the Roc com­piler from Rust to Zig. I was ini­tially shocked by that move (I’m some­what fa­nat­i­cal about lan­guage safety), but ul­ti­mately his points made sense and this started my cu­rios­ity about Zig.

When the Bun rewrite was merged, I’d hoped to see a sim­i­lar treat­ment. This is what we got in­stead, two months late.

✅ What is the mo­ti­va­tion?

⚠️ What op­tions did you con­sider?

🚫 What are the pros and cons?

For the as­pir­ing tech leads out there: When you skimp on these in­gre­di­ents, es­pe­cially the pros and cons”, you risk giv­ing the im­pres­sion that you ap­proached the prob­lem with one an­swer al­ready in mind and are giv­ing it a post-hoc jus­ti­fi­ca­tion. Maybe you have rea­sons that you aren’t say­ing.

It feels dis­hon­est.

All pros no cons

Rather than a real trade­off com­par­i­son, we get a Bun is bet­ter in Rust” sec­tion cov­er­ing only up­sides. A change like this al­ways has trade-offs, an ob­vi­ous one would be build time.

Typically when you use Rust for a large code­base, you are buy­ing safety and pay­ing in slower com­pi­la­tion. There’s no shame in that, it can be a win­ning bar­gain. In that past, this fac­tor was im­por­tant enough to Bun that they forked the Zig com­piler to try and im­prove it. If we’re right that the Rust port in­creased build time for con­trib­u­tors, why not dis­close that? It comes off as more cred­i­ble to own the im­pact and the pri­or­i­ties that make it right move over­all.

They also seem to be padding the list by mix­ing in other im­prove­ments they’ve made af­ter the rewrite that aren’t re­ally re­lated to it.

They did­n’t try a style guide?

Recall that the mo­ti­va­tion was mem­ory bugs. Definitely not Bun’s only source of bugs but a fre­quent one, caus­ing four fix com­mits per week by my count. Painful.

Theoretically, every mem­ory bug rep­re­sents a vi­o­la­tion of some con­ven­tion - an ex­pec­ta­tion of how this kind of ob­ject should be dealt with. Therefore it be­hooves us to es­tab­lish a clear idea of what’s ex­pected in what cir­cum­stance. We should try to use any lan­guage ef­fec­tively for that mat­ter, Rust style guides are a thing too, but man­ual mem­ory man­age­ment adds scope to the ex­pec­ta­tions we need.

How have other peo­ple solved this prob­lem? Another flag­ship Zig code­base is TigerBeetle, a fi­nan­cial trans­ac­tion data­base. It is not plagued by mem­ory bugs, in fact it ap­pears to be one of the most re­li­able data­bases in ex­is­tence. They will gladly tell you that this is due to their TigerStyle ap­proach and some in­no­v­a­tive test­ing strate­gies. Worth a look! The word style” might un­der­sell it, it’s a whole en­gi­neer­ing phi­los­o­phy with Zig cod­ing guide­lines as one el­e­ment.

Here’s a taste of TigerStyle. Not every ap­pli­ca­tion can copy-and-paste this ex­act strat­egy, but it il­lus­trates the re­la­tion­ship be­tween mem­ory al­lo­ca­tion and other de­sign de­ci­sions.

All mem­ory must be sta­t­i­cally al­lo­cated at startup. No mem­ory may be dy­nam­i­cally al­lo­cated (or freed and re­al­lo­cated) af­ter ini­tial­iza­tion. This avoids un­pre­dictable be­hav­ior that can sig­nif­i­cantly af­fect per­for­mance, and avoids use-af­ter-free. As a sec­ond-or­der ef­fect, it is our ex­pe­ri­ence that this also makes for more ef­fi­cient, sim­pler de­signs that are more per­for­mant and eas­ier to main­tain and rea­son about, com­pared to de­signs that do not con­sider all pos­si­ble mem­ory us­age pat­terns up­front as part of the de­sign.

All mem­ory must be sta­t­i­cally al­lo­cated at startup. No mem­ory may be dy­nam­i­cally al­lo­cated (or freed and re­al­lo­cated) af­ter ini­tial­iza­tion. This avoids un­pre­dictable be­hav­ior that can sig­nif­i­cantly af­fect per­for­mance, and avoids use-af­ter-free. As a sec­ond-or­der ef­fect, it is our ex­pe­ri­ence that this also makes for more ef­fi­cient, sim­pler de­signs that are more per­for­mant and eas­ier to main­tain and rea­son about, com­pared to de­signs that do not con­sider all pos­si­ble mem­ory us­age pat­terns up­front as part of the de­sign.

Clearly, if we’re weigh­ing a rewrite in Rust, we’d first con­sider if we should use the cur­rent lan­guage dif­fer­ently. Hear’s how Bun’s write-up pre­sents that op­tion.

Many pro­jects opt to an­swer these kinds of ques­tions through a style guide. TigerBeetle’s TigerStyle is an ex­am­ple in Zig and Google’s 31,000 word C++ style guide is an­other. The chal­lenge with style guides is en­force­ment. How do you make sure the style guide is fol­lowed? Historically, code re­view was the an­swer with best-ef­fort en­force­ment via lin­ters & sta­tic an­a­lyz­ers.

Many pro­jects opt to an­swer these kinds of ques­tions through a style guide. TigerBeetle’s TigerStyle is an ex­am­ple in Zig and Google’s 31,000 word C++ style guide is an­other. The chal­lenge with style guides is en­force­ment. How do you make sure the style guide is fol­lowed? Historically, code re­view was the an­swer with best-ef­fort en­force­ment via lin­ters & sta­tic an­a­lyz­ers.

I ex­pected the next sen­tence to dis­cuss Bun’s style guide, why it was­n’t work­ing, per­haps how it evolved over time… nope. They seem to just pay lip-ser­vice the pri­mary way the com­mu­nity ad­dresses their prob­lem, shrug their shoul­ders and move on. Did I miss some­thing? Over four years on a pro­ject of this size, it’s sur­pris­ing they did­n’t se­ri­ously at­tempt this if they ex­pe­ri­enced these prob­lems. It’s al­most like the pro­ject was run by some­one who tries to hold all the con­text in their head and never have meet­ings.

What’s more be­wil­der­ing is that they dis­miss style guides with hes­i­ta­tions that are re­futed within their own ar­ti­cle. Consider that clas­sic ob­jec­tion that guides are hard to en­force. Fair, though maybe an odd bar­rier for a team ad­vanced enough to fork the com­piler they use. Here’s the thing, they al­ready claim to have solved the en­force­ment prob­lem be­cause they use agen­tic re­view. PORTING.md is it­self a style guide, scoped to the mi­gra­tion process. They have just con­ducted an agen­tic re­view of their en­tire rewrit­ten code­base against strin­gent guide­lines and de­clared it a suc­cess.

This does­n’t make sense. Let’s as­sume agen­tic re­view works, I think it can un­der the right cir­cum­stances. That would re­quire de­sign and well-thought guide­lines. I think they were sim­ply more ex­cited about putting that men­tal en­ergy into a rewrite than a re-ar­chi­tec­ture, for any num­ber of un­stated rea­sons. It may have been the right choice.

We’re still wor­ried about syn­tax?

There’s one more bit I want to nit­pick, a com­mon cog­ni­tive dis­so­nance in dis­cus­sions about agent-first cod­ing. Bun’s piece briefly dives into to the weeds of what a style guide op­tion” might look like.

Having a rigid style guide with clear own­er­ship ex­pec­ta­tions ex­plic­itly spelled out in the type sys­tem was a real op­tion for Bun. Since Zig has no op­er­a­tor over­load­ing, we would likely end up with a lot of code look­ing some­thing like this:

/post/zig-creator-calls-spade-a-spade

raymyers.org

The Graph That Should Be Front-Page News

www.lyrebirddreaming.com

Every so of­ten the Earth pro­duces a sig­nal that is im­pos­si­ble to ig­nore. This graph is one of them. It shows sea-sur­face tem­per­a­tures in the Niño 3.4 re­gion of the equa­to­r­ial Pacific, one of the most im­por­tant parts of the Earth’s cli­mate sys­tem. Each blue line rep­re­sents a dif­fer­ent year since 1982. The red line is this year. It does­n’t just set a new record. It has de­parted en­tirely from the range of pre­vi­ous ob­ser­va­tions.

If this graph rep­re­sented stock mar­ket prices, a new Olympic record or a med­ical test re­sult, it would dom­i­nate the head­lines. Instead, it is be­ing met largely with si­lence. That si­lence should con­cern us just as much as the graph it­self.

The first thing to un­der­stand is that this is not a com­puter model. It’s not a fore­cast. It’s not a sim­u­la­tion of what might hap­pen decades from now. These are di­rect ob­ser­va­tions from satel­lites, ships and ocean buoys mea­sur­ing the tem­per­a­ture of the trop­i­cal Pacific Ocean. This is re­al­ity un­fold­ing now be­fore our eyes.

The Niño 3.4 re­gion is of­ten de­scribed as the beat­ing heart of the Earth’s cli­mate sys­tem. Changes here in­flu­ence at­mos­pheric cir­cu­la­tion across much of the globe through a phe­nom­e­non known as the El Niño–Southern Oscillation. During El Niño events, warm wa­ter spreads across the cen­tral and east­ern Pacific, al­ter­ing wind pat­terns and re­dis­trib­ut­ing rain­fall around the planet. Australia ex­pe­ri­ences hot­ter, drier con­di­tions with an in­creased risk of drought and bush­fire. South America of­ten re­ceives heav­ier rain­fall and flood­ing, while parts of Asia ex­pe­ri­ence se­vere drought. The con­se­quences are felt in agri­cul­ture, wa­ter sup­plies, ecosys­tems and economies on every con­ti­nent.

El Niño it­self is noth­ing new. It’s been part of Earth’s nat­ural cli­mate vari­abil­ity for thou­sands of years. What’s new is the back­ground cli­mate in which it now op­er­ates. Human ac­tiv­i­ties have in­creased at­mos­pheric car­bon diox­ide con­cen­tra­tions by more than fifty per cent since the Industrial Revolution. Around ninety per cent of the ex­cess heat trapped by these green­house gases has been ab­sorbed by the oceans. The trop­i­cal Pacific is thus no longer os­cil­lat­ing around a cli­mate that ex­isted a cen­tury ago. It’s os­cil­lat­ing around a much warmer base­line. Every El Niño now be­gins with sub­stan­tially more heat al­ready stored in the ocean than was once the case.

That dis­tinc­tion mat­ters be­cause the cli­mate sys­tem is dri­ven by en­ergy. Warmer oceans evap­o­rate more wa­ter. A warmer at­mos­phere can hold more mois­ture. This gives storms more fuel, pro­duc­ing heav­ier rain­fall and more de­struc­tive flood­ing. At the same time, re­gions that miss out on rain­fall ex­pe­ri­ence greater evap­o­ra­tion, in­ten­si­fy­ing droughts and heat­waves. Climate change does­n’t elim­i­nate nat­ural vari­abil­ity; it am­pli­fies it.

Australia’s al­ready ex­pe­ri­enced this am­pli­fi­ca­tion. The Black Summer bush­fires, re­peated coral bleach­ing events on the Great Barrier Reef, ma­rine heat­waves off Western Australia and record-break­ing tem­per­a­tures across the con­ti­nent have all oc­curred in a cli­mate that is sig­nif­i­cantly warmer than that of pre­vi­ous gen­er­a­tions. As the oceans con­tinue to warm, the like­li­hood and sever­ity of these ex­tremes con­tinue to in­crease.

And the con­se­quences ex­tend well be­yond weather. The oceans un­der­pin vir­tu­ally every ma­jor com­po­nent of the Earth’s cli­mate sys­tem. They reg­u­late at­mos­pheric cir­cu­la­tion, trans­port heat around the globe and drive rain­fall pat­terns that sus­tain forests, grass­lands and agri­cul­ture. They also sup­port ma­rine ecosys­tems upon which bil­lions of peo­ple de­pend for food and liveli­hoods.

When ocean tem­per­a­tures move out­side the his­tor­i­cal range, ecosys­tems un­ravel. Coral reefs bleach be­cause mi­cro­scopic al­gae that pro­vide most of their en­ergy can no longer sur­vive pro­longed heat stress. Fish species mi­grate to­wards cooler wa­ters, dis­rupt­ing fish­eries that have ex­isted for cen­turies. Kelp forests col­lapse. Oxygen lev­els de­cline. Marine heat­waves, once con­sid­ered rare, are be­com­ing in­creas­ingly com­mon and in­creas­ingly se­vere. These eco­log­i­cal im­pacts don’t oc­cur in iso­la­tion. They feed back into the cli­mate sys­tem it­self.

Scientists de­scribe the Earth as a net­work of in­ter­con­nected tip­ping el­e­ments. Rather than op­er­at­ing in­de­pen­dently, ma­jor com­po­nents of the cli­mate sys­tem in­flu­ence one an­other. Changes in one part of the sys­tem trig­ger changes else­where, some­times in un­ex­pected ways. The Atlantic Meridional Overturning Circulation, Greenland’s ice sheet, West Antarctica’s glac­i­ers, Arctic sea ice and the Amazon rain­for­est are all ex­pe­ri­enc­ing rapid desta­bil­i­sa­tion.

Each of these sys­tems is un­der stress. Each in­flu­ences oth­ers. The more they change, the greater the risk that the cli­mate sys­tem be­gins to pro­duce cas­cad­ing ef­fects that be­come in­creas­ingly dif­fi­cult - or im­pos­si­ble - to re­verse on hu­man timescales.

Ultimately, though, cli­mate change is not re­ally about ocean tem­per­a­tures, at­mos­pheric cir­cu­la­tion or sta­tis­ti­cal anom­alies. It’s also about peo­ple. Hotter oceans con­tribute to higher food prices, more de­struc­tive storms, de­clin­ing fish­eries, in­creased in­sur­ance costs, re­duced wa­ter se­cu­rity, dam­aged in­fra­struc­ture, wors­en­ing pub­lic health and dis­place­ment of com­mu­ni­ties. They ex­ac­er­bate in­equal­ity be­cause it’s in­vari­ably the poor­est and most vul­ner­a­ble who have the fewest re­sources to adapt. They also in­crease geopo­lit­i­cal in­sta­bil­ity as na­tions com­pete over dwin­dling re­sources and re­spond to grow­ing hu­man­i­tar­ian crises.

This is why graphs like this mat­ter. Not be­cause they prove that cat­a­stro­phe is in­evitable, and not be­cause they pre­dict the pre­cise se­quence of events over com­ing years. Science rarely deals in ab­solutes. What they show is that Earth is mov­ing be­yond the range within which mod­ern hu­man civil­i­sa­tion de­vel­oped. We’re en­ter­ing cli­matic con­di­tions that our in­fra­struc­ture, ecosys­tems, economies and in­sti­tu­tions were never de­signed to ac­com­mo­date.

The ques­tion is whether we’re will­ing to pay at­ten­tion and act be­fore the changes be­come too large, too rapid and too in­ter­con­nected for us to man­age.

Sam Neill, star of Jurassic Park films, Peaky Blinders and The Piano, dies aged 78

www.theguardian.com

Sam Neill, the ver­sa­tile New Zealand ac­tor whose ca­reer spanned Oscar win­ners and block­busters such as The Piano and Jurassic Park, has died aged 78.

The ac­tor’s death was an­nounced on Monday in a state­ment shared on his Instagram ac­count. No cause of death was given, but Neill had only re­cently re­vealed he was can­cer-free af­ter be­ing di­ag­nosed with stage three an­gioim­munoblas­tic T-cell lym­phoma, a type of blood can­cer, in 2022.

It is with im­mense sad­ness that the whā­nau of Sam Neill share the news of his pass­ing on Monday 13th July, in Sydney Australia. Sam was sur­rounded by fam­ily and passed with the dig­nity that has char­ac­terised his whole life.

The loss was sud­den and un­ex­pected but blessed by the fact that Sam re­mained can­cer free. They would like to ex­press their deep­est grat­i­tude to the staff at St Vincent’s Private hos­pi­tal for their in­cred­i­ble care.

More de­tails will be shared later, but for now, on be­half of the fam­ily, we ask that you re­spect their pri­vacy as they nav­i­gate this im­mea­sur­able loss.”

Neill’s peers, friends and ad­mir­ers paid trib­ute to him on Monday as news of his death spread.

Neill was born Nigel John Dermot Neill in 1947 in Omagh, Northern Ireland to an English mother, and a New Zealander fa­ther who was serv­ing in the British army. The Neills moved to New Zealand in 1954. He took the name Sam when he was 12 be­cause there were sev­eral Nigels at his school, and: I found I moved more eas­ily in the world as a Sam. Nigel is an awk­ward fit in most cir­cum­stances. Imagine be­ing a movie ac­tor called Nigel Neill.”

Neill at­tended school and uni­ver­sity in Christchurch, but did­n’t set­tle on act­ing un­til af­ter he failed a catastrophic” year of study­ing law. He be­gan ap­pear­ing in Canterbury University pro­duc­tions, and moved to Wellington to join the Downstage Theatre as a pro­fes­sional ac­tor, where he was paid $35 a week and any left­over food from the kitchen from meals served to the au­di­ence be­fore the show.

After some small roles on lo­cal tele­vi­sion, his break­out role was in the 1977 film Sleeping Dogs, the first New Zealand film to open in the US. Soon af­ter that he landed a lead­ing role in My Brilliant Career (1979); played the son of the devil in Omen III (1981); ap­peared in Andrzej Żuławski‘s cult film Possession (1981); in the 1988 biopic Evil Angels (also known as A Cry in the Dark), as Lindy Chamberlain’s hus­band, Michael, op­po­site Meryl Streep; and in The Hunt for Red October (1990). His role in Ivanhoe (1982) made Neill a big name in Sweden, where the film has aired on TV every New Year’s Day for 40 years.

Neill came to wide­spread in­ter­na­tional at­ten­tion in 1993 with two per­for­mances: as New Zealand set­tler Alisdair Stewart in Jane Campion’s Oscar-winner The Piano; and as Dr Alan Grant in Steven Spielberg’s Jurassic Park, a role orig­i­nally of­fered to Harrison Ford. Neill played Alan Grant again in se­quels Jurassic Park III and Jurassic World Dominion.

Neill shaped a ca­reer play­ing mem­o­rable ro­man­tic leads and charis­matic vil­lains. He had more than 150 cred­its over five decades, in­clud­ing Dead Calm, The Jungle Book, In the Mouth of Madness, Event Horizon, Bicentennial Man, The Dish and Peter Rabbit. He was one of the lead­ing can­di­dates to suc­ceed Roger Moore as James Bond and did a screen-test in 1986, but lost out to Timothy Dalton.

In 2016 he starred in Taika Waititi’s break­out hit Hunt for the Wilderpeople, which led to small cameos in Waititi’s Thor: Ragnarok and Thor: Love and Thunder.

Neill also worked in tele­vi­sion, play­ing the cor­rupt Maj Chester Campbell in Peaky Blinders, The Twelve, The Tudors, and episodes of The Simpsons and Rick and Morty. He was nom­i­nated for a Golden Globe for his por­trayal of spy Sidney Reilly in the 1983 minis­eries Reilly, Ace of Spies.

Neill lived on a farm and win­ery called Two Paddocks, in the Central Otago wine re­gion. He de­scribed it as a ridicu­lously time- and money-con­sum­ing busi­ness. I would not do it if it was not so sat­is­fy­ing and fun, and it gets me pissed once in a while.” He named his farm an­i­mals af­ter his col­leagues, in­clud­ing Laura Dern (chicken), Kylie Minogue (duck) and Helena Bonham Carter (cow).

In 2023, Neill re­vealed in his mem­oir, Did I Ever Tell You This? that he had been un­der­go­ing chemother­apy for a year af­ter be­ing di­ag­nosed with stage three an­gioim­munoblas­tic T-cell lym­phoma, a type of blood can­cer. By the time his book was pub­lished his can­cer was in re­mis­sion, but he un­der­went monthly chemother­apy for the rest of his life, hav­ing signed a con­tract with the drug com­pany that if he was still alive af­ter four months, the treat­ment would be free.

I’m not afraid to die,” he told the Guardian in 2023, but it would an­noy me. Because I’d re­ally like an­other decade or two, you know? We’ve built all these lovely ter­races, we’ve got these olive trees and cy­presses, and I want to be around to see it all ma­ture. And I’ve got my lovely lit­tle grand­chil­dren. I want to see them get big. But as for the dy­ing? I could­n’t care less.”

He said he dreaded” any prospect of re­tire­ment. Some of it is to do with com­ing from a lit­tle place, the most ob­scure place in the world, as far from any­thing as you could get, and be­ing asked to do some­thing with an in­ter­na­tional di­men­sion. How im­mensely se­duc­tive is that?”

Neill was ap­pointed an Officer of the Order of the British em­pire in 1991 for his ser­vices to act­ing and a Distinguished Companion of the New Zealand Order of Merit (DCNZM) in 2007. Years later, af­ter a change to New Zealand’s ho­n­ours sys­tem al­lowed re­cip­i­ents to con­vert the DCNZM into a knight­hood, Neill ac­cepted a knight­hood and gained the ti­tle sir in 2022.

Neill jok­ingly de­scribed his fam­ily life as somewhat hap­haz­ard” due to his ca­reer. He is sur­vived by his four chil­dren and eight grand­chil­dren. His chil­dren are Andrew, who was placed for adop­tion when Neill was in his early 20s but re­united with his fa­ther in 1994; Tim, his son with ac­tor Lisa Harrow; Elena, his daugh­ter with makeup artist Noriko Watanabe; and Maiko, Watanabe’s daugh­ter from her first mar­riage, who Neill adopted.

LAPD lets contract with surveillance giant Flock expire, citing ‘serious concerns’ over civil liberties and privacy

techcrunch.com

The Los Angeles Police Department (LAPD) is re­port­edly end­ing its deal with Flock Safety, a sur­veil­lance com­pany that helps law en­force­ment track ve­hi­cles us­ing thou­sands of its li­cense plate cam­eras placed across the United States.

A se­nior LAPD of­fi­cial told news out­lets, first re­ported by ABC7 and the Los Angeles Times, that the po­lice de­part­ment would al­low its three-year con­tract with Flock to ex­pire when it ends on Saturday. The de­part­ment cited serious con­cerns” around civil lib­er­ties and pri­vacy. Flock’s cam­eras are op­er­ated by the Atlanta, Georgia-based com­pany and not the LAPD.

This con­tract is not be­ing re­newed be­cause of se­ri­ous con­cerns around civil lib­er­ties and civil rights is­sues, par­tic­u­larly around pri­vacy and the data that is be­ing col­lected from these cam­eras,” LAPDs chief in­for­ma­tion of­fi­cer Dean Gialamas was quoted as say­ing. The LAPD had to make a dif­fi­cult de­ci­sion, in this case dis­con­tin­u­ing us­ing Flock ser­vices un­til we can get those data, pri­vacy, se­cu­rity and shar­ing con­cerns ironed out through a con­trac­tual re­la­tion­ship.”

A spokesper­son for the LAPD did not re­spond to a re­quest for com­ment from TechCrunch over the week­end, and it’s un­clear if Flock’s cam­eras will con­tinue record­ing in ab­sence of an ac­tive con­tract. According to ABC7, the po­lice de­part­ment is seek­ing new lan­guage in its con­tract ad­dress­ing pri­vacy and data stor­age con­cerns.

As the third-largest po­lice de­part­ment in the U.S., the LAPD is one of Flock’s largest gov­ern­ment cus­tomers to date. Several ma­jor U.S. cities have also stopped work­ing with Flock, in­clud­ing Mountain View, California and South Portland, Maine, cit­ing pri­vacy wor­ries and con­cerns that fed­eral im­mi­gra­tion of­fi­cials used the cam­eras to track peo­ple in vi­o­la­tion of their lo­cal laws gov­ern­ing their sanc­tu­ary city poli­cies.

The con­tract ex­piry caught the sur­veil­lance com­pany by surprise,” said Flock spokesper­son Holly Beilin in an email to TechCrunch. Flock said it was con­fi­dent that the com­pany could clear up the cur­rent mis­con­cep­tions” that led to the con­trac­t’s end. Flock would not say which spe­cific mis­con­cep­tions it was re­fer­ring to.

Flock has a net­work of at least 80,000 cam­eras around the U.S. that scan li­cense plates and al­low po­lice and fed­eral agen­cies to track ve­hi­cles.

The com­pany has faced heavy back­lash from lo­cal com­mu­ni­ties that have ap­proved and then re­neged on their deals with Flock over con­cerns with pri­vacy and sur­veil­lance. Some lo­cals have taken mat­ters into their own hands by dis­man­tling Flock cam­eras and cov­er­ing them with trash bags, even as some com­mu­ni­ties found that Flock re­in­stalled cam­eras with­out per­mis­sion from lo­cal au­thor­i­ties.

Researchers have iden­ti­fied an uptick in doc­u­mented cases of mo­torists be­ing pulled over, de­tained, and held at gun­point by po­lice, or jailed, due to false pos­i­tives and er­rors with li­cense plate read­ers. Last week, a jour­nal­ist with car re­views and news web­site The Drive de­tailed how he was tracked for days and later boxed-in by po­lice af­ter a Flock cam­era mis­tak­enly flagged the li­cense plate of the on-loan re­view unit he was dri­ving as stolen.

Flock has also faced scrutiny fol­low­ing sev­eral se­cu­rity lapses that have ex­posed cam­eras and data, which in one case al­lowed in­de­pen­dent news out­let 404 Media to watch them­selves live on pub­licly ex­posed Flock cam­eras. Lawmakers have also urged fed­eral con­sumer au­thor­i­ties to in­ves­ti­gate Flock for fail­ing to im­ple­ment mea­sures that would pre­vent hack­ers and spies from gain­ing ac­cess to its se­cu­rity cam­eras, warn­ing that many of the po­lice user lo­gins are not pro­tected with multi-fac­tor au­then­ti­ca­tion.

404 Media also re­ported that the U.S. Drug Enforcement Administration used a lo­cal po­lice of­fi­cer’s pass­word with­out their knowl­edge to search for a sus­pect ac­cused of an im­mi­gra­tion vi­o­la­tion.

Do you know about se­cu­rity or pri­vacy is­sues with Flock Safety, or is­sues with Flock cam­eras in your com­mu­nity? We would love to hear from you. From a non-work de­vice, you can se­curely con­tact Zack Whittaker on the Signal mes­sag­ing app with the user­name za­ck­whit­taker.1337.

When you pur­chase through links in our ar­ti­cles, we may earn a small com­mis­sion. This does­n’t af­fect our ed­i­to­r­ial in­de­pen­dence.

Zack Whittaker is the se­cu­rity ed­i­tor at TechCrunch. He also au­thors the weekly cy­ber­se­cu­rity newslet­ter, this week in se­cu­rity.

He can be reached via en­crypted mes­sage at za­ck­whit­taker.1337 on Signal. You can also con­tact him by email, or to ver­ify out­reach, at zack.whit­taker@techcrunch.com.

View Bio

Apple's New Speech API vs Whisper: The First Real Benchmark

get-inscribe.com

The re­sult, up front

Apple’s new SpeechAnalyzer is the most ac­cu­rate on-de­vice speech en­gine we tested. It beat every Whisper model we ship, in­clud­ing Whisper Small, on both the clean and the noisy half of LibriSpeech, while run­ning roughly three times faster than Small. And the API it re­places, SFSpeechRecognizer, came last on clean speech: be­hind even Whisper Tiny, a 40MB model.

Lower is bet­ter: WER is word er­ror rate, the per­cent­age of words an en­gine sub­sti­tutes, drops, or in­vents. LibriSpeech test-clean is 2,620 ut­ter­ances of clean read speech; test-other is 2,939 harder, nois­ier ut­ter­ances. Every en­gine ran fully on-de­vice on an Apple M2 Pro (32GB, ma­cOS 26.5.1).

Apple SpeechAnalyzer2.12%

Whisper Small3.74%

Whisper Base5.42%

Whisper Tiny7.88%

SFSpeechRecognizer (legacy)9.02%

Why we ran this

With iOS 26 and ma­cOS 26, Apple re­placed SFSpeechRecognizer with a new API, SpeechAnalyzer and SpeechTranscriber. It pub­lished no ac­cu­racy fig­ures for ei­ther one. So every de­vel­oper de­cid­ing whether to mi­grate, and every­one com­par­ing Apple’s built-in recog­ni­tion against Whisper, has been guess­ing.

We ship both Apple en­gines and three Whisper mod­els side by side in Inscribe, a pri­vate on-de­vice AI work­space, which puts us in an un­usual po­si­tion: we can run all five through iden­ti­cal pro­duc­tion code paths on the same ma­chine and the same au­dio. So we did.

Should you mi­grate off SFSpeechRecognizer?

Yes. This is the clear­est re­sult in the data. The new API cuts word er­ror rate by 3.5 to 4x on the same au­dio: from 9.02% to 2.12% on clean speech, and from 16.25% to 4.56% on noisy speech. There is no ac­cu­racy trade-off to weigh; the new API wins every­where we mea­sured, and it pro­duces punc­tu­ated, cased text where the legacy en­gine’s out­put is rougher.

Put dif­fer­ently: an hour-long meet­ing tran­scribed with the legacy API con­tains roughly four times as many wrong words as the same meet­ing through SpeechAnalyzer. If your app still uses SFSpeechRecognizer for any­thing longer than a voice com­mand, the mi­gra­tion is worth it on ac­cu­racy alone.

SpeechAnalyzer vs Whisper

The more sur­pris­ing re­sult: Apple’s new en­gine also beat Whisper Small, the largest model we ship, by a com­fort­able mar­gin on both splits, at roughly a third of Whisper Small’s com­pute time per sec­ond of au­dio. For English, on Apple hard­ware, the built-in en­gine is now the strongest on-de­vice op­tion we can mea­sure.

Whisper keeps two real ad­van­tages. It cov­ers far more lan­guages (SpeechTranscriber sup­ports around 30 lo­cales), and it runs any­where, not just on Apple plat­forms with OS 26. But for English tran­scrip­tion on a cur­rent iPhone or Mac, the days of Whisper be­ing the au­to­matic ac­cu­racy pick are over.

We changed our own prod­uct on this re­sult: Inscribe’s Auto en­gine now prefers SpeechAnalyzer for the lan­guages it sup­ports, and Whisper for every­thing else. Shipping a bench­mark and ig­nor­ing it in your own de­faults would be a strange kind of hon­esty.

Speed

All five en­gines ran com­fort­ably faster than real time: be­tween roughly 12x and 40x on the M2 Pro, mean­ing an hour of au­dio tran­scribes in about 1.5 to 5 min­utes on-de­vice. SpeechAnalyzer was about 3x faster than Whisper Small per sec­ond of au­dio while beat­ing it on ac­cu­racy. We are de­lib­er­ately not print­ing a pre­cise per-en­gine tim­ing table yet: the ac­cu­racy runs shared the ma­chine with a de­vel­op­ment work­load, which does not af­fect WER but does add noise to tim­ing. We will up­date this page with tim­ings from a ded­i­cated idle run.

Methodology, and why you can check it

A bench­mark from a com­pany that sells one of the en­gines should be treated with sus­pi­cion. Ours has two prop­er­ties de­signed for that sus­pi­cion.

The Whisper col­umn is re­pro­ducible against OpenAI’s own num­bers

We used LibriSpeech pre­cisely be­cause OpenAI pub­lished Whisper’s WER on it. If our har­ness mea­sured Whisper cor­rectly, our num­bers should land on theirs. They do, on all six mea­sure­ments:

The small, con­sis­tent pos­i­tive off­set (a slightly stricter text nor­mal­izer plus CoreML quan­ti­za­tion) is what hon­est re­pro­duc­tion looks like; ran­dom er­ror would scat­ter in both di­rec­tions. Since the same cor­pus, nor­mal­izer, and scorer pro­duced the Apple columns, the num­bers no­body else can check in­herit the val­i­da­tion from the num­bers any­one can.

The raw tran­scripts are pub­lic

Every per-ut­ter­ance hy­poth­e­sis for both Apple en­gines is down­load­able be­low, next to the ref­er­ence text and per-ut­ter­ance WER. Disagree with our nor­mal­iza­tion? Rescore it your­self.

sum­mary.json - all ten mea­sure­ments, ma­chine-read­able (3KB)

raw-tran­scripts-ap­ple.json.gz - SpeechAnalyzer, all 5,559 ut­ter­ances (620KB)

raw-tran­scripts-legacy.json.gz - SFSpeechRecognizer, all 5,559 ut­ter­ances (620KB)

Details that de­cide whether a WER num­ber means any­thing

Same pro­duc­tion code paths. Each en­gine ran through the ex­act code Inscribe users get, not a lab har­ness with dif­fer­ent buffer­ing or set­tings.

Text nor­mal­iza­tion. LibriSpeech ref­er­ences are up­per­case, un­punc­tu­ated, with num­bers spelled out; mod­ern en­gines emit punc­tu­a­tion and dig­its. Both sides pass through the same nor­mal­izer (casing, punc­tu­a­tion, dig­its-to-words, con­trac­tions), mir­ror­ing OpenAI’s English nor­mal­izer. Score raw text and you pun­ish en­gines for for­mat­ting nicely rather than for mis­hear­ing.

Corpus WER, not av­er­aged WER. Total er­rors di­vided by to­tal ref­er­ence words, so short ut­ter­ances are not over-weighted.

Fully on-de­vice, ver­i­fied. SFSpeechRecognizer sends au­dio to Apple’s servers by de­fault. We forced on-de­vice recog­ni­tion and made the har­ness refuse to run rather than silently fall back to the cloud, both be­cause a cloud re­sult would in­val­i­date the com­par­i­son and be­cause we were not go­ing to up­load 5,559 ut­ter­ances from a pri­vacy prod­uct.

Failures counted, not hid­den. An en­gine re­turn­ing noth­ing scores 100% WER for that ut­ter­ance. It hap­pened once in 27,795 tran­scrip­tions (legacy, test-other).

What build­ing this taught us about our own app

The bench­mark found a ship­ping bug in Inscribe. Our Apple-engine file im­port fed au­dio to SpeechAnalyzer and closed the in­put stream, but never called fi­nal­ize­AndFin­ishThrough­End­OfIn­put(). Without that call the an­a­lyzer never de­liv­ers its fi­nal re­sults, and the im­port hangs for­ever. It had gone un­no­ticed be­cause our Auto set­ting pre­ferred Whisper. The fix shipped the same day, and it is part of why we pub­lish the har­ness de­tails: mea­sur­ing your own prod­uct care­fully has a way of find­ing the things you were not look­ing for.

Limitations

English only. LibriSpeech is English read speech. These num­bers say noth­ing about the 100+ lan­guages Whisper sup­ports that SpeechTranscriber does not.

Read au­dio­book speech, not meet­ings. LibriSpeech is the stan­dard, com­pa­ra­ble cor­pus, which is why we started with it. Accented, far-field, and multi-speaker meet­ing au­dio is the ob­vi­ous fol­low-up.

One ma­chine. M2 Pro, ma­cOS 26.5.1. Accuracy should trans­fer across Apple Silicon; speed will vary by chip.

Whisper via WhisperKit CoreML. Quantized on-de­vice con­ver­sions, the same builds Inscribe ships. Reference GPU im­ple­men­ta­tions may dif­fer slightly, which the val­i­da­tion table quan­ti­fies.

What this means if you just want good tran­scrip­tion

If you are on a cur­rent iPhone or Mac, the best on-de­vice tran­scrip­tion en­gine for English is al­ready in the op­er­at­ing sys­tem, and the pri­vate op­tion is no longer the com­pro­mise op­tion. Inscribe uses ex­actly the en­gines mea­sured here: SpeechAnalyzer where it sup­ports your lan­guage, Whisper where it does not, all fully on-de­vice, noth­ing up­loaded. The bench­mark is not sep­a­rate from the prod­uct; it is how we de­cide what the prod­uct does.

Related read­ing

Apple Intelligence tran­scrip­tion

Best of­fline tran­scrip­tion apps

Private tran­scrip­tion apps

One More Week

superdario.pawb.de

Count Binface

countbinface.com

ABOUT ME

I’m an in­ter­galac­tic space war­rior and leader of the Recyclons from planet Sigma IX. I came to Earth in 2017 and stood against Prime Minister Theresa May (as Lord Buckethead’), go­ing went vi­ral (in a non-Covid way). Then in 2018, af­ter an un­for­tu­nate bat­tle on the planet Copyright, I rews­pawned in my true form as Count Binface to take on Boris Johnson in the 2019 elec­tion, where I scored a sur­pris­ing 69. In 2021, I re­ceived 92,896 votes (including 24,775 first choice votes) from the hu­mans of London, who made me their 9th choice to be Mayor of the Earth cap­i­tal, out of 20 can­di­dates. This is a new record for an alien stand­ing for pub­lic of­fice on planet Earth. (I also de­feated Piers Corbyn and UKIP in the process.) In 2023, I came 8th in the Uxbridge (and South Ruislip) by-elec­tion, win­ning 190 votes with a 275% in­crease from 2019. I de­feated Piers Corbyn and UKIP again in the process. I cam­paign for jus­tice, lasers, Lovejoy, af­ford­able crois­sants and the re­turn of Ceefax. In 2024 I fought to be London Mayor again, win­ning 24,260 votes and de­feat­ing Britain First, and then took on Prime Minister Rishi Sunak at the General Election in Richmond & Northallerton, achiev­ing a (moral) vic­tory with 308 votes.

These are fac­tual re­sults. My best fic­tional re­sult is in the hit TV show Industry (Season Four, Episode Two), where I take on Kit Harington in Wakefield (not a sports hall in Cardiff) and win 309 votes!

My hob­bies in­clude in­vad­ing star sys­tems, dom­i­nat­ing in­fe­rior species, and the Lovejoy box set.

densha — study Japanese in a living voxel Tokyo

jivx.com

Ride the Yamanote line through a voxel Tokyo synced to Japan’s real clock, weather, and sea­sons. A lofi bed plays while N5 sen­tences are read aloud and drift by as sub­ti­tles — an am­bi­ent Japanese study room you just press play into.

Climate.gov was destroyed. Open data saved it.

werd.io

After los­ing their jobs at NOAA, Rebecca Lindsey, her sis­ter and an­other col­league teamed up to re­build a piv­otal re­source the Trump ad­min­is­tra­tion took of­fline.”

Link: Trump dis­man­tled a fed­eral cli­mate web­site. These women re­built it., by Jenae Barnes at The 19th

This should­n’t have been nec­es­sary, but is still won­der­ful to see. Climate.gov had been the go-to re­source for cli­mate data, but it went of­fline when the Trump Administration rad­i­cally cut NOAAs fund­ing. At that point:

[Rebecca] Lindsey joined forces with for­mer NOAA em­ploy­ees Anna Eshelman, and Mary Lindsey, her older sis­ter, to be­come the core team be­hind the de­ac­ti­vated site’s suc­ces­sor, Climate.us, pre­serv­ing over 15 years of key cli­mate data and re­sources. The trove fea­tures key maps, ed­u­ca­tional ma­te­ri­als and cli­mate in­di­ca­tor re­ports, in­clud­ing the now-deleted Fifth National Climate Assessment, the gov­ern­men­t’s most com­pre­hen­sive analy­sis of cli­mate change that was at risk of be­ing lost to the pub­lic.”

This is pos­si­ble be­cause US gov­ern­ment data is pub­lic do­main by law. Had it not been avail­able un­der a per­mis­sive li­cense, the ad­min­is­tra­tion’s act of van­dal­ism would have meant the data was gone for good. But be­cause it was, the datasets can find a new home.

It’s a joy to use. Check out the cli­mate dash­board, which tracks num­bers like the to­tal area of the Arctic Ocean that was at least 15% ice-cov­ered each September. It also hosts a set of re­sources for teach­ing cli­mate and en­ergy. The dataset gallery in­cludes cru­cial in­for­ma­tion like the NOAAs archive of oral his­to­ries from peo­ple whose lives were af­fected by cli­mate change.

But it’s also pre­car­i­ous. The whole thing re­lies on do­na­tions to keep it afloat, which is re­ally what tax dol­lars are for. Still, for the mo­ment it’s won­der­ful to see peo­ple pick up the slack when gov­ern­ment is no longer do­ing its job. In the ab­sence of gov­ern­ment sup­port, archives like this are works of jour­nal­ism in them­selves: ways to help us make stronger de­ci­sions. They de­serve stronger sup­port, and ul­ti­mately, we all de­serve the restora­tion of such im­por­tant gov­ern­ment in­fra­struc­ture.

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.