Skip to content

Blog

DeepMind's AGI Claims: What the Announcement Actually Says

Google DeepMind published a podcast episode titled “The Arrival of AGI” with co-founder Shane Legg and host Hannah Fry. Around the same time, OpenAI’s Sam Altman posted a decade retrospective that predicts superintelligence within about ten years. Neither item is a technical result. Both are claims. This post separates the claims from the evidence cited.

Legg’s central claim is economic. He argues that AI will replace the exchange of mental and physical labor for resources, the arrangement that underpins hunter-gatherer tribes, medieval serfdom, and modern jobs. He compares a post-labor society to house cats, which are sustained without contributing and sleep about 18 hours a day. Education, he argues, would need to stop training people for economic roles that may not exist.

Altman’s claim is a timeline. He writes: “In 10 more years, we are almost certain to build superintelligence.” He also defends iterative deployment, releasing models in stages so society adapts as capabilities change. The retrospective reviews a decade of releases, from the 2017 Dota reinforcement learning work and the unsupervised sentiment neuron to ChatGPT in 2022.

A chart from the Federal Reserve Bank of Dallas circulated with the discussion. It plots US GDP per capita over 150 years and forks after 2035 into two paths: a benign singularity with steep growth, and an extinction path at zero. It is a scenario illustration from a bank research department, not a forecast with probabilities. Legg and Altman cite it to frame the stakes.

Epoch AI’s capability indexes show no plateau in measured benchmark trends, which supports the claim that scaling continues. Independent evals such as AI Village run top models on tasks with internet and tool access. Current agent tools are the concrete part. At AWS re:Invent 2025, Frontier Agents such as Kirao triaged bugs and handled developer backlogs. Amazon’s Nova 2 family covers voice (Sonic), multimedia (Omni), and UI automation (Act). Bedrock Agent Core adds policy controls, and Trainium 3 Ultra scales inference at lower cost. China’s pilot programs license robotaxis in stages to pace job displacement. These are working systems, but they perform narrow tasks.

None of this establishes that AGI has arrived. There is no agreed definition of AGI, so the episode title is a position, not a measurement. The evidence is a mix of scenario charts, extrapolated trend lines, and speaker opinion. The Dallas Fed chart describes possible futures, not observed outcomes. Altman’s ten-year window is a prediction. Legg’s labor argument assumes current scaling continues without interruption. The systems in operation handle bounded tasks with tool access. General reasoning across the full range of paid work remains unmeasured.

Treat AGI announcements as claims with attached evidence, and grade each piece of evidence on its own. A scenario chart is not a prediction. A benchmark trend is not a capability. Until a system demonstrates broad competence across the economy without hand-holding, the arrival of AGI is a thesis, not a fact.

GitHub Actions Sleep-Loop Bug: Years of Failed Runs and the Cost to Developers

A four-line Bash function in the GitHub Actions runner has caused failed runs and idle machines for years. The function was meant to pause execution briefly. On busy runners it can spin forever, hold a CPU core at 100%, and leave a job running long after it should have ended. One developer reported 5,135 hours of billed idle time on a single runner.

The runner codebase started around 2016. Early commits show Windows developers borrowing a Stack Overflow trick from 16 years earlier: use ping to simulate a delay where sleep is not available. That pattern became a top-level function called safe_sleep:

Terminal window
if [ $? -eq 4 ]; then
sleep 5 || ping -n 6 127.0.0.1 > nul || (for i in `seq 1 5000`; do echo >&5; done)
fi

The chain tries sleep first, then ping for about 4 seconds, then 5,000 echo writes to /dev/null. It worked, at the cost of CPU time.

In 2022 the code changed to a tighter loop:

Terminal window
start=$SECONDS
while [ $((SECONDS - start)) -ne ${1?} ]; do :; done

The intent: read Bash’s SECONDS variable, which increments every second, and loop until the target is reached. The flaw shows up under load. If scheduling makes SECONDS jump from 4 to 6, the comparison -ne 5 is never false, so the loop never exits. With no sleep inside the loop, it pegs one CPU core at 100%, half of a standard 2-vCPU runner, and starves other tasks on the machine.

One developer measured a single runner idling for 5,135 hours. At GitHub’s $0.08 per vCPU-minute rate, that is about $2,400 in billed time for one machine. Projects felt the effect too. Zigg moved to Codeberg, citing “inexcusable bugs” and what it called “vibe scheduling” after Microsoft’s AI pivot, with job prioritization that stalled even main-branch commits.

A fix surfaced in 2024: use -le instead of -ne, so the loop stops once the target is reached or passed:

