10 interesting stories served every morning and every evening.




1 1,172 shares, 93 trendiness

Vienam Bans Unskippable Ads, Requires Skip Button to Appear After 5 Seconds

If things go our way, YouTube’s no­to­ri­ous un­skip­pable ads might be a thing of the past come this February.

As Phụ Nữ re­ports, Vietnam re­cently an­nounced Decree No. 342, which de­tails a num­ber of pro­vi­sions to the na­tional Advertising Law, due to take ef­fect from February 15, 2026. The ad­just­ments are ex­pected to place stricter con­trol on Vietnam’s on­line ad­ver­tis­ing ac­tiv­i­ties to pro­tect con­sumers and curb il­le­gal ads.

Amongst the de­cree ar­ti­cles, some stand­out stip­u­la­tions in­clude a hard cap on the wait­ing time be­fore view­ers can skip video and an­i­mated ads to no more than 5 sec­onds. Static ads must be im­me­di­ately can­cellable.

Additionally, the de­cree re­quires plat­forms to im­ple­ment clear and straight­for­ward ways for users to close ads with just one in­ter­ac­tion. False or vague sym­bols de­signed to con­fuse view­ers are for­bid­den.

Online plat­forms must add vis­i­ble sym­bols and guide­lines to help users re­port ads that vi­o­late the law and al­low them to turn off, deny, or stop see­ing in­ap­pro­pri­ate ads.

Beside rules about the user ex­pe­ri­ence, the de­cree also seeks to tightly reg­u­late ads for 11 groups of goods and ser­vices that di­rectly im­pact the en­vi­ron­ment and hu­man health, in­clud­ing: cos­met­ics; food and bev­er­ages; milk and for­mula for chil­dren; in­sec­ti­ci­dal chem­i­cals and sub­stances; med­ical sup­plies; health­care ser­vices; plant pes­ti­cides and vet­eri­nary drugs; fer­til­iz­ers; plant seeds and saplings; phar­ma­ceu­ti­cals; and al­co­holic drinks.

...

Read the original on saigoneer.com »

2 1,087 shares, 47 trendiness

enclose.horse

...

Read the original on enclose.horse »

3 675 shares, 35 trendiness

AWS raises GPU prices 15% on a Saturday

I’ve been track­ing AWS for a long time, with a spe­cific em­pha­sis on pric­ing. What hap­pens if AWS hikes prices” has al­ways been some­thing of a boogey­man, trot­ted out as a hy­po­thet­i­cal to urge folks to avoid tak­ing de­pen­den­cies on a given provider.

Over the week­end - on a Saturday, no less - that hy­po­thet­i­cal be­came real.

AWS has qui­etly raised prices on its EC2 Capacity Blocks for ML by ap­prox­i­mately 15 per­cent. The p5e.48xlarge in­stance — eight NVIDIA H200 ac­cel­er­a­tors in a trench­coat — jumped from $34.61 to $39.80 per hour across most re­gions, while the p5en.48xlarge climbed from $36.18 to $41.61. Customers in US West (N. California) face steeper hikes, with p5e rates ris­ing from $43.26 to $49.75. The change had been telegraphed: AWSs pric­ing page noted (and bizarrely, still does) that current prices are sched­uled to be up­dated in January, 2026,” though the com­pany ne­glected to men­tion which di­rec­tion.

This comes about seven months af­ter AWS trum­peted up to 45% price re­duc­tions” for GPU in­stances - though that an­nounce­ment cov­ered On-Demand and Savings Plans rather than Capacity Blocks. Funny how that works.

For the unini­ti­ated, Capacity Blocks are AWSs an­swer to I need guar­an­teed GPU ca­pac­ity for my ML train­ing job next Tuesday.” You re­serve spe­cific GPU in­stances for a de­fined time win­dow — any­where from a day to a few weeks out — and pay up front at a locked-in rate. It’s pop­u­lar with com­pa­nies do­ing se­ri­ous ML work who can’t af­ford to have a train­ing run in­ter­rupted be­cause spot ca­pac­ity evap­o­rated. The pric­ing should make it abun­dantly clear that the peo­ple us­ing this aren’t hob­by­ists; these are teams with bud­gets mea­sured in mil­lions.

An Amazon spox told us via email, EC2 Capacity Blocks for ML pric­ing vary based on sup­ply and de­mand pat­terns, as de­scribed on the prod­uct de­tail page. This price ad­just­ment re­flects the sup­ply/​de­mand pat­terns we ex­pect this quar­ter.”

To be clear, AWS has raised prices be­fore, but rarely as a straight in­crease to a line item. The com­pany prefers to change pric­ing di­men­sions en­tirely, of­ten spin­ning this as a price re­duc­tion for most cus­tomers — a claim I’d char­ac­ter­ize as creative.” Historical straight-up price in­creases have been tied to reg­u­la­tory ac­tions: per-SMS charges in cer­tain mar­kets and the like. This is dif­fer­ent.

The tim­ing is cu­ri­ous for an­other rea­son: it hands Azure and GCP a talk­ing point on a sil­ver plat­ter. Both have been ag­gres­sively court­ing ML work­loads, and AWS just raised GPU prices 15%” is ex­actly the kind of am­mu­ni­tion en­ter­prise sales teams dream about. Whether the com­peti­tors can ac­tu­ally ab­sorb the de­mand is an­other ques­tion — GPU con­straints are hardly unique to AWS — but per­cep­tion mat­ters in en­ter­prise deals.

For com­pa­nies with Enterprise Discount Programs or other ne­go­ti­ated agree­ments, this raises un­com­fort­able ques­tions. EDPs typ­i­cally guar­an­tee dis­counts off pub­lic pric­ing — so if pub­lic pric­ing goes up 15 per­cent, your discounted” rate just got more ex­pen­sive in ab­solute terms, even if the per­cent­age held steady. I ex­pect some pointed con­ver­sa­tions be­tween AWS ac­count teams and their larger cus­tomers in the com­ing weeks.

It’s hard not to see this as a bell­wether. GPUs are in­creas­ingly con­strained glob­ally as the world piv­ots to gen­er­at­ing slop-as-a-ser­vice in every con­ceiv­able do­main. The ques­tion is what this means for other re­source types down the road. Does the global RAM crunch mean RAM-centric ser­vices are next? You can ig­nore ML Capacity Block pric­ing if you’re not run­ning ma­chine learn­ing work­loads — which de­scribes north of 95 per­cent of most com­pa­nies’ cloud spend — but RAM touches every ser­vice AWS of­fers. Well, pos­si­bly ex­cept­ing their sup­port func­tion, though that’s rapidly be­com­ing AI-Powered” too, so give it time.

The ca­nary-in-the-coal-mine con­cern here is­n’t GPUs specif­i­cally, but rather the prece­dent it es­tab­lishes. AWS has spent two decades con­di­tion­ing cus­tomers to ex­pect prices only ever go down. That ex­pec­ta­tion is now bro­ken. Once you’ve raised prices on one ser­vice and the world does­n’t end, the sec­ond in­crease be­comes eas­ier. And the third. The play­book has changed.

Keep an eye on ser­vices where AWS faces gen­uine sup­ply con­straints or where their costs have ma­te­ri­ally in­creased. Graviton in­stances have been priced ag­gres­sively to drive adop­tion — what hap­pens when ARM chip sup­ply tight­ens? Data trans­fer costs have been a cash cow for years, but they’ve also been sta­ble; are those next? I don’t have in­side in­for­ma­tion, but I do have pat­tern recog­ni­tion, and the pat­tern just shifted.

AWS has long ben­e­fited from the as­sump­tion that cloud pric­ing only trends in one di­rec­tion. That as­sump­tion died on a Saturday in January, with all the fan­fare of a Terms of Service up­date. The ques­tion is­n’t whether this mat­ters — it does. The ques­tion is whether it’s an anom­aly or the new nor­mal. My mon­ey’s on the lat­ter. ®

...

Read the original on www.theregister.com »

4 619 shares, 69 trendiness

Spherical Snake

To play: Use ar­row keys or but­tons.

...

Read the original on kevinalbs.com »

5 532 shares, 22 trendiness

The Post-American Internet (01 Jan 2026)

On December 28th, I de­liv­ered a speech en­ti­tled A post-Amer­i­can, en­shit­ti­fi­ca­tion-re­sis­tant in­ter­net” for 39C3, the 39th Chaos Communications Congress in Hamburg, Germany. This is the tran­script of that speech.

Many of you know that I’m an ac­tivist with the Electronic Frontier Foundation — EFF. I’m about to start my 25th year there. I know that I’m hardly un­bi­ased, but as far as I’m con­cerned, there’s no group any­where on Earth that does the work of de­fend­ing our dig­i­tal rights bet­ter than EFF.

