Josse-posten

The Gulf war enters its second day as Iran fires on three Arab states; NATO hands Kyiv a Patriot licence and €70bn; and Ukraine’s deep-strike campaign reaches ever further into Russia.

US and Iran threaten return to war after fiercest exchange since the truce

Smoke rises from a port near the Strait of Hormuz following US strikes.

The US launched a second wave of airstrikes across Iran — Bushehr, Chabahar, Bandar Abbas and Jask — after Iran struck three commercial tankers in the Strait of Hormuz on Tuesday. Iran retaliated by firing on Bahrain, Kuwait and Qatar, widening the conflict across the Gulf. Iranian officials say two days of US strikes have killed at least 14 and wounded 78. Trump declared the interim ceasefire “over,” calling the strikes “retribution” — and told reporters he is “not sure” he wants a deal at all, his administration pivoting toward securing Hormuz rather than negotiating an end. BBC’s Jeremy Bowen assesses that, for all the bluster, Trump has no better option than talks.

NATO Ankara: a Patriot licence, €70bn, and Erdogan’s gun gifts

Zelensky meets Trump on the sidelines of the NATO summit in Ankara, 8 July 2026. Photo: Saul Loeb / AFP via Getty Images.

Trump closed the Ankara summit with a cascade of moves: he told Ukraine it can build Patriot air-defence systems itself (“make them yourself”), with production possible in two to three months; ordered a cutoff of all US trade with Spain, a “wasted cause”; and revived his interest in annexing Greenland. The summit declaration commits €70bn in military aid to Ukraine for 2026; Germany will co-produce Ukraine’s Bars jet-powered strike drone — the weapon used against Moscow — and NATO upgraded its Baltic Air Policing to a full air-defence role with authority to shoot down threats. Norway led a €268m Patriot consortium under PURL. Host Erdogan handed pistols to every leader — Canada’s Carney turned his over to the RCMP. Ukraine, meanwhile, rejected a reported US 28-point peace plan requiring withdrawal from Donbas.

Ukraine’s deep strikes reach 1,500 km into Russia

A column of smoke rises from an oil storage facility struck by Ukrainian drones. Photo: Telegram/Exilenova+.

Overnight July 8–9, Ukrainian drones hit oil depots in Tver and Stavropol Krai; the previous night’s strikes reached the TAIF-NK refinery in Tatarstan (1,115 km from the border), the Saratov refinery, a Transneft pumping station 1,500 km deep in Bashkortostan, and the Borisoglebsk airfield, where Su-34, Su-35 and Su-30 aircraft were confirmed on fire. Kyiv also disclosed Operation Auchan Phase 2 — a June campaign using a purpose-built munition that destroyed 171 of 231 targeted Russian artillery systems, continuing a monthly trajectory of 1,447 → 1,834 → 2,043 → 2,053 systems struck. A Russian Su-35 was downed over the eastern front. (More in Ukraine.)

Indicator Value Change
S&P 500 (f) 7,551 +0.29%
Dow 30 (f) 52,680 +0.11%
Nasdaq (f) 29,653 +0.63%
Russell 2000 (f) 2,981 +0.33%
VIX 16.6 −1.66%
Gold 4,115 +0.80%
BTC $62,821 −0.02%
EUR/USD 1.1437 +0.13%
USD/NOK 9.78 +0.19%
  • Gold +0.80% — safe-haven bid as the US-Iran conflict widens across the Gulf and tankers come under fire (see World).
  • US futures still green and VIX down despite the escalation and the IMF’s fresh 2026 growth downgrade — markets not yet pricing serious risk-off.

World

Denmark and Greenlanders reject Trump’s renewed annexation push

Denmark’s prime minister answered Trump’s latest Greenland overtures by declaring the country ready to defend “every inch of NATO, including the Danish kingdom.” In Greenland, residents flatly rejected the renewed US push for control of the island — a dual rebuff to the interest Trump revived at Ankara.

Trump to remove Syria from the state-sponsor-of-terrorism list

At the Ankara summit Trump declared he will strike Syria from the US state-sponsor-of-terrorism designation — a significant diplomatic shift that could accelerate Syria’s reintegration into international finance and unlock reconstruction aid, following the collapse of the Assad regime.