Terminal window
while [ $((SECONDS - start)) -le ${1?} ]; do :; done

A pull request with this change was proposed in February 2022. It was auto-closed after a month and merged about 1.5 years later, after public complaints. Other regressions followed the same pattern. A later refactor replaced a plain Object.getOwnPropertyNames call with nested loops and redundant if statements, and file hashing broke as a result:

function getKeys(obj) {
return Object.getOwnPropertyNames(obj);
}

The fix was small and had been available for years.

The runner is a shared codebase with a long review backlog, and the sleep function sits in a busy path where changes carry risk. Matt Lad of Antithesis summed up the engineering assessment: this is not peak engineering. The platform bills per minute, so a looping sleep is not harmless. Teams that depend on Actions should audit runner logs for jobs that run far past their expected time, and pin runner versions that contain the fix.

Mastering Git: The Snapshot Database That Powers Your Workflow

You’ve likely used Git daily—committing code, pushing updates, pulling changes. It hums along smoothly until chaos strikes: a botched rebase at midnight, frantic Stack Overflow searches, and crossed fingers that things don’t spiral further. Even seasoned developers often treat Git like a black box, memorizing commands without grasping the mechanics. In this guide, we’ll dismantle Git from its core, rebuilding your understanding so you command it confidently.

At its heart, Git is a database of snapshots, where the atomic unit is the commit. Forget diffs or change lists—a commit captures your entire project state at a precise moment. Every file, unchanged or modified, frozen in time.

Each commit holds:

  • A full snapshot pointer (your codebase as-is).
  • Metadata (author, timestamp, message).
  • A pointer to its parent commit—the previous state.

New commits link backward, forming a chain: child to parent, parent to grandparent, back to the initial commit (with no parent). Merges later introduce commits with two parents, but the rule holds: pointers always flow backward. Parents remain oblivious to future offspring.

This setup yields a linear history for solo sequential commits. Real teams branch for features or fixes, creating diverging paths from shared parents. Merges reconnect them, birthing a DAG (Directed Acyclic Graph):

  • Directed: One-way arrows (children → parents).
  • Acyclic: No loops—history can’t circle back.
  • Graph: Nodes (commits) + edges (parent links).

Visualize it as an inverted family tree encoding every project decision. Git’s magic? Every commit’s completeness lets you teleport to any node, restoring the exact project state—no change replay needed.

Branches intimidate newcomers, evoking visions of duplicated codebases. Wrong. A branch is a sticky note—a lightweight file storing one commit hash.

  • git branch feature/login crafts a note at the current commit.
  • Commits ignore branches; branches chase commits.

Commit on a branch? Git adds the snapshot (parented to prior), then nudges the branch pointer forward. Creation is instantaneous—no copying.

main (or master)? Just the canonical sticky note. Multiple branches = multiple labels on the DAG.

Enter HEAD, Git’s cursor. Typically, it points to a branch (e.g., HEAD → main → commit). Switch branches (git checkout feature), and HEAD shifts.

Checkout a raw hash? HEAD detaches, pointing directly to the commit—“detached HEAD” state. Work proceeds: edit, stage, commit. But stray too far, and new commits orphan—no branch anchors them. Git’s garbage collector eventually prunes them.

Classic pitfall: Inspecting an old commit, fixing a bug, committing, then git checkout main. Poof—orphan commits vanish. heed the warning: branch first to preserve work.

Git juggles three realms:

  1. Working Directory: Your editable files (editor-visible).
  2. Staging Area (Index): Prep zone for the next commit.
  3. Repository: Immutable commit database.

Edit files → changes hit working directory (Git observes silently). git add → stage for commit. git commit → snapshot to repo. This triad makes nuanced commands possible.

Three “undo” tools, each with distinct behavior:

git checkout main or git checkout <hash> repositions HEAD. Working directory syncs to the target snapshot. Branches/commits untouched—just sightseeing history.

On main, git reset <commit> yanks main’s pointer back, orphaning ahead-commits. Modes dictate side effects:

ModeBranch MovesStagingWorking DirectoryUse Case
--softYesUnchangedUnchangedSquash commits (staged changes ready).
--mixed (default)YesReset to targetUnchanged (unstaged)Restage/split commits.
--hardYesResetReset (data loss!)Nuke uncommitted work—use sparingly.

--hard devours uncommitted files forever. Orphaned commits linger briefly (reflog-rescu-able); unstaged work? Eternal void.

No rewinds—git revert <commit> births a new commit undoing the target (e.g., +50 lines → -50 lines). History intact, auditable. Use for shared/pushed changes.