I’m an ac­tivist there, and for the past quar­ter-cen­tury, I’ve been em­broiled in some­thing I call The War on General Purpose Computing.”

If you were at 28C3, 14 years ago, you may have heard me give a talk with that ti­tle. Those are the trenches I’ve been in since my very first day on the job at EFF, when I flew to Los Angeles to crash the in­au­gural meet­ing of some­thing called the Broadcast Protection Discussion Group,” an un­holy al­liance of tech com­pa­nies, me­dia com­pa­nies, broad­cast­ers and ca­ble op­er­a­tors.

They’d gath­ered be­cause this lav­ishly cor­rupt American con­gress­man, Billy Tauzin, had promised them a new reg­u­la­tion — a rule ban­ning the man­u­fac­ture and sale of dig­i­tal com­put­ers, un­less they had been back­doored to spec­i­fi­ca­tions set by that group, spec­i­fi­ca­tions for tech­ni­cal mea­sures to block com­put­ers from per­form­ing op­er­a­tions that were dis­pre­ferred by these com­pa­nies’ share­hold­ers.

That rule was called the Broadcast Flag,” and it ac­tu­ally passed through the American tele­coms reg­u­la­tor, the Federal Communications Commission. So we sued the FCC in fed­eral court, and over­turned the rule.

We won that skir­mish, but friends, I have bad news, news that will not sur­prise you. Despite wins like that one, we have been los­ing the war on the gen­eral pur­pose com­puter for the past 25 years.

Which is why I’ve come to Hamburg to­day. Because, af­ter decades of throw­ing my­self against a locked door, the door that leads to a new, good in­ter­net, one that de­liv­ers both the tech­no­log­i­cal self-de­ter­mi­na­tion of the old, good in­ter­net, and the ease of use of Web 2.0 that let our normie friends join the party, that door has been un­locked.

Today, it is open a crack. It’s open a crack!

And here’s the weird­est part: Donald Trump is the guy who’s un­locked that door.

Oh, he did­n’t do it on pur­pose! But, thanks to Trump’s in­con­ti­nent bel­liger­ence, we are on the cusp of a Post-American Internet,” a new dig­i­tal ner­vous sys­tem for the 21st cen­tury. An in­ter­net that we can build with­out wor­ry­ing about America’s de­mands and pri­or­i­ties.

Now, don’t get me wrong, I’m not happy about Trump or his poli­cies. But as my friend Joey DaVilla likes to say When life gives you SARS, you make sar­sa­par­illa.” The only thing worse than ex­pe­ri­enc­ing all the ter­ror that Trump has un­leashed on America and the world would be go­ing through all that and not sal­vaging any­thing out of the wreck­age.

That’s what I want to talk to you about to­day: the post-Amer­i­can Internet we can wrest from Trump’s chaos.

A post-Amer­i­can Internet that is pos­si­ble be­cause Trump has mo­bi­lized new coali­tion part­ners to join the fight on our side. In pol­i­tics, coali­tions are every­thing. Any time you see a group of peo­ple sud­denly suc­ceed­ing at a goal they have been fail­ing to achieve, it’s a sure bet that they’ve found some coali­tion part­ners, new al­lies who don’t want all the same thing as the orig­i­nal forces, but want enough of the same things to fight on their side.

That’s where Trump came from: a coali­tion of bil­lion­aires, white na­tion­al­ists, Christian big­ots, au­thor­i­tar­i­ans, con­spir­a­to­ri­al­ists, im­pe­ri­al­ists, and self-de­scribed libertarians” who’ve got such a scorch­ing case of low-tax brain worms that they’d vote for Mussolini if he’d promise to lower their taxes by a nickel.

And what’s got me so ex­cited is that we’ve got a new coali­tion in the War on General Purpose Computers: a coali­tion that in­cludes the dig­i­tal rights ac­tivists who’ve been on the lines for decades, but also peo­ple who want to turn America’s Big Tech tril­lions into bil­lions for their own econ­omy, and na­tional se­cu­rity hawks who are quite rightly wor­ried about dig­i­tal sov­er­eignty.

My the­sis here is that this is an un­stop­pable coali­tion. Which is good news! For the first time in decades, vic­tory is in our grasp.

So let me ex­plain: 14 years ago, I stood in front of this group and ex­plained the War on General Purpose Computing.” That was my snappy name for this fight, but the bor­ing name that they use in leg­is­la­tures for it is anticircumvention,”

Under an­ti­cir­cum­ven­tion law, it’s a crime to al­ter the func­tion­ing of a dig­i­tal prod­uct or ser­vice, un­less the man­u­fac­turer ap­proves of your mod­i­fi­ca­tion, and — cru­cially — this is true whether or not your mod­i­fi­ca­tion vi­o­lates any other law.

Anticircumvention law orig­i­nates in the USA: Section 1201 of the Digital Millennium Copyright Act of 1998 es­tab­lishes a felony pun­ish­able by a five year prison sen­tence and a $500,000 fine for a first of­fense for by­pass­ing an access con­trol” for a copy­righted work.

So prac­ti­cally speak­ing, if you de­sign a de­vice or ser­vice with even the flim­si­est of sys­tems to pre­vent mod­i­fi­ca­tion of its ap­pli­ca­tion code or firmware, it’s a felony — a jail­able felony — to mod­ify that code or firmware. It’s also a felony to dis­close in­for­ma­tion about how to by­pass that ac­cess con­trol, which means that pen-testers who even de­scribe how they ac­cess a de­vice or sys­tem face crim­i­nal li­a­bil­ity.

Under an­ti­cir­cum­ven­tion law any man­u­fac­turer can triv­ially turn their prod­uct into a no-go zone, crim­i­nal­iz­ing the act of in­ves­ti­gat­ing its de­fects, crim­i­nal­iz­ing the act of re­port­ing on its de­fects, and crim­i­nal­iz­ing the act of re­me­di­at­ing its de­fects.

This is a law that Jay Freeman rightly calls Felony Contempt of Business Model.” Anticircumvention be­came the law of the land in 1998 when Bill Clinton signed the DMCA. But be­fore you start snick­er­ing at those stu­pid Americans, know this: every other coun­try in the world has passed a law just like this in the years since. Here in the EU, it came in through Article 6 of the 2001 EU Copyright Directive.

Now, it makes a cer­tain twisted sense for the US to en­act a law like this, af­ter all, they are the world’s tech pow­er­house, home to the biggest, most pow­er­ful tech com­pa­nies in the world. By mak­ing it il­le­gal to mod­ify dig­i­tal prod­ucts with­out the man­u­fac­tur­er’s per­mis­sion, America en­hances the rent-ex­tract­ing power of the most valu­able com­pa­nies on US stock ex­changes.

But why would Europe pass a law like this? Europe is a mas­sive tech im­porter. By ex­tend­ing le­gal pro­tec­tion to tech com­pa­nies that want to steal their users’ data and money, the EU was fa­cil­i­tat­ing a one-way trans­fer of value from Europe to America. So why would Europe do this?

Well, let me tell you about the cir­cum­stances un­der which other coun­tries came to en­act their an­ti­cir­cum­ven­tion laws and maybe you’ll spot a pat­tern that will an­swer this ques­tion.

Australia got its an­ti­cir­cum­ven­tion law through the US-Australia Free Trade Agreement, which obliges Australia to en­act an­ti­cir­cum­ven­tion law.

Canada and Mexico got it through the US-Mexico-Canada Free Trade Agreement, which obliges Canada and Mexico to en­act an­ti­cir­cum­ven­tion laws.

Andean na­tions like Chile got their an­ti­cir­cum­ven­tion laws through bi­lat­eral US free trade agree­ments, which oblige them to en­act an­ti­cir­cum­ven­tion laws.

And the Central American na­tions got their an­ti­cir­cum­ven­tion laws through CAFTA — The Central American Free Trade Agreement with the USA — which obliges them to en­act an­ti­cir­cum­ven­tion laws, too.

I as­sume you’ve spot­ted the pat­tern by now: the US trade rep­re­sen­ta­tive has forced every one of its trad­ing part­ners to adopt an­ti­cir­cum­ven­tion law, to fa­cil­i­tate the ex­trac­tion of their own peo­ple’s data and money by American firms. But of course, that only raises a fur­ther ques­tion: Why would every other coun­try in the world agree to let America steal its own peo­ple’s money and data, and block its do­mes­tic tech sec­tor from mak­ing in­ter­op­er­a­ble prod­ucts that would pre­vent this theft?

Here’s an anec­dote that un­rav­els this rid­dle: many years ago, in the years be­fore Viktor Orban rose to power, I used to guest-lec­ture at a sum­mer PhD pro­gram in po­lit­i­cal sci­ence at Budapest’s Central European University. And one sum­mer, af­ter I’d lec­tured to my stu­dents about an­ti­cir­cum­ven­tion law, one of them ap­proached me.