Aid worker who organised Gaza World Cup screenings killed in Israeli strike

Mohamed al-Wahidi, a Palestinian aid worker who had set up public screenings of World Cup matches for displaced Gazans, was killed when an Israeli missile struck his taxi shortly before Egypt played Argentina in the Round of 16. Hundreds of displaced Palestinians had gathered to watch on screens he assembled amid the rubble; his death drew international attention as a symbol of life — and loss — in the ongoing conflict.

Cuba protests third nationwide blackout as DRC Ebola deaths hit 600

Coffins outside Rwampara General Hospital, DRC. Photo: Reuters/Gradel Muyisa Mumbere.

Cubans took to the streets after the island’s third nationwide power failure of 2026, venting anger in increasingly rare open demonstrations as the grid deteriorates under fuel shortages; officials claimed power was “mostly restored.” In the Democratic Republic of Congo, confirmed Ebola deaths reached 600 — a crisis compounded by healthcare workers threatening to strike over delayed salaries, risking the collapse of containment at the worst possible moment.

IMF cuts 2026 global growth forecast to 3%, citing Iran war fallout

The IMF revised its global growth forecast down to 3% for 2026, pointing to the energy shock from the US-Iran conflict as the primary driver; demand for AI infrastructure only partly offsets the blow. Oil rose more than a dollar a barrel on the latest strikes, stocks fell worldwide, and the Federal Reserve faces added pressure on an already uncertain inflation outlook.

The Economist: a leading Russian oligarch breaks ranks

The Economist profiles a prominent Russian oligarch now speaking out publicly about the country’s trajectory, warning of a “looming disaster.” Such open dissent from within the business elite is extremely rare under the current environment and may signal growing fractures in elite consensus around the war and Russia’s economic direction.

Platner drops Maine Senate race after rape allegation, exposing party rifts

Graham Platner, the Democratic nominee challenging Republican Susan Collins in a must-win race for the party’s Senate hopes, suspended his campaign after a woman accused him of sexual assault. Top Democrats withdrew support within days. Platner denied all charges as “categorically false” but said “for the movement to continue, it can’t be me” — his exit laying bare sharp tensions between the party’s progressive and moderate wings.

ICC reports breakthrough in Sudan war crimes probe after three years

The International Criminal Court told the BBC it has achieved a significant breakthrough in its three-year investigation into atrocities in Darfur. No details were disclosed, but the development suggests meaningful progress in a case that had appeared stalled amid ongoing conflict and witness-access barriers.

BBC

Also today

Americas
Trump will ask the Supreme Court to rehear its June ruling upholding birthright citizenship, citing a Fox report on a Texas hospital’s cross-border maternity marketing — a rehearing is rarely granted — Guardian · Al Jazeera
Caribbean
UK’s top judges hear an appeal testing whether Trinidad and Tobago could reinstate colonial-era anti-gay laws — major implications for LGBTQ+ rights under Privy Council jurisdiction — Guardian
Asia-Pacific
Meta to build a $13bn data centre in Alberta, its first in Canada — CTV
Australia and India sign a major uranium deal as Modi visits Melbourne; Albanese calls the relationship “more consequential than ever” — Guardian
Europe
European Parliament condemns Zelensky for naming a military unit after UPA figures, reviving contested WWII-era history — Euronews/Reddit
UK police arrest activists at an Israeli-owned drone-engine plant — Al Jazeera
Western Europe records its hottest June ever, 3°C above average, as the UK enters a new heatwave — Guardian
A German palliative-care doctor jailed for life for murdering 15 patients, with more deaths suspected — BBC
A teenager arrested after two 13-year-old girls were seriously injured in an attack at a Bavarian school — BBC
Disasters
A landslide killed seven children and a teacher at a Rohingya refugee school in Cox’s Bazar during monsoon rains — Al Jazeera · BBC
Wreckage of a K2 Airways Boeing 737 cargo plane found off Karachi; five crew still missing — Guardian
Science
International timekeepers to vote on replacing the leap second with a once-in-centuries “leap hour” — a change that would ripple through time-critical software worldwide — Scientific American

Ukraine

Azov tanker campaign reaches new scale; Russia bans diesel exports