Quick Reference:

  • Checkout: Explore → safe.
  • Reset: Reshape local → cautious.
  • Revert: Amend shared → collaborative.

Feature branch forked pre-main advances (X, Y)? Integrate via:

  • Merge: Two-parent commit preserves parallel truth (messy but honest).
  • Rebase: Replay your commits atop new main.

Commits aren’t movable—their hash derives from content + metadata + parent. Rebase:

  1. Extracts changes from your commits (B → diff, C → diff).
  2. Applies atop tip (Y → B’ → C’).
  3. Repoints branch to C’; orphans B/C.

Power for local cleanliness; poison for shared history—colleagues’ clones see “new” commits, sparking duplicate/conflict hell. Rebase solo; merge teams.

Disaster? git reflog logs HEAD’s travels: checkouts, commits, resets. “Lost” commits (post-reset/rebase) often persist here. git branch recovery <hash> revives them. Git delays deletion (30-90 days)—act fast.

Git: Snapshot DAG. Branches/HEAD as pointers. Three trees for precision. Checkout views; reset reshapes; revert augments; rebase replays. Reflog recovers.

Next Git snag? Trace the graph. No more blind commands—you know.

Vedic Cosmology and Modern Physics: Where the Parallels Hold and Where They Break

Physicists have quoted Sanskrit texts for a century. Oppenheimer recited the Bhagavad Gita at the first atomic test. Schrödinger wrote about Vedanta in What is Life?. Those citations are real and well documented. The question this post examines is different: does Vedic cosmology actually describe modern physics, or do the parallels only look convincing from a distance?

The famous Oppenheimer quote is genuine. At the Trinity test in July 1945, he later recalled a line from the Bhagavad Gita, Chapter 11: “Now I am become Death, the destroyer of worlds.” He was not endorsing a cosmology. He was reaching for language to describe the scale of what he had helped build.

Erwin Schrödinger’s interest in Vedanta is also genuine. In What is Life? (1944), he drew on the Upanishads to illustrate the idea that individual consciousness is not cleanly separable from the world around it. That is a philosophical position, not a physical derivation. It did not appear in his wave equation.

These borrowings are real. They are also selective. Physicists quoted the texts that matched their mood or their metaphysics, not the texts that made testable predictions.

The popular comparisons usually land on three ideas:

  1. A universe from a point. The Vedas describe creation emerging from a single source. Cosmology describes the Big Bang as an expansion from a hot, dense state. The shape is similar; the content is not. The Vedic account is narrative and theological. The Big Bang is a model fitted to redshift observations and cosmic microwave background data.

  2. Cycles of expansion and collapse. Hindu cosmology runs on vast repeating cycles (yugas). Some cosmological models consider cyclic universes. The similarity is structural, not evidential. No cyclic model is currently supported by observation.

  3. Sound and vibration. The Vedic tradition treats sound (nāda) as fundamental. String theory describes vibrating objects as the basis of matter. Both use the word “vibration.” They share no mathematics. The Om syllable is not a wave function.

The decisive difference is method. The rishis produced insight through introspection, meditation, and oral transmission. Physics produces results through measurement, falsifiable prediction, and peer review.

A parallel is not a mechanism. Two descriptions can rhyme without either one explaining the other. “The universe is consciousness” and “the universe is a wave function” sound adjacent. They are not the same claim, and neither one follows from the other.

There is also a selection effect at work. Vedic literature is vast and contains many statements about the cosmos. With enough text, you can find phrases that resemble almost any modern discovery. Finding a resemblance after the fact is pattern matching. It is not anticipation.

The honest value of this material is cultural and philosophical, not predictive.

  • The Bhagavad Gita gave Oppenheimer words for a moment that had no precedent. That is a real fact about how humans process scale and responsibility.
  • Schrödinger’s engagement with Vedanta is a documented example of a scientist thinking across traditions. It tells us something about creativity, not about quantum mechanics.
  • Vedic cosmology is worth studying as cosmology: a sophisticated, internally consistent worldview developed without telescopes or instruments. It is remarkable on its own terms.

The intellectual tradition of the Vedas is genuinely rich. It does not need modern physics to validate it. And modern physics does not need ancient texts to validate it either. Both traditions are diminished when one is forced to be a prophecy of the other.

The parallel is a poem. The physics is a measurement. Enjoy the poem, check the measurement, and do not confuse the two.

Niagara Falls' Forgotten Subterranean Power Network

Niagara Falls, a spectacle of nature drawing millions annually, conceals a labyrinth of colossal tunnels etched into the bedrock—relics of an era when the roaring cascade powered North America’s industrial dawn. These vast conduits, once pulsing with diverted river water to drive mills and pioneer hydroelectric plants, now lie sealed, flooded, or repurposed, their existence betrayed only by subtle scars on the gorge walls above.