They had been the in­for­ma­tion min­is­ter of a Central American na­tion dur­ing the CAFTA ne­go­ti­a­tions, and one day, they’d re­ceived a phone-call from their trade ne­go­tia­tor, call­ing from the CAFTA bar­gain­ing table. The ne­go­tia­tor said, You know how you told me not to give the Americans an­ti­cir­cum­ven­tion un­der any cir­cum­stances? Well, they’re say­ing that they won’t take our cof­fee un­less we give them an­ti­cir­cum­ven­tion. And I’m sorry, but we just can’t lose the US cof­fee mar­ket. Our econ­omy would col­lapse. So we’re go­ing to give them an­ti­cir­cum­ven­tion. I’m re­ally sorry.”

That’s it. That’s why every gov­ern­ment in the world al­lowed US Big Tech com­pa­nies to de­clare open sea­son on their peo­ple’s pri­vate data and ready cash.

The al­ter­na­tive was tar­iffs. Well, I don’t know if you’ve heard, but we’ve got tar­iffs now!

I mean, if some­one threat­ens to burn your house down un­less you fol­low their or­ders, and then they burn your house down any­way, you don’t have to keep fol­low­ing their or­ders. So…Happy Liberation Day?

So far, every coun­try in the world has had one of two re­sponses to the Trump tar­iffs. The first one is: Give Trump every­thing he asks for (except Greenland) and hope he stops be­ing mad at you.” This has been an ab­solute fail­ure. Give Trump an inch, he’ll take a mile. He’ll take fuck­ing Greenland. Capitulation is a fail­ure.

But so is the other tac­tic: re­tal­ia­tory tar­iffs. That’s what we’ve done in Canada (like all the best Americans, I’m Canadian). Our top move has been to levy tar­iffs on the stuff we im­port from America, mak­ing the things we buy more ex­pen­sive. That’s a weird way to pun­ish America! It’s like punch­ing your­self in the face as hard as you can, and hop­ing the down­stairs neigh­bor says Ouch!”

And it’s in­dis­crim­i­nate. Why whack some poor farmer from a state that be­gins and ends with a vowel with tar­iffs on his soy­beans. That guy never did any­thing bad to Canada.

But there’s a third pos­si­ble re­sponse to tar­iffs, one that’s just sit­ting there, beg­ging to be tried: what about re­peal­ing an­ti­cir­cum­ven­tion law?

If you’re a tech­nol­o­gist or an in­vestor based in a coun­try that’s re­pealed its an­ti­cir­cum­ven­tion law, you can go into busi­ness mak­ing dis­en­shit­ti­fi­ca­tory prod­ucts that plug into America’s de­fec­tive tech ex­ports, al­low­ing the peo­ple who own and use those prod­ucts to use them in ways that are good for them, even if those uses make the com­pa­ny’s share­hold­ers mad.

Think of John Deere trac­tors: when a farmer’s John Deere trac­tor breaks down, they are ex­pected to re­pair it, swap­ping in new parts and as­sem­blies to re­place what­ev­er’s malf­ing. But the trac­tor won’t rec­og­nize that new part and will not start work­ing again, not un­til the farmer spends a cou­ple hun­dred bucks on a ser­vice call­out from an of­fi­cial John Deere trac­tor re­pair rep, whose only job is to type an un­lock code into the trac­tor’s con­sole, to ini­tial­ize the part and pair it with the trac­tor’s main com­put­ing unit.

Modding a trac­tor to by­pass this ac­ti­va­tion step vi­o­lates an­ti­cir­cum­ven­tion law, mean­ing farm­ers all over the world are stuck with this ripoff garbage, be­cause their own gov­ern­ment will lock up any­one who makes a trac­tor mod that dis­ables the parts-pair­ing check in this American prod­uct.

So what if Canada re­pealed Bill C-11, the Copyright Modernization Act of 2012 (that’s our an­ti­cir­cum­ven­tion law)? Well, then a com­pany like Honeybee, which makes trac­tor front-ends and at­tach­ments, could hire some smart University of Waterloo com­puter sci­ence grads, and put em to work jail­break­ing the John Deere trac­tor’s firmware, and of­fer it to every­one in the world. They could sell the crack to any­one with an in­ter­net con­nec­tion and a pay­ment method, in­clud­ing that poor American farmer whose soy­beans we’re cur­rently tar­iff­ing.

It’s hard to con­vey how much money is on the table here. Take just one ex­am­ple: Apple’s App Store. Apple forces all app ven­dors into us­ing its pay­ment proces­sor, and charges them a 30 per­cent com­mis­sion on every euro spent in­side of an app.

30 per­cent! That’s such a prof­itable busi­ness that Apple makes $100 bil­lion per year on it. If the EU re­peals Article 6 of the Copyright Directive, some smart geeks in Finland could re­verse-en­gi­neer Apple’s boot­load­ers and make a hard­ware don­gle that jail­breaks phones so that they can use al­ter­na­tive app stores, and sell the don­gle — along with the in­fra­struc­ture to op­er­ate an app store — to any­one in the world who wants to go into busi­ness com­pet­ing with Apple for users and app ven­dors.

Those com­peti­tors could of­fer a 90% dis­count to every crafter on Etsy, every per­former on Patreon, every on­line news out­let, every game dev, every me­dia store. Offer them a 90% dis­count on pay­ments, and still make $10b/year.

Maybe Finland will never see an­other Nokia, but Nokia’s a tough busi­ness to be in. You’ve got to make hard­ware, which is ex­pen­sive and risky. But if the EU le­gal­izes jail­break­ing, then Apple would have to in­cur all the ex­pense and risk of mak­ing and field­ing hard­ware, while those Finnish geeks could cream off the $100b Apple sucks out of the global econ­omy in an act of a dis­gust­ing, rip-off rent-seek­ing.

As Jeff Bezos said to the pub­lish­ers: Your mar­gin is my op­por­tu­nity.” With these guys, it’s al­ways disruption for thee, but not for me.” When they do it to us, that’s progress. When we do it to them, it’s piracy, and every pi­rate wants to be an ad­mi­ral.

Well, screw that. Move fast and break Tim Cook’s things. Move fast and break kings!

It’s funny: I spent 25 years get­ting my ass kicked by the US Trade Representative (in my de­fense, it was­n’t a fair fight). I de­vel­oped a kind of grudg­ing ad­mi­ra­tion for the skill with which the USTR bound the en­tire world to a sys­tem of trade that con­ferred parochial ad­van­tages to America and its tech firms, giv­ing them free rein to loot the world’s data and economies. So it’s been pretty amaz­ing to watch Trump swiftly and de­ci­sively dis­man­tle the global sys­tem of trade and de­stroy the case for the world con­tin­u­ing to arrange its af­fairs to pro­tect the in­ter­ests of America’s cap­i­tal class.

I mean, it’s not a path I would have cho­sen. I’d have pre­ferred no Trump at all to this break­through. But I’ll take this mas­sive own-goal if Trump in­sists. I mean, I’m not say­ing I’ve be­come an ac­cel­er­a­tionist, but at this point, I’m not ex­actly not an ac­cel­er­a­tionist.

Now, you might have heard that gov­ern­ments around the world have been try­ing to get Apple to open its App Store, and they’ve to­tally failed at this. When the EU hit Apple with an en­force­ment or­der un­der the Digital Markets Act, Apple re­sponded by of­fer­ing to al­low third party app stores, but it would only al­low those stores to sell apps that Apple had ap­proved of.

And while those stores could use their own pay­ment proces­sors, Apple would charge them so much in junk fees that it would be more ex­pen­sive to process a pay­ment us­ing your own sys­tem, and if Apple be­lieved that a user’s phone had been out­side of the EU for 21 days, they’d re­motely delete all that user’s data and apps.

When the EU ex­plained that this would not sat­isfy the reg­u­la­tion, Apple threat­ened to pull out of the EU. Then, once every­one had fin­ished laugh­ing, Apple filed more than a dozen bull­shit ob­jec­tions to the or­der hop­ing to tie this up in court for a decade, the way Google and Meta did for the GDPR.

It’s not clear that the EU can force Apple to write code that opens up the iOS plat­form for al­ter­na­tive app stores and pay­ment meth­ods, but there is one thing that the EU can ab­solutely do with 100% re­li­a­bil­ity, any time they want: the EU can de­cide not to let Apple use Europe’s courts to shut down European com­pa­nies that de­fend European mer­chants, per­form­ers, mak­ers, news out­lets, game devs and cre­ative work­ers, from Apple’s ripoff, by jail­break­ing phones.

