The war turns to pipelines and gasfields — and Norway feels the
heat.
The Gasfield War
Israel struck Iran’s South Pars — the world’s largest natural
gasfield. Hours later, Iran retaliated against Qatar’s Ras Laffan, the
world’s largest LNG export terminal, causing “extensive damage.” Oil
crossed $110; analysts now float $200 if Hormuz stays closed. Trump
threatened to “blow up” the entire South Pars complex if Iran strikes
Qatar again. The Gulf states are turning: Saudi Arabia warned its
patience is “not unlimited” and hinted at activating its defense pact
with Pakistan. Day 20 of a war that started with targeted strikes and is
now dismantling global energy infrastructure.
Third Kill in 24 Hours
Esmail Khatib, Iran’s intelligence minister, became the third senior
Iranian official killed by Israel in a single day. The decapitation
campaign is systematic — but Iran’s new supreme leader has rejected all
de-escalation proposals, and the diplomatic off-ramps are
disappearing.
Norway Feels It
Gas prices jumped over 30% overnight. The government’s “Norgespris”
electricity subsidy has already burned through 70% of its annual budget
in two months. Meanwhile, Norway holds only 20 days of fuel reserves —
Sweden and Finland hold 90. An extraordinary Council of State was held
at the Palace on Wednesday; officials declined to comment on what was
discussed.
Also today: Ukraine struck two Russian aviation
facilities, potentially hitting A-50 AWACS aircraft. GNOME 50 shipped
with parental controls and HDR. Anthropic surveyed 81,000 users on what
they want from AI.
Markets
| Oil |
~$110 (+2.4%) |
| S&P 500 |
−1.4% |
| Gold |
−3.2% |
| USD/NOK |
10.82 |
| BTC |
$70,195 |
Fed holds rates amid war-driven inflation fears.
World
2026-03-19
Iran War — Day 20
Rest of the World
Pakistan
strikes Kabul rehab center killing hundreds, then pauses for
Eid (The Guardian) — Five-day cessation announced
as mass funeral held. Monday’s airstrike on a drug rehabilitation centre
was one of the deadliest single attacks in years.
Hungary’s
Orbán faces EU pressure over €90bn Ukraine loan veto
(The Guardian) — German Chancellor urges EU to bypass Hungary.
Orbán shows no sign of backing down at Thursday summit. (Also
covered in Ukraine)
Canada
records first annual population decline on record
(Globe and Mail via Reddit) — Historic reversal after years of
immigration-driven growth.
Iceland
could become EU member in 2028, minister says
(Reuters) — Potential fast-track accession amid shifting
European security landscape.
Cesar
Chavez accused of sexual abuse and rape (NPR) | BBC
World — NYT investigation alleges the late labor leader abused
girls and raped Dolores Huerta, his longtime organizing partner. Events
in his honor being cancelled.
Cuba’s
grid collapses as Russia sends tankers defying US blockade
(Moscow Times) | BBC
World — Entire national electric grid collapsed days ago. The
Economist argues a “dirty deal” with Cuba would be better than a
prolonged blockade risking humanitarian crisis.
Category
5 Tropical Cyclone Narelle to hit Queensland Friday
(The Guardian) — 315 km/h wind gusts expected. Residents in
Cape York sandbagging and stockpiling as massive storm
approaches.
Damaged
Russian LNG tanker drifts into Libyan waters, raising ecological
disaster fears (The Guardian) — Vessel struck by
suspected drone attack two weeks ago continues drifting in
Mediterranean.
Jihadist
violence surges in Nigeria and DRC even as global terror deaths
fall (The Guardian) — Nigeria had largest increase
in terrorism-related deaths, now ranks fourth globally behind Pakistan,
Burkina Faso and Niger.
Hong
Kong fire hearings begin into Wang Fuk blaze that killed
168 (The Guardian) — Independent committee
investigating whether building practices contributed to worst
residential fire in decades.
India’s
young more educated than ever — so why are so many jobless?
(BBC World) — Educational enrollment has surged but jobs,
especially good ones, aren’t keeping pace.
Pro-Kremlin
loyalist turns on Putin in rare outburst: “Put him on
trial” (The Guardian) — Ilya Remeslo’s criticism
marks unusual public dissent from within Putin’s support base. (Also
covered in Ukraine)
Putin
reportedly avoids Kremlin after Iranian leaders tracked by
cameras (United24 via Reddit) — Reports suggest
surveillance concerns after Israeli intelligence demonstrated ability to
track high-value targets.
Sweden
says Iran executed a Swedish citizen (Reuters) —
Execution during wartime adds to tensions between Iran and
Europe.
Swiss ski
gondola crashes down mountain, one killed (BBC
World) — Dramatic footage shows gondola flipping multiple times at
Engelberg resort.
Rhinos
return to the wild in Uganda 40 years after last one
poached (BBC World) — Southern white rhinos
reintroduced after poachers once wiped them out entirely.
Ecuador
arrests gang leader wanted for killing presidential
candidate (BBC World) — “Lobo Menor” linked to the
2023 assassination of Fernando Villavicencio.
Afghan
evacuees in Qatar camp accuse US of betrayal (BBC
World) — More than 1,100 Afghans evacuated by the US fear their
route to promised resettlement is closed for good.
cd ~/repos/ratatosk && claude --resume 0bbd6091-6541-4949-9221-d6e1f9896c98
Ukraine
Russian offensive operations continue across all major axes with
limited confirmed advances. The February 1 Starlink block continues to
degrade Russian strike and command capabilities — forces are now testing
alternatives (radio, fiber-optic, Kometa satellites) but these remain
slower. Russian forces are using Molniya “mothership” drones to carry
FPV drones 40-50km behind Ukrainian lines for battlefield interdiction,
though effectiveness is reduced without Starlink. Pokrovsk saw the
heaviest fighting with 54 clashes in one day. Ukrainian forces report
adapting drone tactics in the Lyman direction with some territorial
gains. Russian command reportedly aims to take Kostyantynivka before May
9 and push toward Slovyansk-Kramatorsk in summer. Record Russian
casualties of 1,710 reported on March 17, attributed to a failed
offensive in Zaporizhzhia direction.
Ukraine struck two major aviation targets: the Aviastar plant in
Ulyanovsk (produces Il-76 transport aircraft) and the 123rd Aircraft
Repair Plant in Staraya Russa, where A-50 AWACS aircraft may have been
present. Atesh partisans disabled a diesel train in Crimea, disrupting
supply routes. Ukraine is deploying 201 drone warfare experts to Gulf
states (UAE, Qatar, Saudi Arabia, Kuwait) and offering 1,000+
interceptor drones daily to partners. Spain announced a new €1 billion
military aid package including joint defense production.
cd ~/repos/ratatosk && claude --resume eabb7569-5966-42ac-9305-1f87f5c94908
Norway
The Iran conflict is now directly hitting Norwegian energy and
preparedness. Gas prices jumped over 30% after Iran attacked Qatar’s Ras
Laffan LNG terminal, sending European TTF gas from around €55 to
€74/MWh. Oil passed $112 per barrel. The attack caused “comprehensive
damage” to the world’s largest LNG export facility. Analysts warn
Norwegian electricity prices will rise, though not to 2022 crisis
levels. Meanwhile, new figures show the government’s electricity subsidy
“Norgespris” has already consumed 6.4 billion kroner in January and
February alone — over 70% of the 9.1 billion annual budget — and experts
predict the total could nearly double to 17 billion for the year.
Norway’s fuel reserves look thin compared to neighbors. Senterpartiet
is pushing to increase crisis stockpiles: while Sweden and Finland hold
90 days of diesel and jet fuel, Norway’s requirement is only 20 days.
About 3,200 ships are now trapped in the Persian Gulf west of the Hormuz
Strait, according to the IMO, including vessels with Norwegian
connections.
An extraordinary Council of State was held Wednesday at the Palace —
unusual timing, as these normally occur Fridays. The King and Crown
Prince attended; the Prime Minister was in Stockholm while Defense and
Foreign Ministers were at Cold Response. A classified matter was
discussed, with officials declining to comment. In more routine
politics, Venstre leader Guri Melby declared at the party’s
extraordinary national meeting that they will not support Sylvi Listhaug
as prime minister under any circumstances, though they remain open to
contributing to a new government.
In the Marius Borg Høiby trial, prosecutors demanded seven years and
seven months in prison. The 39-count indictment includes four rape
charges, domestic violence, drug trafficking (3.5 kg marijuana),
restraining order violations, and filming victims without consent. The
five victims are seeking a combined 1.9 million kroner in compensation.
The defense argues the extensive media coverage should warrant a reduced
sentence; the prosecution disagrees.
The Ålesund terrain fire on Sukkertoppen is now under control after
burning an area equivalent to 112 football fields. Nearly 300 evacuated
residents were allowed to return home Wednesday evening after drone
imagery confirmed reduced heat activity. No injuries reported.
Norway — Street Level
The royal family scandal continues to dominate Norwegian Reddit, with
the prosecution requesting 7 years and 7 months for Marius Borg Høiby
and heated debate over whether Mette-Marit deserves sympathy. Commenters
are notably unsympathetic — she’s seen as having put herself in this
situation with ample resources to handle it.
A documentary “Barbeint i snøen” about a 28-year-old woman who froze
to death in Sweden in 2022 has sparked outrage over welfare system
failures, with users describing it as “system collapse bordering on
criminal.” Drug policy absurdity is another flashpoint: a case involving
under 1 gram of hash (0.98g) going to full trial with prison risk while
violent crimes languish. “We can’t handle violent cases fast enough, but
under a gram of hash? Full package.”
Public sector efficiency is getting attention from unexpected
quarters — Rødt (far-left) proposing cuts to administrative bloat,
paired with stats that 1 in 4 hospital employees work in administration.
Gen Z work attitudes and “anti-work” sentiment are being discussed, with
users asking if Norway shares the pattern seen elsewhere in Europe.
cd ~/repos/ratatosk && claude --resume 7be1e746-2e9e-424e-bbd9-afc7e8895921
Tech
AI & Agentic Systems
Cook: A Simple
CLI for Orchestrating Claude Code | HN
— Workflow orchestration for Claude Code, Codex, and OpenCode.
Composable operators for iteration (x3), review loops
(review), and parallel exploration (v3 races
implementations). Turns single-pass prompts into repeatable multi-step
workflows.
Autoresearch
for SAT Solvers | HN
— AI agents autonomously discover solving strategies for MaxSAT
problems. Multiple agents share findings via git, building collective
knowledge. Solved 220/229 competition instances, including 5 beating
competition results and 1 novel solution. Demonstrates agentic research
without human guidance.
What
81,000 People Want from AI | HN
— Anthropic’s large-scale qualitative study: 80k Claude users across 159
countries. Key finding: users simultaneously hold competing hopes and
fears about AI — 81% reported AI advancing their goals, while 27%
worried about hallucinations and 22% about job displacement.
NVIDIA
NemoClaw | HN
— Open-source orchestration for running autonomous agents with
policy-based sandboxing. Handles sandbox creation, inference routing
through NVIDIA cloud, and security policy enforcement. Alpha software,
but shows direction for safe always-on assistants.
Programming Languages &
Type Systems
A Sufficiently Detailed
Spec Is Code
Haskell
for All | HN
Challenges the “specs → agents → code” premise. Argument: making a
specification precise enough to reliably produce working implementations
necessarily transforms it into code. Cites Dijkstra on verbal precision
vs. formal symbolism. Tested OpenAI Symphony with Claude — manual fixes
still required.
Seeing
Types Where Others Don’t | Lobsters
— Multi-year journey inferring static types for jq. Core insight: all
programs have types, even without annotation. Documents evolution from
constraint-based systems through intersection types to constraint
solvers. Shows how type inference can improve error messages in dynamic
languages.
Data Is
Code (2016) | Lobsters
— Gabriel Gonzalez on the duality between data and code in Haskell.
Pairs well with today’s other Haskell piece.
No
Semicolons Needed | Lobsters
— Survey of how 11 languages handle optional semicolons: Python/Ruby
treat newlines as separators, Lua/Gleam parse greedily, Go/JS use lexer
insertion. Takeaway: prioritize simple, transparent rules over complex
hidden mechanics.
Systems Programming &
Security
Go
Home, Windows EXE, You’re Drunk | Lobsters
— Windows executables under Wine can make native Linux syscalls. Wine
treats the process like any other Linux process, so while Windows
syscalls from Wine are unreliable, Linux syscalls work fine. “Zero
practical utility” but illuminating.
How
Kernel Anti-Cheats Work | Lobsters
— Comprehensive deep dive: callback registration, VAD tree walking for
detecting injected code, hook detection comparing in-memory vs. on-disk
binaries. Traces the escalation from usermode cheats through kernel to
hypervisor to DMA attacks. Current frontier: PCIe DMA devices reading
physical memory.
Accessing
Hardware in Rust | Lobsters
— Ferrous Systems on I/O read/write, system registers, and memory-mapped
I/O in Rust. Compares four implementation frameworks: svd2rust,
tock-registers, safe-mmio, and derive-mmio. Practical guide for embedded
Rust.
CVE-2026-3888:
Snap Local Privilege Escalation | HN
— Race condition between snap-confine and systemd-tmpfiles on Ubuntu
24.04+. After /tmp/.snap cleanup (10-30 days), attacker
recreates with malicious payloads; snap-confine bind-mounts them as
root. CVSS 7.8.
RX – A New
Random-Access JSON Alternative | HN
— Binary format enabling O(log n) key lookup on encoded bytes without
parsing. Claims 18x smaller, 23,000x faster single-key lookup vs JSON on
a 35k-key production manifest. Returns Proxy over flat byte buffer —
near-zero heap pressure. HN discussion notes it’s best for large
read-only datasets, not general-purpose JSON replacement.
Beyond
Hypermodern: Python Is Easy Now | Lobsters
— Modern Python workflow: uv (Rust-based package manager)
replaces Poetry, Ruff replaces black/flake8/isort, Pyright replaces
mypy. Key shift: uv run instead of activating virtualenvs.
Covers testing, docs, CI/CD, and monorepo support.
Writing
Consistent Tools (2019) | Lobsters
— CLI design principles: standardized flags (-V,
-h, -j for JSON), flexible password handling
(env vars, keychain, password managers), streaming input, SIGINFO
handlers for progress. Unix philosophy in practice.
Supercazzola:
Generate Spam for Web Scrapers | Lobsters
— Tar pit for bots ignoring robots.txt. Uses Markov chains +
deterministic RNG seeded from URI hash to generate endless
interconnected pages. Embeds unique IDs to track scrapers across
IPs.
Linux Desktop
GNOME 50
Released | Lobsters
— Parental controls with screen time limits, expanded Orca screen
reader, document annotation, VRR and fractional scaling enabled by
default, HDR screen sharing, hardware-accelerated remote
desktop.
Mozilla
Free Built-In VPN in Firefox 149 | HN
— Browser-only VPN proxy arriving March 24. 50GB/month free tier,
initially US/France/Germany/UK. Routes browser traffic only, not
system-wide.
Hardware
History
Celebrating
Tony Hoare’s Mark on Computer Science | Lobsters
— Bertrand Meyer’s eulogy for C.A.R. Hoare (1934–2026). Covers
Quicksort, Hoare logic/axiomatic semantics, CSP, language design
influence on Algol W and Pascal, and building Oxford’s Programming
Research Group.
Rob
Pike’s Rules of Programming (1989) | HN
— Five rules: don’t optimize without measurement, simple beats fancy for
small data, fancy algorithms have more bugs, data structures matter more
than algorithms. Evergreen wisdom.
cd ~/repos/ratatosk && claude --resume 601e02c6-9906-452e-bf82-1a8142f6e3c5
Linux & Infrastructure
NixOS & Nix
Nixy: Structured
configuration for Nix fleets | NixOS
Discourse — Organizational layer for managing NixOS across
multiple machines. Introduces schema (shared defaults), traits (reusable
modules), and nodes (machine definitions). Separates data from
implementation, outputs standard NixOS modules compatible with existing
deployment tools.
JetBrains
Plugins managed through Nix | r/NixOS
— Nix flake providing declarative JetBrains IDE plugin management with
automatic compatibility checking. Daily updates from the official
marketplace, works with Home Manager or NixOS system config. Eliminates
manual plugin maintenance when the IDE updates.
A
piece of flake: Nix flake repository | NixOS
Discourse — New project providing a simple interface for
publishing Nix flakes, aiming to address the discoverability gap outside
nixpkgs.
Very
Lightweight NixOS Router/Server Flow Data Collector | Lobsters
— RFM (Router Flow Monitor): TC-based flow tagging with Go userspace and
Prometheus exporter. Runs on 1-core/1GB VPS. Includes ASN/geolocation
enrichment and IPFIX export. Built because Kafka/ClickHouse are too
heavy for small routers.
Self-Host
and Tech Independence | Lobsters
— Philosophy of owning your digital infrastructure. Tools mentioned:
Listmonk (newsletters), GoatCounter (analytics), Quartz (note
publishing), Gitea (git), Paperless, PhotoPrism, Pi-hole,
Syncthing.
Radicle
1.7.0 – Daffodil | Lobsters
— P2P git forge release. Improved signed references with replay attack
prevention, connection-level blocking, SQLite WAL mode for better I/O.
Critical security fix included — disclosure on March 23.
Hyprland
CLI & Terminal
Punchline:
P2P encrypted TUI messenger | r/commandline
— Rust-based direct peer-to-peer messenger using UDP hole punching for
NAT traversal. X25519 key exchange, ChaCha20-Poly1305 encryption. No
accounts, no relay servers, no metadata. Both CLI and TUI
interfaces.
giff v1.0.0:
terminal git diff viewer | r/commandline
— Interactive git diff tool with side-by-side/unified views, syntax
highlighting for 130+ languages, vim-style navigation, mouse scroll.
Supports interactive rebasing with accept/reject for individual
changes.
Self-Hosting
RustFS:
MinIO replacement with binary swap migration | r/selfhosted
— S3-compatible object storage in Rust. Claims 2.3x faster than MinIO.
MinIO’s open-source repo is archived; RustFS offers binary replacement
migration preserving existing data, buckets, IAM. Beta in April, GA
targeted July 2026.
Unsloth
Studio: local LLM web UI | r/selfhosted
— Open-source web UI for running and fine-tuning LLMs locally.
macOS/Windows/Linux. No GPU required for inference. Training supports
500+ models with accelerated speeds and reduced memory. Multi-file
upload, tool calling, code execution.
Keeper.sh
v2: calendar syncing | r/selfhosted
— Aggregates calendars from multiple sources (Google, Outlook, iCloud,
CalDAV, ICS) and syncs them to destinations. MCP server integration for
AI agent access. Self-hosted version is free with unlimited
sources.
Plex
hardware transcoding in LXC (QuickSync) | r/selfhosted
— Detailed guide on getting Intel QuickSync hardware transcoding working
for Plex inside an LXC container.
Radxa
E52C appreciation | r/selfhosted
— Positive experience with Radxa E52C network computer for low-power
services (DNS, WireGuard, DLNA). Runs cool, minimal power draw, rock
solid with Armbian.
Home Automation
cd ~/repos/ratatosk && claude --resume eaac4769-666f-41c2-963d-08945c23eafd
cd ~/repos/ratatosk && claude --resume cb662df9-3437-447b-895e-2ab7281d3b16