Ukraine struck 19+ Russian vessels — shadow-fleet tankers, a cargo ship and a ferry — in 72 hours in the Azov Sea, plus the Suezmax tanker Blue off occupied Yalta. With the M-14 road link destroyed, Russia has shifted Crimea’s fuel supply entirely to seaborne transport via Mariupol and Berdyansk — now itself under sustained attack. The crisis has gone structural: Russia has banned diesel exports and begun importing fuel. To counter Ukraine’s Starlink-guided drones, Russia is fielding “Volna Kupol Garant” EW jammers and reportedly has found an effective method to jam Starlink terminals — a significant battlefield development given the system’s centrality to Ukrainian operations. Separately, a State Duma lawmaker drew international condemnation for calling for half of Ukraine’s population to be killed.

Frontline: Ukrainian gain in Zaporizhia, Russian push north of Kharkiv

Ukraine pushed forward near Stepnohirsk in western Zaporizhia and liberated Novokhatske in Donetsk; Russian forces made a localised advance north of Kharkiv City. Pokrovsk remains the most contested sector with 38 assaults on July 8 alone (268 clashes along the line). At Kostyantynivka, Russia has lost an estimated 1,200 soldiers fighting for the single settlement of Rusyn Yar without capturing it — a Ukrainian brigade commander reports 10–15 mechanised assaults over three months with zero territorial gain, yet Russian company commanders keep ordering attacks.

Norge

VM-feber tar Norge — 180 minutter fra finale

Norges landslag er klar for kvartfinale i VM 2026 etter å ha slått Brasil i åttedelsfinalen — og hele Reddit-Norge er fullstendig oppslukt. Trådene domineres av nervøsitet, galgenhumor og voksende tro («England hvem?»). Internasjonalt strømmer sympatiene inn: brasilianske fans unnskylder Neymars oppførsel, Bangladeshs ambassadør leder vikingklapp på tribunen, og finske fans klager over at all medieoppmerksomhet går til Norge. FIFA-skandalen henger med: Norge skal igjen ha fått muggne, røykfylte og støyende hotellrom i Miami. Noen uroer seg over at turneringen virker «rigget» etter kontroversielle dommeravgjørelser i Brasil-kampen, men majoriteten er i full festrus.

Anonym «henging-ut»-nettside treffer Norge — anmeldelse henlagt

Montasje som viser anonyme anklager på den omstridte nettsiden.

En internasjonal nettside der hvem som helst anonymt kan anklage andre for voldtekt, overgrep og pedofili har fått fotfeste i Norge og omtalt flere hundre nordmenn. En av de uthengte anmeldte saken til politiet — anmeldelsen ble henlagt 19. juni «på grunn av manglende opplysninger om gjerningsperson». Vedkommende sier de har «mistet tilliten». Parallelt pågår en beslektet debatt på r/norge om en Facebook-gruppe der kvinner legger ut menn med navn, bosted og yrke etter dårlige datingopplevelser — tråden trekker sammenligninger med Mannegruppa Ottar-saken og stiller spørsmål om digital selvtekt og ytringsfrihet.

Også i dag

  • To hvite elger — en elgku og kalven hennes — fotografert i en lupineng i Finnskogen; svært sjeldne og nær mytiske i norsk natur — NRK Innlandet · r/norge
  • Brukt elbil solgt med lovnad om 150–200 km sommerrekkevidde viste seg å ha 36 km; selger frifunnet i forliksrådet, men saken kan ha gode utsikter høyere opp — motor.no · r/norge
  • Oslo utenfor topp 10 i EIUs Global Liveability Index 2026; København er verdens mest beboelige by for andre år på rad — BBC Travel · r/oslo

Tech

TypeScript 7 rewrites the compiler in Go — builds 8–12× faster

Compile-time improvements from TypeScript 6 to 7 across real-world projects — 7.7× to 11.9× faster.

TypeScript 7 is a complete compiler rewrite in Go, delivering 8–12× build speedups: a full VS Code build drops from 125.7s to 10.6s. New --checkers and --builders flags give fine-grained control over parallel execution, and file-watching is replaced with a port of Parcel’s watcher. Breaking changes to note: strict: true is now the default, types defaults to [] instead of auto-discovery, and JSDoc quirks like @enum recognition are removed. The biggest TypeScript release in years — migration work, but enormous gains for large codebases.