All the EU has to do is re­peal Article 6 of the Copyright Directive, and, in so do­ing, strip Apple of the priv­i­lege of mo­bi­liz­ing the European jus­tice sys­tem to shore up Apple’s hun­dred bil­lion dol­lar an­nual tax on the world’s dig­i­tal econ­omy. The EU com­pany that fig­ures out how to re­li­ably jail­break iPhones will have cus­tomers all over the world, in­clud­ing in the USA, where Apple does­n’t just use its veto over which apps you can run on your phone to suck 30% out of every dol­lar you spend, but where Apple also uses its con­trol over the plat­form to strip out apps that pro­tect Apple’s cus­tomers from Trump’s fas­cist takeover.

Back in October, Apple kicked the ICE Block” app out of the App Store. That’s an app that warns the user if there’s a snatch squad of masked ICE thugs nearby look­ing to grab you off the street and send you to an off­shore gu­lag. Apple in­ter­nally clas­si­fied ICE kid­nap­pers as a protected class,” and then de­clared the ICE Block in­fringed on the rights of these poor, be­set ICE goons.

And speak­ing of ICE thugs, there are plenty of qual­i­fied tech­nol­o­gists who have fled the US this year, one step ahead of an ICE pla­toon look­ing to put them and their chil­dren into a camp. Those skilled hack­ers are now liv­ing all over the world, joined by in­vestors who’d like to back a busi­ness whose suc­cess will be de­ter­mined by how awe­some its prod­ucts are, and not how many $TRUMP coins they buy.

Apple’s mar­gin could be their op­por­tu­nity.

Legalizing jail­break­ing, raid­ing the high­est mar­gin lines of busi­ness of the most prof­itable com­pa­nies in America is a much bet­ter re­sponse to the Trump tar­iffs than re­tal­ia­tory tar­iffs.

For one thing, this is a tar­geted re­sponse: go af­ter Big Tech’s mar­gins and you’re mount­ing a frontal as­sault on the busi­nesses whose CEOs each paid a mil­lion bucks to sit be­hind Trump on the in­au­gu­ra­tion dais.

Raiding Big Tech’s mar­gins is not an at­tack on the American peo­ple, nor on the small American busi­nesses that are ripped off by Big Tech. It’s a raid on the com­pa­nies that screw every­day Americans and every­one else in the world. It’s a way to make every­one in the world richer at the ex­pense of these ripoff com­pa­nies.

It beats the shit out of blow­ing hun­dreds of bil­lions of dol­lars build­ing AI data-cen­ters in the hopes that some­day, a sec­tor that’s lost nearly a tril­lion dol­lars ship­ping de­fec­tive chat­bots will fig­ure out a use for GPUs that does­n’t start he­m­or­rhag­ing money the minute they plug them in.

So here are our new al­lies in the war on gen­eral-pur­pose com­pu­ta­tion: busi­nesses and tech­nol­o­gists who want to make bil­lions of dol­lars raid­ing Big Tech’s mar­gins, and pol­i­cy­mak­ers who want their coun­try to be the dis­en­shit­ti­fi­ca­tion na­tion — the coun­try that does­n’t merely pro­tect its peo­ple’s money and pri­vacy by buy­ing jail­breaks from other coun­tries, but rather, the coun­try that makes bil­lions of dol­lars sell­ing that pri­vacy and pock­et­book-de­fend­ing tech to the rest of the world.

That’s a pow­er­ful al­liance, but those are not the only al­lies Trump has pushed into our camp. There’s an­other pow­er­ful ally wait­ing in the wings.

Remember last June, when the International Criminal Court in the Hague is­sued an ar­rest war­rant for the géno­cidaire Benjamin Netanyahu, and Trump de­nounced the ICC, and then the ICC lost its Outlook ac­cess, its email archives, its work­ing files, its ad­dress books, its cal­en­dars?

Microsoft says they did­n’t brick the ICC — that it’s a co­in­ci­dence. But when it comes to a he-said/​Clippy-said be­tween the jus­tices of the ICC and the con­victed mo­nop­o­lists of Microsoft, I know who I be­lieve.

This is ex­actly the kind of in­fra­struc­tural risk that we were warned of if we let Chinese com­pa­nies like Huawei sup­ply our crit­i­cal tele­coms equip­ment. Virtually every gov­ern­ment min­istry, every ma­jor cor­po­ra­tion, every small busi­ness and every house­hold in the world have locked them­selves into a US-based, cloud-based ser­vice.

The hand­ful of US Big Tech com­pa­nies that sup­ply the world’s ad­min­is­tra­tive tools are all vul­ner­a­ble to pres­sure from the Trump ad­min, and that means that Trump can brick an en­tire na­tion.

The at­tack on the ICC was an act of cy­ber­war­fare, like the Russian hack­ers who shut down Ukrainian power-gen­er­a­tion fa­cil­i­ties, ex­cept that Microsoft does­n’t have to hack Outlook to brick the ICC — they own Outlook.

Under the US CLOUD Act of 2018, the US gov­ern­ment can com­pel any US-based com­pany to dis­close any of its users’ data — in­clud­ing for­eign gov­ern­ments — and this is true no mat­ter where that data is stored. Last July, Anton Carniaux, Director of Public and Legal Affairs at Microsoft France, told a French gov­ern­ment in­quiry that he couldn’t guar­an­tee” that Microsoft would­n’t hand sen­si­tive French data over to the US gov­ern­ment, even if that data was stored in a European data-cen­ter.

And un­der the CLOUD Act, the US gov­ern­ment can slap gag or­ders on the com­pa­nies that it forces to cough up that data, so there’d be no way to even know if this hap­pened, or whether it’s al­ready hap­pened.

It does­n’t stop at ad­min­is­tra­tive tools, ei­ther: re­mem­ber back in 2022, when Putin’s thugs looted mil­lions of dol­lars’ worth of John Deere trac­tors from Ukraine and those trac­tors showed up in Chechnya? The John Deere com­pany pushed an over-the-air kill sig­nal to those trac­tors and bricked em.

John Deere is every bit as po­lit­i­cally vul­ner­a­ble to the Trump ad­min as Microsoft is, and they can brick most of the trac­tors in the world, and the trac­tors they can’t brick are prob­a­bly made by Massey Ferguson, the num­ber-two com­pany in the ag-tech car­tel, which is also an American com­pany and just as vul­ner­a­ble to po­lit­i­cal at­tacks from the US gov­ern­ment.

Now, none of this will be news to global lead­ers. Even be­fore Trump and Microsoft bricked the ICC they were try­ing to fig­ure out a path to digital sov­er­eignty.” But the Trump ad­min­is­tra­tion’s out­ra­geous con­duct and rhetoric over past 11 months has turned digital sov­er­eignty” from a nice-to-have into a must-have.

So fi­nally, we’re see­ing some move­ment, like Eurostack,” a pro­ject to clone the func­tion­al­ity of US Big Tech si­los in free/​open source soft­ware, and to build EU-based data-cen­ters that this code can run on.

But Eurostack is head­ing for a cri­sis. It’s great to build open, lo­cally hosted, au­ditable, trust­wor­thy ser­vices that repli­cate the use­ful fea­tures of Big Tech, but you also need to build the ad­ver­sar­ial in­ter­op­er­abil­ity tools that al­low for mass ex­port­ing of mil­lions of doc­u­ments, the sen­si­tive data-struc­tures and edit his­to­ries.

We need scrap­ers and head­less browsers to ac­com­plish the ad­ver­sar­ial in­ter­op­er­abil­ity that will guar­an­tee on­go­ing con­nec­tiv­ity to in­sti­tu­tions that are still hosted on US cloud-based ser­vices, be­cause US com­pa­nies are not go­ing to fa­cil­i­tate the mass ex­o­dus of in­ter­na­tional cus­tomers from their plat­form.

Just think of how Apple re­sponded to the rel­a­tively mi­nor de­mand to open up the iOS App Store, and now imag­ine the ther­monu­clear foot-drag­ging, tantrum-throw­ing and ma­li­cious com­pli­ance they’ll come up with when faced with the de­par­ture of a plu­ral­ity of the busi­nesses and gov­ern­ments in a 27-nation bloc of 500,000,000 af­flu­ent con­sumers.

Any se­ri­ous at­tempt at dig­i­tal sov­er­eignty needs mi­gra­tion tools that work with­out the co­op­er­a­tion of the Big Tech com­pa­nies. Otherwise, this is like build­ing hous­ing for East Germans and lo­cat­ing it in West Berlin. It does­n’t mat­ter how great the hous­ing is, your in­tended au­di­ence is go­ing to re­ally strug­gle to move in un­less you tear down the wall.

Step one of tear­ing down that wall is killing an­ti­cir­cum­ven­tion law, so that we can run vir­tual de­vices that can be scripted, break boot­load­ers to swap out firmware and gen­er­ally seize the means of com­pu­ta­tion.