From Hydraulic Canals to Electric Revolution

Section titled “From Hydraulic Canals to Electric Revolution”

The transformation began in the mid-19th century. In 1853, the Falls Hydraulic Power and Manufacturing Company initiated construction of a hydraulic canal on the American side, completed by 1861. This channeled Niagara’s torrent into subterranean millrace tunnels—narrow passages, 8 to 12 feet high, hand-chiseled through Lockport dolomite and underlying shale. Water surged through gated inlets, accelerating down sloped conduits to spin massive wheel pits beneath factories producing paper, flour, and chemicals.

By the 1880s, the “War of Currents” refocused ambitions on electricity. Thomas Edison’s DC vied against Nikola Tesla and George Westinghouse’s AC. In 1893, an international commission awarded Westinghouse the contract for Niagara’s first large-scale AC plant. Adams Power Station No. 1 went online in 1895, its 1,400-foot tailrace tunnel—a horseshoe-shaped behemoth, 18-20 feet across—discharging turbine exhaust beneath the gorge. On November 16, 1896, power reached Buffalo, 26 miles distant, proving AC’s long-distance viability.

Canadian efforts mirrored this scale. The Ontario Power Company in 1904 excavated over 2,000 feet of tunnels near Horseshoe Falls, blending exposed dolomite with concrete-brick linings to navigate softer shale layers. These fed 15 turbines, propelling southern Ontario’s grids. Nearby, the Toronto Power Generating Station’s 2,200-foot tailrace, completed in 1907 by immigrant laborers amid lantern-lit blasts, featured meticulously laid brick arches to tame turbulent flows.

Further expansions crowned Schoellkopf Power Station on the U.S. side as the region’s mightiest by the 1920s. Its networked tunnels—some walkable upright—interlinked multiple generating houses, channeling water through 150-foot penstocks into shared discharge channels.

Technological leaps and geopolitical shifts doomed these pioneers. U.S.-Canada treaties in the 1940s-50s redirected flows to modern behemoths like the Robert Moses Niagara Power Plant (opened 1961) and Canada’s Sir Adam Beck stations. Private plants faltered: Adams closed in 1961, its tunnel flooding with groundwater; Ontario Power shuttered in 1999 after 93 years; Toronto Power ceased in 1974.

Catastrophe sealed Schoellkopf’s fate. On June 7, 1956, a gorge wall seep escalated into collapse. Rock sheared away, snapping penstocks and flooding tunnels as three generating houses plunged into the river. The ruins persist as eerie overlooks in Niagara Falls State Park, but subsurface remnants were obliterated.

Most tunnels endure as flooded voids, their precise conditions probed via ground-penetrating radar or remote inspections. Adams’ tailrace remains submerged beneath its preserved brick landmark. Ontario Power’s brick-lined passages hold firm under hydrostatic pressure, inaccessible save through sealed ports.

Yet one defies oblivion: the Toronto Power tailrace. In 2021, Niagara Parks launched restoration, clearing debris and installing a walkway. By 2023, the 2,200-foot tunnel reopened as “The Tunnel at Niagara Parks Power Station”—a public marvel where visitors trace brick arches to a dramatic gorge portal once roaring with discharge. Tours like Niagara Underground persist, though occasional closures occur due to ice damage or maintenance.

Above, the stark concrete station eyes redevelopment. In 2024, Niagara Parks advanced procurement for a mixed-use revival—potentially a hotel and visitor hub—blending heritage with tourism, backed by Ontario government support.

These hidden arteries underscore Niagara’s pivot from raw mechanical might to efficient public hydro giants. Ground surveys reveal intact 19th-century voids under warehouses, but public glimpses are rare. As modern plants like Robert Moses churn 2.6 gigawatts clean energy, the tunnels whisper of audacious engineering that tamed a wonder for the world. Venture below on guided walks, and feel the pulse of history amid the falls’ eternal roar.

Yet, as we marvel at these subterranean cathedrals, we must pause to remember the hands that carved them. This wasn’t just a triumph of engineering; it was a grueling labor of blood. Thousands of immigrant workers—many Italian, Polish, and Irish—toiled in damp, lantern-lit darkness, blasting through volatile shale with primitive dynamite. Accidents were common, and deaths were tragically frequent, often relegated to footnotes in the grand narrative of industrial progress. These tunnels are their monument as much as they are Westinghouse’s or Tesla’s. To walk them is to tread on the sacrifice that powered a continent.