Bun rewrites from Zig to Rust — Claude did the mechanical porting in 11 days

Production telemetry: Claude Code startup improves from 517ms (Zig) to 464ms (Rust) — 10% faster.

Bun is migrating from Zig to Rust to eliminate a class of memory-safety bugs — use-after-free, double-free and missed frees in error paths, a persistent hazard given the interplay between GC’d JavaScript values and manually managed memory. Rather than a traditional rewrite, Jarred Sumner used Claude in adversarial code-review loops to port the codebase over 11 days, with separate Claude instances reviewing for bugs across multiple worktrees. The result: 128 bug fixes in the first Rust release, a ~20% smaller binary, a 2–5% performance gain from cross-language LTO, and automatic cleanup via Rust’s Drop trait eliminating whole classes of future bugs.

The best WebAssembly runtime may still be no runtime at all

An analysis of the wasm2c/w2c2 approach — compiling .wasm to C and using a standard native compiler — finds it can match or beat Wasmtime and Wasmer on throughput (0.887× Wasmer’s execution time on geometric mean), with dramatically lower memory overhead: a couple of MB versus tens of MB for dedicated runtimes. Wide-arithmetic support proved surprisingly easy via compiler carry intrinsics and 128-bit integers. It only works for pre-compiled, trusted modules — no dynamic loading of untrusted Wasm — but for embedded or constrained deployments it’s compelling.

Odin hits 1.0 — and the case against signed-integer defaults

Odin — a low-level systems language pitched as a principled C alternative, with a clean type system, explicit memory management and no hidden control flow — has reached 1.0, marking it production-ready. Circulating alongside it on Lobsters is graphitemaster’s 2022 essay “Almost Always Unsigned,” which argues the opposite of Odin’s recently-covered signed-by-default stance: that unsigned integers, with their natural wrapping semantics, better match what systems code actually needs. A clean counterpoint to read against the Odin design rationale.