So this is the third bloc in the dis­en­shit­ti­fi­ca­tion army: not just dig­i­tal rights hip­pies like me; not just en­tre­pre­neurs and eco­nomic de­vel­op­ment wonks rub­bing their hands to­gether at the thought of trans­form­ing American tril­lions into European bil­lions; but also the na­tional se­cu­rity hawks who are 100% jus­ti­fied in their ex­treme con­cern about their coun­try’s re­liance on American plat­forms that have been shown to be to­tally un­re­li­able.

This is how we’ll get a post-Amer­i­can in­ter­net: with an un­stop­pable coali­tion of ac­tivists, en­tre­pre­neurs and nat­sec hawks.

This has been a long time com­ing. Since the post-war set­tle­ment, the world has treated the US as a neu­tral plat­form, a trust­wor­thy and sta­ble main­tainer of crit­i­cal sys­tems for global in­ter­change, what the po­lit­i­cal sci­en­tists Henry Farrell and Abraham Newman call the Underground Empire.” But over the past 15 years, the US has sys­tem­at­i­cally shat­tered global trust in its in­sti­tu­tions, a process that only ac­cel­er­ated un­der Trump.

Take transoceanic fiber op­tic ca­bles: the way the transoceanic fiber routes were planned, the ma­jor­ity of these ca­bles make land­fall on the coasts of the USA where the in­ter­con­nec­tions are han­dled. There’s a good case for this hub-and-spoke net­work topol­ogy, es­pe­cially com­pared to es­tab­lish­ing di­rect links be­tween every coun­try. That’s an Order(N^2) prob­lem: di­rectly link­ing each of the planet Earth’s 205 coun­tries to every other coun­try would re­quire 20,910 fiber links.

But putting all the world’s tele­coms eggs in America’s bas­ket only works if the US does­n’t take ad­van­tage of its cen­tral­ity, and while many peo­ple wor­ried about what the US could do with the head-ends of the world’s global fiber in­fra, it was­n’t un­til Mark Klein’s 2006 rev­e­la­tions about the NSAs na­tion-scale fiber op­tic taps in AT&T’s net­work, and Ed Snowden’s 2013 doc­u­ments show­ing the global scale of this wire­tap­ping, that the world had to con­front the un­de­ni­able re­al­ity that the US could not be trusted to serve as the world’s fiber hub.

It’s not just fiber. The world does busi­ness in dol­lars. Most coun­tries main­tain dol­lar ac­counts at the Fed in New York as their ma­jor source of for­eign re­serves. But in 2005, American vul­ture cap­i­tal­ists bought up bil­lions of dol­lars worth of Argentinian gov­ern­ment bonds af­ter the sov­er­eign na­tion of Argentina had de­clared bank­ruptcy.

They con­vinced a judge in New York to turn over the gov­ern­ment of Argentina’s US as­sets to them to make good on loans that these debt col­lec­tors had not is­sued, but had bought up at pen­nies on the dol­lar. At that mo­ment, every gov­ern­ment in the world had to con­front the re­al­ity that they could not trust the US Federal Reserve with their for­eign re­serves. But what else could they use?

Without a clear an­swer, dol­lar dom­i­nance con­tin­ued, but then, un­der Biden, Putin-aligned oli­garchs and Russian firms lost ac­cess to the SWIFT sys­tem for dol­lar clear­ing. This is when goods — like oil — are priced in dol­lars, so that buy­ers only need to find some­one who will trade their own cur­rency for dol­lars, which they can then swap for any com­mod­ity in the world.

Again, there’s a sound case for dol­lar clear­ing: it’s just not prac­ti­cal to es­tab­lish deep, liq­uid pair­wise trad­ing mar­ket for all of the world’s nearly 200 cur­ren­cies, it’s an­other O(N^2) prob­lem.

But it only works if the dol­lar is a neu­tral plat­form. Once the dol­lar be­comes an in­stru­ment of US for­eign pol­icy — whether or not you agree with that pol­icy — it’s no longer a neu­tral plat­form, and the world goes look­ing for an al­ter­na­tive.

No one knows what that al­ter­na­tive’s go­ing to be, just as no one knows what con­fig­u­ra­tion the world’s fiber links will end up tak­ing. There’s kilo­me­ters of fiber be­ing stretched across the ocean floor, and coun­tries are try­ing out some pretty im­prob­a­ble gam­bits as dol­lar al­ter­na­tives, like Ethiopia revalu­ing its sov­er­eign debt in Chinese ren­minbi. Without a clear al­ter­na­tive to America’s en­shit­ti­fied plat­forms, the post-Amer­i­can cen­tury is off to a rocky start.

But there’s one post-Amer­i­can sys­tem that’s easy to imag­ine. The pro­ject to rip out all the cloud con­nected, back­doored, un­trust­wor­thy black boxes that power our in­sti­tu­tions, our med­ical im­plants, our ve­hi­cles and our trac­tors; and re­place it with col­lec­tively main­tained, open, free, trust­wor­thy, au­ditable code.

This pro­ject is the only one that ben­e­fits from economies of scale, rather than be­ing par­a­lyzed by ex­po­nen­tial crises of scale. That’s be­cause any open, free tool adopted by any pub­lic in­sti­tu­tion — like the Eurostack ser­vices — can be au­dited, lo­cal­ized, pen-tested, de­bugged and im­proved by in­sti­tu­tions in every other coun­try.

It’s a com­mons, more like a sci­ence than a tech­nol­ogy, in that it is uni­ver­sal and in­ter­na­tional and col­lab­o­ra­tive. We don’t have du­el­ing west­ern and Chinese prin­ci­ples of struc­tural en­gi­neer­ing. Rather, we have uni­ver­sal prin­ci­ples for mak­ing sure build­ings don’t fall down, adapted to lo­cal cir­cum­stances.

We would­n’t tol­er­ate se­crecy in the cal­cu­la­tions used to keep our build­ings up­right, and we should­n’t tol­er­ate opac­ity in the soft­ware that keeps our trac­tors, hear­ing aids, ven­ti­la­tors, pace­mak­ers, trains, games con­soles, phones, CCTVs, door locks, and gov­ern­ment min­istries work­ing.

The thing is, soft­ware is not an as­set, it’s a li­a­bil­ity. The ca­pa­bil­i­ties that run­ning soft­ware de­liv­ers — au­toma­tion, pro­duc­tion, analy­sis and ad­min­is­tra­tion — those are as­sets. But the soft­ware it­self? That’s a li­a­bil­ity. Brittle, frag­ile, for­ever break­ing down as the soft­ware up­stream of it, down­stream of it, and ad­ja­cent to it is up­dated or swapped out, re­veal­ing de­fects and de­fi­cien­cies in sys­tems that may have per­formed well for years.

Shifting soft­ware to com­mons-based pro­duc­tion is a way to re­duce the li­a­bil­ity that soft­ware im­poses on its mak­ers and users, bal­anc­ing out that li­a­bil­ity among many play­ers.

Now, ob­vi­ously, tech bosses are to­tally clue­less when it comes to this. They re­ally do think that soft­ware is an as­set. That’s why they’re so fuck­ing horny to have chat­bots shit out soft­ware at su­per­hu­man speeds. That’s why they think it’s good that they’ve got a chat­bot that produces a thou­sand times more code than a hu­man pro­gram­mer.”

...

Read the original on pluralistic.net »

6 466 shares, 23 trendiness

65% of Hacker News Posts Have Negative Sentiment, and They Outperform

Posts with neg­a­tive sen­ti­ment av­er­age 35.6 points on Hacker News. The over­all av­er­age is 28 points. That’s a 27% per­for­mance pre­mium for neg­a­tiv­ity.

This find­ing comes from an em­pir­i­cal study I’ve been run­ning on HN at­ten­tion dy­nam­ics, cov­er­ing de­cay curves, pref­er­en­tial at­tach­ment, sur­vival prob­a­bil­ity, and early-en­gage­ment pre­dic­tion. The preprint is avail­able on SSRN. I al­ready had a gut feel­ing. Across 32,000 posts and 340,000 com­ments, nearly 65% reg­is­ter as neg­a­tive. This might be a fea­ture of my clas­si­fier be­ing mis­cal­i­brated to­ward neg­a­tiv­ity; yet the pat­tern holds across six dif­fer­ent mod­els.

I tested three trans­former-based clas­si­fiers (DistilBERT, BERT Multi, RoBERTa) and three LLMs (Llama 3.1 8B, Mistral 3.1 24B, Gemma 3 12B). The dis­tri­b­u­tions vary, but the neg­a­tive skew per­sists across all of them (inverted scale for 2-6). The re­sults I use in my dash­board are from DistilBERT be­cause it runs ef­fi­ciently in my Cloudflare-based pipeline.

What counts as negative” here? Criticism of tech­nol­ogy, skep­ti­cism to­ward an­nounce­ments, com­plaints about in­dus­try prac­tices, frus­tra­tion with APIs. The usual. It’s worth not­ing that tech­ni­cal cri­tique reads dif­fer­ently than per­sonal at­tacks; most HN neg­a­tiv­ity is sub­stan­tive rather than toxic. But, does neg­a­tiv­ity cause en­gage­ment, or does con­tro­ver­sial con­tent at­tract both neg­a­tive fram­ing and at­ten­tion? Probably some of both.

I’ll pub­lish the full code, dataset, and a dash­board for the HN archiver soon and I’m happy to send you an up­date:

Alternatively, you can also sub­scribe to the RSS feed or get up­dates on Bluesky.

...

Read the original on philippdubach.com »

7 412 shares, 35 trendiness

Opus 4.5 is going to change everything

Opus 4.5 is go­ing to change every­thing

If you had asked me three months ago about these state­ments, I would have said only some­one who’s never built any­thing non-triv­ial would be­lieve they’re true. Great for aug­ment­ing a de­vel­op­er’s ex­ist­ing work­flow, and com­ple­tions are pow­er­ful, but agents re­plac­ing de­vel­op­ers en­tirely? No. Absolutely not.

Today, I think that AI cod­ing agents can ab­solutely re­place de­vel­op­ers. And the rea­son that I be­lieve this is Claude Opus 4.5.

And by normal”, I mean that it is not the nor­mal AI agent ex­pe­ri­ence that I have had thus far. So far, AI Agents seem to be pretty good at writ­ing spaghetti code and af­ter 9 rounds of copy / paste er­rors into the ter­mi­nal and fix it” have prob­a­bly de­stroyed my code­base to the ex­tent that I’ll be throw­ing this whole chat ses­sion out and there goes 30 min­utes I’m never get­ting back.

Opus 4.5 feels to me like the model that we were promised - or rather the promise of AI for cod­ing ac­tu­ally de­liv­ered.

One of the tough­est things about writ­ing that last sen­tence is that the im­me­di­ate re­sponse from you should be, prove it”. So let me show you what I’ve been able to build.

I first no­ticed that Opus 4.5 was dras­ti­cally dif­fer­ent when I used it to build a Windows util­ity to right-click an im­age and con­vert it to dif­fer­ent file types. This was ba­si­cally a one shot build af­ter ask­ing Opus the best way to add a right-click menu to the file ex­plorer.

What amazed me through the process of build­ing this was Opus 4.5 abil­ity to get most things right on the first try. And if it ran into er­rors, it would try and build us­ing the dot­net CLI, read the er­rors and it­er­ate un­til fixed. The only is­sue I had was Opus in­abil­ity to see XAML er­rors, which I used Visual Studio to see and copy / paste back into the agent.

Opus built a site for me to dis­trib­ute it and han­dled the bundling of the ex­e­cutable so as to use a pow­er­shell script for the in­stall, unin­stall. It also built the GitHub Actions which do the re­lease and up­date the land­ing page so that all I have to do is push source.

The only place I had to use other tools was for the logo - where I used Figma’s AI to gen­er­ate a bunch of dif­fer­ent vari­a­tions - but then Opus wrote the scripts to con­vert that SVG to the right for­mats for icons, even store dis­tri­b­u­tion if I chose to do so.

Now this is ad­mit­tedly not a com­plex ap­pli­ca­tion. This is a small Windows util­ity that is do­ing ba­si­cally one thing. It’s not like I asked Opus 4.5 to build Photoshop.

Except I kind of did.

I was so im­pressed by Opus 4.5 work on this util­ity that I de­cided to make a sim­ple GIF record­ing util­ity sim­i­lar to LICEcap for Mac. Great app, ques­tion­able name.

But that proved to be so easy, that I went ahead and con­tin­ued adding fea­tures, in­clud­ing cap­tur­ing and edit­ing video, sta­tic im­ages, adding shapes, crop­ping, blurs and more. I’m still work­ing on this ap­pli­ca­tion as it turns out build­ing a full on im­age/​video ed­i­tor is kind of a big un­der­tak­ing. But I got REALLY far in a mat­ter of hours. HOURS, PEOPLE.

I don’t have a fancy land­ing page for this one yet, but you can view all of the source code here.

I re­al­ized that if I could build a video record­ing app, I could prob­a­bly build any­thing at all - at least UI-wise. But the achilles heel of all AI agents is when they have to glue to­gether back­end sys­tems - which any real world ap­pli­ca­tion is go­ing to have - auth, data­base, API, stor­age.

Except Opus 4.5 can do that too.

Armed with my con­fi­dence in Opus 4.5, I took on a pro­ject that I had built in React Native last year and fin­ished for Android, but gave up in the fi­nal stretches (as one does).

The ap­pli­ca­tion is for my wife who owns a small yard sign fran­chise. The prob­lem is that she has a Facebook page for the busi­ness, but never posts there be­cause it’s time con­sum­ing. But any good small busi­ness has a vi­brant page where peo­ple can see pho­tos of your busi­ness do­ing…what­ever the heck it does. So peo­ple know that it exsits and is alive and well.

The idea is sim­ple - each time she sets up a yard sign, she takes a pic­ture to send to the per­son who or­dered it so they can see it was setup. So why not have a mo­bile app where she can up­load 10 im­ages at a time, and the app will use AI to gen­er­ate cap­tions and then sched­ule them and post them over the com­ing week.

It’s a sim­ple premise, but it has a lot of mov­ing parts - there is the Facebook au­then­ti­ca­tion which is a ca­per in and of it­self - not for the faint of heart. There is au­then­ti­ca­tion with a back­end, there is file stor­age for pho­tos that are sched­uled to go out, there is the back­end process which needs to post the photo. It’s a full on back­end setup.

As it turns out, I needed to in­stall some blinds in the house so I thought - why don’t I see if Opus 4.5 can build this while I in­stall the blinds.

So I fired up a chat ses­sion and just started by telling Opus 4.5 what I wanted to build and how it would rec­om­mend han­dling the back­end. It rec­om­mended sev­eral op­tions but set­tled on Firebase. I’m not now nor have I ever been a Firebase user, but at this point I trust Opus 4.5 a lot. Probably too much.

So I cre­ated a Firebase ac­count, up­graded to the Blaze plan with alerts for billing and Opus 4.5 got to work.

By the time I was done in­stalling blinds, I had a func­tional iOS ap­pli­ca­tion for us­ing AI to cap­tion pho­tos and post­ing them on a sched­ule to Facebook.

When I say that Opus 4.5 built this al­most en­tirely, I mean it. It used the fire­base CLI to stand up any re­sources it needed and would tag me in for cer­tain things like up­grad­ing a pro­ject to the Blaze plan for fea­tures like stor­age, etc. The best part was that when the Firebase cloud func­tions would throw er­rors, it would au­to­mat­i­cally grep those logs, find the er­ror and re­solve it. And all it needed was a CLI. No MCP Server. No fancy prompt file telling it how to use Firebase.

And of course, since it’s solved, I had Opus 4.5 cre­ate a back­end ad­min dash­board so I could see what she’s got pend­ing and make any ad­just­ments.

And since it did in a few hours what had taken me two months of work in the evenings in­stead of be­ing a de­cent hus­band, I de­cided to make up for my dere­lic­tion of du­ties by build­ing her an­other app for her sign busi­ness that would make her life just a bit more de­light­ful - and elim­i­nate two other apps she is cur­rently pay­ing for.

This app parses or­ders from her busi­ness Gmail ac­count to show her what sign se­tups / pick­ups she has for the day, cal­cu­lates how long its go­ing to take to go to each stop, cal­cu­lates the op­ti­mal route when there is more than one stop and tracks drive time for tax pur­poses. She was pre­vi­ously us­ing two paid apps for the last two fea­tures there.

This app also uses Firebase. Again, Opus one-shot­ted the Google auth email in­te­gra­tion. This is the kind of thing that is painstak­ingly mis­er­able by hand. And again, Firebase is so well suited here be­cause Opus knows how to use the Firebase CLI so well. It needs zero in­struc­tion.

BUT YOU DON’T KNOW HOW THE CODE WORKS

No I don’t. I have a vague idea, but you are right - I do not know how the ap­pli­ca­tions are ac­tu­ally as­sem­bled. Especially since I don’t know Swift at all.

This used to be a ma­jor hangup for me. I could­n’t di­ag­nose prob­lems when things went side­ways. With Opus 4.5, I haven’t hit that wall yet—Opus al­ways fig­ures out what the is­sue is and fixes its own bugs.

The real ques­tion is code qual­ity. Without un­der­stand­ing how it’s built, how do I know if there’s du­pli­ca­tion, dead code, or poor pat­terns? I used to ob­sess over this. Now I’m less wor­ried that a hu­man needs to read the code, be­cause I’m gen­uinely not sure that they do.