Unicode’s transliteration rules (UTS#35) are Turing-complete

Nicolas Seriot demonstrates that Unicode’s UTS#35 transliteration rules — meant for simple transforms like é→e — are Turing-complete. The mechanism: unbounded rewriting with a cursor that revisits newly written text, enabling loops. The proof compiles 2-tag systems (proven universal in 1964) into transliteration rules; just three rules compute the Collatz function. The security implication is real: transliteration config accepted from external sources should be treated as code requiring review, not inert locale data. ICU caps rewrites at 16 per code point, but the spec defines no limit — and browsers, databases and operating systems all use ICU.

Former OpenMandriva contributor deliberately sabotaged its repositories

OpenMandriva issued a statement describing an attempted sabotage of its distribution repositories by a former contributor — a stark example of the insider-threat problem in open source, where the contributor trust and commit access essential to the model are also a structural vulnerability.

Also today

Dev tools
Drew DeVault makes the case for an AI-free fork of Vim — a counterpoint to the trend of AI-infused editors — interview · Lobsters
Databricks benchmarks current coding agents against its actual multi-million-line production codebase — honest signal on where agents degrade — Databricks · HN
Yorick Peterse on funding open source without compromising it — how different funding models create different captures — yorickpeterse.com · Lobsters
Runtimes
NASA/JPL open-sources SpaceWASM, a Wasm interpreter for onboard spacecraft command sequencing — deterministic, sandboxed, portable — GitHub · Lobsters
Policy & science
The FTC secures a right-to-repair settlement with John Deere, forcing access to diagnostic software — a precedent for software-locked hardware — AP · HN
A funnel-web spider venom peptide kills Varroa mites without harming bees — a potential breakthrough for pollinator health — ConnectSci · HN
Retro & fun
LisaFPGA implements a full Apple Lisa (1983) in an FPGA, with a custom PCB and USB keyboard support — GitHub · Lobsters
An Akamai “Peace for All” Uniqlo t-shirt has a real base64 bash script on the back that renders a scrolling ♥PEACE♥FOR♥ALL♥ sine-wave in the terminal — tris.sherliker.net · Lobsters

Linux & Infrastructure

DankMaterialShell 1.5 “The Wolverine”: Frame Mode, Tailscale, Display Profiles

DMS 1.5 Frame Mode — the new connected-surface UI unifying bar, dock, popouts and modals into one shell.

The largest DMS release to date lands Frame Mode, a connected-surface UI that unifies the bar, dock, popouts and modals into one coherent shell. Also new: a native calendar backend (Google/MS/CalDAV/iCloud), Display Profiles that auto-switch monitor layouts on connect/disconnect (with fractional-scaling presets for Hyprland), a Window Rules Manager GUI, a Spotlight launcher, native Tailscale controls in Control Center, and a Material 3 shadow rework. Hyprland config now deploys as Lua by default. Supports Hyprland, Niri and MangoWM.

phone-deck: a spare Android phone becomes a Hyprland cockpit over Tailscale

phone-deck is a self-hosted PWA that runs fullscreen on a spare Android phone and drives a Hyprland rig over a private Tailscale network (served via tailscale serve for in-tailnet HTTPS only). It handles workspace management, a virtual trackpad/keyboard, WebRTC screen streaming with tap-to-control remote desktop, push-to-talk with a local Ollama/Qwen LLM for voice commands, scene macros for one-tap layout switching, and phone-to-PC file drops. A root helper daemon (deckd) gates privileged actions via an allowlist.

2025 NixOS Community Survey: 3,399 responses, flakes at 79%

The annual survey drew 3,399 respondents, a 48% increase over 2024. Flakes adoption sits at 78.9% and the new CLI at 66.7% — and both also top the improvement wishlist (flakes 50.3%, error messages 47.6%, docs 41.5%). Over 28% of respondents started using Nix within the past year, and 70.8% discovered NixOS before Nix itself, with YouTube the dominant on-ramp at 28.3%. Results now have a permanent home at nixos.org/surveys.

NixOS 26.05 initrd change breaks Impermanence + SOPS and Hyprland-from-SDDM

NixOS 26.05 made systemd-initrd the default boot method — and it’s breaking two common stacks. Persisting /etc/ssh for SOPS age-key decryption in tmpfs-root (Impermanence) setups now triggers an initrd race that causes a silent boot hang with no error; a Redditor who debugged it shared a working workaround. Separately, users upgrading from 25.11 report Hyprland freezing at the manufacturer splash after SDDM login, apparently linked to the same initrd changes. Worth reading both threads before you upgrade.

Also today

Wayland shells
Nebula-Shell — early-stage Wayland bar framework, Vala/GTK4 core with YAML+Lua config, targeting 0% idle CPU between Waybar and Quickshell — GitHub · r/hyprland
Tooling
edgepad — a Rust daemon turning touchpad edges into configurable command zones, shipping NixOS and Home Manager modules out of the box — Discourse · GitHub
mwb-linux — a headless Go client for PowerToys Mouse Without Borders; single 5 MB binary, AES-256 keyboard/mouse/clipboard sharing with Windows via uinputGitHub · r/commandline
nixos-container (systemd-nspawn) as Docker-free throwaway dev environments — ~5s boot, fully declarative, NixOS-native — r/NixOS
A full NixOS kernel-hardening + tamper-proof auditd config where root can’t delete the audit logs — r/NixOS
Self-hosted
Wealthfolio 3.6 — the local-first investment tracker expands into a full personal-finance app with net worth, spending analysis, FIRE simulations and SSO — wealthfolio.app · r/selfhosted
The jellyfin-plugin-sso repo is archived with no native replacement in sight; the core team has signalled no interest in building SSO — r/selfhosted
Home Assistant
An Ökoboiler heat-pump water heater with no WiFi integrated into HA by tapping its serial bus and reverse-engineering the protocol — r/homeassistant
ESPHome devices as Bluetooth proxies, relaying BLE advertisements over WiFi to HA — cheap ESP32 boards become range extenders with a config change — r/homeassistant
Community
Nix Vegas 2026 — the Nix community heads to DEF CON 34 under the theme “Escape Your Fate”; CFP open, shirts incoming — Discourse · r/Nix
cd ~/repos/josse-posten && claude --resume 4aec191b-6ca2-45e9-b91f-f830b075e5c5