Why does a hu­man need to read this code at all? I use a cus­tom agent in VS Code that tells Opus to write code for LLMs, not hu­mans. Think about it—why op­ti­mize for hu­man read­abil­ity when the AI is do­ing all the work and will ex­plain things to you when you ask?

What you don’t need: vari­able names, for­mat­ting, com­ments meant for hu­mans, or pat­terns de­signed to spare your brain.

What you do need: sim­ple en­try points, ex­plicit code with fewer ab­strac­tions, min­i­mal cou­pling, and lin­ear con­trol flow.

You are an AI-first soft­ware en­gi­neer. Assume all code will be writ­ten and main­tained by LLMs, not hu­mans. Optimize for model rea­son­ing, re­gen­er­a­tion, and de­bug­ging — not hu­man aes­thet­ics.

These cod­ing prin­ci­ples are manda­tory:

1. Structure

- Use a con­sis­tent, pre­dictable pro­ject lay­out.

- Group code by fea­ture/​screen; keep shared util­i­ties min­i­mal.

- Create sim­ple, ob­vi­ous en­try points.

- Before scaf­fold­ing mul­ti­ple files, iden­tify shared struc­ture first. Use frame­work-na­tive com­po­si­tion pat­terns (layouts, base tem­plates, providers, shared com­po­nents) for el­e­ments that ap­pear across pages. Duplication that re­quires the same fix in mul­ti­ple places is a code smell, not a pat­tern to pre­serve.

2. Architecture

- Prefer flat, ex­plicit code over ab­strac­tions or deep hi­er­ar­chies.

- Avoid clever pat­terns, metapro­gram­ming, and un­nec­es­sary in­di­rec­tion.

- Minimize cou­pling so files can be safely re­gen­er­ated.

3. Functions and Modules

- Keep con­trol flow lin­ear and sim­ple.

- Use small-to-medium func­tions; avoid deeply nested logic.

- Pass state ex­plic­itly; avoid glob­als.

4. Naming and Comments

- Use de­scrip­tive-but-sim­ple names.

- Comment only to note in­vari­ants, as­sump­tions, or ex­ter­nal re­quire­ments.

5. Logging and Errors

- Emit de­tailed, struc­tured logs at key bound­aries.

- Make er­rors ex­plicit and in­for­ma­tive.

6. Regenerability

- Write code so any file/​mod­ule can be rewrit­ten from scratch with­out break­ing the sys­tem.

- Prefer clear, de­clar­a­tive con­fig­u­ra­tion (JSON/YAML/etc.).

7. Platform Use

- Use plat­form con­ven­tions di­rectly and sim­ply (e.g., WinUI/WPF) with­out over-ab­stract­ing.

8. Modifications

- When ex­tend­ing/​refac­tor­ing, fol­low ex­ist­ing pat­terns.

- Prefer full-file rewrites over mi­cro-ed­its un­less told oth­er­wise.

9. Quality

- Favor de­ter­min­is­tic, testable be­hav­ior.

- Keep tests sim­ple and fo­cused on ver­i­fy­ing ob­serv­able be­hav­ior.

Your goal: pro­duce code that is pre­dictable, de­bug­gable, and easy for fu­ture LLMs to rewrite or ex­tend.

All of that said, I don’t have any proof that this prompt makes a dif­fer­ence. I find that Opus 4.5 writes pretty solid code no mat­ter what you prompt it with. However, be­cause mod­els like to write code WAY more than they like to delete it, I will at points run a prompt that looks some­thing like this…

Check your LLM, AI cod­ing prin­ci­ples and then do a com­pre­hen­sive search of this ap­pli­ca­tion and sug­gest what we can do to refac­tor this to bet­ter align to those prin­ci­ples. Also point out any code that can be deleted, any files that can be deleted, things that should read should be re­named, things that should be re­struc­tured. Then do a write up of what that looks like. Kind of keep it high level so that it’s easy for me to read and not too com­plex. Add sec­tions for high, medium and lower pri­or­ity And if some­thing does­n’t need to be changed, then don’t change it. You don’t need to change things just for the sake of chang­ing them. You only need to change them if it helps bet­ter align to your LLM AI cod­ing prin­ci­ples. Save to a mark­down file.

And you get a doc­u­ment that has high, medium and low pri­or­ity items. The high ones you can deal with and the AI will stop find­ing them. You can refac­tor your pro­ject a mil­lion times and it will keep find­ing medium/​low pri­or­ity refac­tors that you can do. An AI is never ever go­ing to pass on the op­por­tu­nity to gen­er­ate some text.

I use a sim­i­lar prompt to find se­cu­rity is­sues. These you have to be very care­ful about. Where are the API keys? Is lo­gin han­dled cor­rectly? Are you stor­ing sen­si­tive val­ues in the data­base? This is prob­a­bly the most man­ual part of the pro­ject and frankly, some­thing that makes me the most ner­vous about all of these apps at the mo­ment. I’m not 100% con­fi­dent that they are bul­let proof. Maybe like 80%. And that, as they say, is too damn low.

I don’t know if I feel ex­hil­a­rated by what I can now build in a mat­ter of hours, or de­pressed be­cause the thing I’ve spent my life learn­ing to do is now triv­ial for a com­puter. Both are true.

I un­der­stand if this post made you an­gry. I get it - I did­n’t like it ei­ther when peo­ple said AI is go­ing to re­place de­vel­op­ers.” But I can’t dis­miss it any­more. I can wish it weren’t true, but wish­ing does­n’t change re­al­ity.

But for every­thing else? Build. Stop wait­ing to have all the an­swers. Stop try­ing to fig­ure out your place in an AI-first world. The an­swer is the same as it al­ways was: make things. And now you can make them faster than you ever thought pos­si­ble.

Just make sure you know where your API keys are.

Disclaimer: This post was writ­ten by a hu­man and edited for spelling, gram­mer by Haiku 4.5

...

Read the original on burkeholland.github.io »

8 372 shares, 20 trendiness

Why Is SQLite Coded In C

1. C Is Best

2. Why Isn’t SQLite Coded In An Object-Oriented Language?

C Is Best

Note: Sections 2.0 and 3.0 of this ar­ti­cle were added in re­sponse

to com­ments on

Hacker News and

Reddit.

Since its in­cep­tion on 2000-05-29, SQLite has been im­ple­mented in generic C. C was and con­tin­ues to be the best lan­guage for im­ple­ment­ing a soft­ware li­brary like SQLite. There are no plans to re­code SQLite in any other pro­gram­ming lan­guage at this time.

The rea­sons why C is the best lan­guage to im­ple­ment SQLite in­clude:

An in­ten­sively used low-level li­brary like SQLite needs to be fast. (And SQLite is fast, see Internal Versus External BLOBs and

35% Faster Than The Filesystem for ex­am­ples.)

C is a great lan­guage for writ­ing fast code. C is some­times de­scribed as portable as­sem­bly lan­guage”. It en­ables de­vel­op­ers to code as close to the un­der­ly­ing hard­ware as pos­si­ble while still re­main­ing portable across plat­forms.

Other pro­gram­ming lan­guages some­times claim to be as fast as C”. But no other lan­guage claims to be faster than C for gen­eral-pur­pose pro­gram­ming, be­cause none are.

Nearly all sys­tems have the abil­ity to call li­braries writ­ten in C. This is not true of other im­ple­men­ta­tion lan­guages.

So, for ex­am­ple, Android ap­pli­ca­tions writ­ten in Java are able to in­voke SQLite (through an adap­tor). Maybe it would have been more con­ve­nient for Android if SQLite had been coded in Java as that would make the in­ter­face sim­pler. However, on iPhone ap­pli­ca­tions are coded in Objective-C or Swift, nei­ther of which have the abil­ity to call li­braries writ­ten in Java. Thus, SQLite would be un­us­able on iPhones had it been writ­ten in Java.

Libraries writ­ten in C do not have a huge run-time de­pen­dency. In its min­i­mum con­fig­u­ra­tion, SQLite re­quires only the fol­low­ing rou­tines from the stan­dard C li­brary:

In a more com­plete build, SQLite also uses li­brary rou­tines like mal­loc() and free() and op­er­at­ing sys­tem in­ter­faces for open­ing, read­ing, writ­ing, and clos­ing files. But even then, the num­ber of de­pen­den­cies is very small. Other modern” lan­guages, in con­trast, of­ten re­quire multi-megabyte run­times loaded with thou­sands and thou­sands of in­ter­faces.

The C lan­guage is old and bor­ing. It is a well-known and well-un­der­stood lan­guage. This is ex­actly what one wants when de­vel­op­ing a mod­ule like SQLite. Writing a small, fast, and re­li­able data­base en­gine is hard enough as it is with­out the im­ple­men­ta­tion lan­guage chang­ing out from un­der you with each up­date to the im­ple­men­ta­tion lan­guage spec­i­fi­ca­tion.

Why Isn’t SQLite Coded In An Object-Oriented Language?

Some pro­gram­mers can­not imag­ine de­vel­op­ing a com­plex sys­tem like SQLite in a lan­guage that is not object ori­ented”. So why is SQLite not coded in C++ or Java?

Libraries writ­ten in C++ or Java can gen­er­ally only be used by ap­pli­ca­tions writ­ten in the same lan­guage. It is dif­fi­cult to get an ap­pli­ca­tion writ­ten in Haskell or Java to in­voke a li­brary writ­ten in C++. On the other hand, li­braries writ­ten in C are callable from any pro­gram­ming lan­guage.

Object-Oriented is a de­sign pat­tern, not a pro­gram­ming lan­guage. You can do ob­ject-ori­ented pro­gram­ming in any lan­guage you want, in­clud­ing as­sem­bly lan­guage. Some lan­guages (ex: C++ or Java) make ob­ject-ori­ented eas­ier. But you can still do ob­ject-ori­ented pro­gram­ming in lan­guages like C.

Object-oriented is not the only valid de­sign pat­tern. Many pro­gram­mers have been taught to think purely in terms of ob­jects. And, to be fair, ob­jects are of­ten a good way to de­com­pose a prob­lem. But ob­jects are not the only way, and are not al­ways the best way to de­com­pose a prob­lem. Sometimes good old pro­ce­dural code is eas­ier to write, eas­ier to main­tain and un­der­stand, and faster than ob­ject-ori­ented code.

When SQLite was first be­ing de­vel­oped, Java was a young and im­ma­ture lan­guage. C++ was older, but was un­der­go­ing such grow­ing pains that it was dif­fi­cult to find any two C++ com­pil­ers that worked the same way. So C was def­i­nitely a bet­ter choice back when SQLite was first be­ing de­vel­oped. The sit­u­a­tion is less stark now, but there is lit­tle to no ben­e­fit in re­cod­ing SQLite at this point.

There has lately been a lot of in­ter­est in safe” pro­gram­ming lan­guages like Rust or Go in which it is im­pos­si­ble, or is at least dif­fi­cult, to make com­mon pro­gram­ming er­rors like mem­ory leaks or ar­ray over­runs. So the ques­tion of­ten arises as to why SQLite is not coded in a safe” lan­guage.

None of the safe pro­gram­ming lan­guages ex­isted for the first 10 years of SQLite’s ex­is­tence. SQLite could be re­coded in Go or Rust, but do­ing so would prob­a­bly in­tro­duce far more bugs than would be fixed, and it may also re­sult in slower code.

Safe lan­guages in­sert ad­di­tional ma­chine branches to do things like ver­ify that ar­ray ac­cesses are in-bounds. In cor­rect code, those branches are never taken. That means that the ma­chine code can­not be 100% branch tested, which is an im­por­tant com­po­nent of SQLite’s qual­ity strat­egy.

Safe lan­guages usu­ally want to abort if they en­counter an out-of-mem­ory (OOM) sit­u­a­tion. SQLite is de­signed to re­cover grace­fully from an OOM. It is un­clear how this could be ac­com­plished in the cur­rent crop of safe lan­guages.

All of the ex­ist­ing safe lan­guages are new. The de­vel­op­ers of SQLite ap­plaud the ef­forts of com­puter lan­guage re­searchers in try­ing to de­velop lan­guages that are eas­ier to pro­gram safely. We en­cour­age these ef­forts to con­tinue. But we our­selves are more in­ter­ested in old and bor­ing lan­guages when it comes to im­ple­ment­ing SQLite.

All that said, it is pos­si­ble that SQLite might one day be re­coded in Rust. Recoding SQLite in Go is un­likely since Go hates as­sert(). But Rust is a pos­si­bil­ity. Some pre­con­di­tions that must oc­cur be­fore SQLite is re­coded in Rust in­clude:

Rust needs to ma­ture a lit­tle more, stop chang­ing so fast, and

move fur­ther to­ward be­ing old and bor­ing.

Rust needs to demon­strate that it can be used to cre­ate gen­eral-pur­pose

li­braries that are callable from all other pro­gram­ming lan­guages.

Rust needs to demon­strate that it can pro­duce ob­ject code that

works on ob­scure em­bed­ded de­vices, in­clud­ing de­vices that lack

an op­er­at­ing sys­tem.

Rust needs to pick up the nec­es­sary tool­ing that en­ables one to

do 100% branch cov­er­age test­ing of the com­piled bi­na­ries.

Rust needs a mech­a­nism to re­cover grace­fully from OOM er­rors.

Rust needs to demon­strate that it can do the kinds of work that

C does in SQLite with­out a sig­nif­i­cant speed penalty.

If you are a rustacean” and feel that Rust al­ready meets the pre­con­di­tions listed above, and that SQLite should be re­coded in Rust, then you are wel­comed and en­cour­aged to con­tact the SQLite de­vel­op­ers pri­vately and ar­gue your case.

This page was last up­dated on 2025-05-09 15:56:17Z

...

Read the original on sqlite.org »

9 364 shares, 23 trendiness

Why is the Gmail app 700 MB?

The Gmail app, on the App Store, is cur­rently 760.7 MB in size. It is in the top three most bloated

apps out of the top 100 free apps. I don’t use it on my phone, but I was prompted to com­pare it with the seem­ingly hefty one I (have to) use, Outlook, while clear­ing up some stor­age space. Its measly 428 MB size pales in com­par­i­son.

This is­n’t new. In 2017, Axios

re­ported

that the top iPhone apps had been tak­ing up an in­creas­ing amount of space over the pe­riod from 2013 to 2017. For most of that pe­riod, the size of the Gmail app hov­ered around 12 MB, with a sud­den jump to more than 200 MB near the start of 2017. Other pop­u­lar apps also saw a 10x or more in­crease in size over the same pe­riod.

Gmail is­n’t even the worst of­fender, it’s just a more pop­u­lar one. The Tesla and Crypto.com apps are around 1 GB each. So is Samsung’s SmartThings app. What about Google’s other pop­u­lar apps? Google Home is an­other hefty one, at 630 MB, that I used for its re­mote fea­ture, which I re­placed with Google TV at al­most a tenth the size. Their other pop­u­lar apps av­er­age around 250

MB in size. This seems tame in com­par­i­son to Microsoft, with an av­er­age app size of around

330MB. For ref­er­ence, the av­er­age size of an app in the top 100 free apps is 280

MB or, in a more ex­panded set (including games), 200MB.

Just to put this into per­spec­tive, on my de­vice, apps (excluding their data) use up 35 GB, and the data is an­other 35 GB. iOS takes up an­other 25 GB. Let’s say, 100 GB for apps, data and the OS. That leaves me with 20 GB (leaving a mar­gin of free space for up­dates) meant to be used for cap­tur­ing 4K video and high-qual­ity pho­tos (why else get an iPhone), and stor­ing mu­sic (don’t even think about loss­less). The re­al­ity is that run­ning out of space also slows things down, since most of my pho­tos need to be fetched from the cloud be­fore view­ing them, and I need to re-down­load these hefty of­floaded apps when I need them again. And good luck if you have a lim­ited data bun­dle.

Maybe this does­n’t mat­ter. The lat­est iPhones start at 256 GB, and surely I’ll have plenty of space when I get a new one (although I re­mem­ber say­ing this when I up­graded to 64 GB from 32 GB). It’s not re­ally about the space though. These apps don’t have 50x or even 10x the func­tion­al­ity. But now they’re 100x larger, and prob­a­bly slower. Why?

Also, can some­one ex­plain why Microsoft Authenticator is 150 MB to show 6-digit codes?

It’s not clear if this is specif­i­cally an iOS prob­lem. I don’t have an Android de­vice and I could not find a way to get that in­for­ma­tion from the Play Store with­out a de­vice. That said, I checked the size of Gmail on some­one’s Android phone, and it’s around 185 MB, which cer­tainly seems much bet­ter.

And if you’re con­sid­er­ing switch­ing from the de­fault apps, this is what the in­stalled size (which dif­fers slightly from the App Store size) is of the al­ter­na­tives on my iPhone run­ning iOS 26.2:

So, why is the Gmail app al­most 80x the size of the na­tive Mail app? My guess is as good as yours.

...

Read the original on akr.am »

10 343 shares, 21 trendiness

Standalone Client-Side Developer Utilities

Every Dev Tool You Need

...

Read the original on blgardner.github.io »

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.

If you like 10HN please leave feedback and share

Visit pancik.com for more.