👥 Who’s the Biggest Generation Where You Live?
Inspired by Jake Steinberg’s map in The Twin Cities in 50 Maps: every census tract in the Seattle metro and in Tuolumne County, California, as a dot colored by its largest generation. Millennials lead 408 of 863 Seattle-area tracts, Gen Z fills the University of Washington, Gen Alpha gathers in the Pierce County suburbs, and Boomers lead 15 of Tuolumne’s 18 tracts, where one of the exceptions is a state prison.
Read post →🏔️ Torres del Paine, Twice: A Sunrise Flight and a Patagonia in Miniature
Torres del Paine two ways: a sunrise flight from Lago Grey and the Grey Glacier over the Cuernos to the Torres, rendered with forge3d from Copernicus elevation and a clear Sentinel-2 pass, and a spin-it-yourself diorama with icebergs, condors, hikers on the W and a Patagonian wind button, plus sidebars on the glacier, the Cuernos’ dark tops, the wind, the pumas, the W and the O, and the fires, with podcasts and papers to go deeper.
Read post →🐄 Zermatt in Miniature: The Matterhorn, the Gondolas and the Cows
Going big in Switzerland: Zermatt and the Matterhorn from swisstopo’s free 2 m elevation data and OpenStreetMap, with 46 lifts on their cables, the Gornergrat cog railway, 2,620 chalets with red geraniums, alphorn players, cows dressed for the Alpabzug, and a switch to ski season, plus sidebars on the Matterhorn’s African summit, the 1865 first ascent, the cog railway and the Eringer queens.
Read post →🏁 The Dakar in Miniature: The Algarve, the Atlas and the Sahara
The little diorama engine takes on a whole rally: the 2027 Dakar from the Algarve across the strait to Morocco, through the snowy High Atlas, the Merzouga dunes and the Draa oases, down to Smara and back to Marrakech, with bivouacs, a convoy you can ride along with in the dust, and sidebars on how the Dakar left Africa, the Atlas rain shadow, ergs and hamadas, and the marathon night.
Read post →🍋 The Amalfi Coast in Miniature: Capri, Ravello and the Road Above the Sea
The little diorama engine crosses the Atlantic: the whole Amalfi Coast from open elevation data and OpenStreetMap, with Capri and the Faraglioni, Positano’s boats at anchor, lemon terraces, Ravello on its ridge, and a coast road you can ride, plus sidebars on the Bourbon road, the Blue Grotto, Amalfi’s sea republic and Wagner’s garden.
Read post →🧗 Yosemite in Miniature: Granite, Waterfalls and the Climbers of Camp 4
After Seattle, the little diorama engine went home to the Sierra: Yosemite Valley carved from USGS elevation data, with seven waterfalls traced down their real cliffs, Camp 4’s tents and lanterns, climbers’ headlamps on El Capitan, and sidebars on the ice, granite and people that made the valley.
Read post →🏙️ Seattle in Miniature: The Needle, the Monorail and My Old Westin
I saw a little 3D Warsaw on X and built my own Seattle the same afternoon: the Space Needle, the Monorail running on its real beams, the Westin’s twin towers where I worked for 21 years, the Spheres, Elliott Bay with a ferry, Rainier on the horizon and a rain button, all from OpenStreetMap. You can fly it yourself.
Read post →🏳️ Flag Atlas: A Flag Game for the Vexillologically Curious
Most flag games stop at the countries. Mine keeps going: more than 15,000 flags of states, provinces, cities, counties and towns, a Flag of the Day, a pin-it-on-the-map mode, and the TED talk that gave Bellingham its flag and Pocatello a new one.
Read post →☁️ Lake Tahoe Goes to the Cloud
I moved secchi's 12 million Lake Tahoe readings into SQL Server and Azure, proved every month matched, set it to keep itself current for free, and drew the map in QGIS straight from the cloud. Then I did it again in C#, and raced bcp against SqlBulkCopy.
Read post →🤖 Big Spatial Data, Small Budget: What Wherobots Taught Me
I took both Wherobots courses and passed: Fundamentals and the Geospatial Data Engineering Associate certification. What Apache Sedona does, the raw-to-ready pipeline that changed how I think about data, a King County project hunting for the neighborhood with the most for the money, and the lesson about cost that stuck.
Read post →🦠 The Rock Eaters
In 1996 I worked with Doug Rawlings in Cape Town on bacteria that eat iron and sulfur. Thirty years later those rock eaters pull copper, nickel and gold from rock on four continents, leach rare earths on the space station, and may yet turn mine waste back into ore. Here is how they work, how far they have come, and the pioneer who helped start it.
Read post →📟 The Handoff: Teaching SIERRA-FLOW a New Language
Before handing over an old system, you read it like an inheritance. I wrote down what my COBOL streamflow job really does, rebuilt it in C#, and replayed every production night through both until they printed the same bytes. Then I broke it on purpose, and SQL Server caught USGS quietly revising its own numbers.
Read post →🧊 The Athabasca Glacier, 1844 to 2100
One view from the Icefield Centre lookout on the Icefields Parkway, 256 years of ice: a forge3d film of the Athabasca Glacier from its Little Ice Age high stand in 1844, through today, to 2100 under three emissions scenarios, with the Columbia Icefield and the three oceans its meltwater reaches.
Read post →💎 Into the Rubies: A Flight Up Lamoille Canyon to Liberty Lake
A two-and-a-half-minute forge3d flight on 1 m lidar up Lamoille Canyon in Nevada’s Ruby Mountains, over Liberty Pass to Liberty Lake on the Ruby Crest Trail I fastpacked back around 2014, with the glaciers that carved the canyon, rocks hauled up from 35 km down, and the only wild Himalayan snowcocks in North America.
Read post →🔥 The Gap That Isn’t: Who Answers a Wildfire in Eastern Oregon
I measured how far every 2026 West Coast wildfire was from a fire station. Eastern Oregon looked like a hole in the safety net, until I mapped the ranchers’ Rangeland Fire Protection Associations: 111 of 113 far-off fires burned in counties where they operate.
Read post →❄️ Storm Chaser: Watching Rainier’s Snow, Every Hour
Ten snow stations, two satellites and six webcams, checked every hour: how my Mount Rainier snowpack page works, what last winter’s lean year looked like, and what four decades of El NiΓ±o winters say about the one ahead.
Read post →📖 Open the Hood: Notebooks for My forge3d Projects
Asked on X whether I use forge3d from notebooks or through agents, I made walkthrough notebooks for nine forge3d projects: Chaco Canyon, Serpent Mound, Yosemite, Humphreys Peak, the Icefields Parkway and four Washington animations, each running the project’s own code from raw data to a finished frame.
Read post →🏔️ Over the Pass: A Flight From Tioga Pass to Mono Lake
A two-minute forge3d flight on 1 m lidar from Tioga Pass down Lee Vining Canyon, over Mono Lake, Negit and Paoha, past South Tufa and along the Mono Craters, with the geology, volcanoes, water and wildlife of the Mono Basin along the way.
Read post →⛏️ Mother Lode: The Holes in the Hills Where I Grew Up
I grew up in Groveland, in a county where the hills are full of holes. So I counted them: 1,040 shafts, adits and prospect pits from the old USGS topo maps, laid over bare-earth lidar. Columbia’s limestone rock gardens, the flooded Harvard pit, and old tailings that now sit out on Don Pedro Reservoir.
Read post →🌳 Cypress Domes: Reading Water From the Shape of a Forest
Cypress domes grow tallest where the water stands longest. Streaming USGS lidar a square kilometre at a time, I found 166 dome candidates in 36 km² of Big Cypress, and 150 of them rise toward the middle. Here’s the average dome.
Read post →🏔️ ALPINE-WATCH, Revisited: Mountain Lakes From Space
My mountain lake monitor had been coming back empty for 8 of its 13 lakes. Most lakes are never sampled, so now the satellites do the looking: Forel-Ule colour, a chlorophyll index, ice-out and summer temperature for 17 lakes, each judged against its own past.
Read post →🪨 Pikas, Part 2: Washington’s Quiet Rockpiles
21 of Washington’s old museum pika sites have no record nearby since 2000. Read the original labels and most aren’t missing at all: the pin is in the wrong place, or the label is just a place name. Here are the 10 real places worth a hike, on a map, from a low creek near Naches to the quiet Kettle River Range.
Read post →🛰️ Sentinel Stockpile, Revisited: Where Did the Wind Blades Go?
I came back to my satellite stockpile project, found two sites in the wrong place and a bug in every pixel, and rebuilt it: eight Pacific Northwest yards measured twice a week with a colour rule per cargo, checked against aerial photos, and a live dashboard. The first thing it showed me: the wind blades at Terminal 5 are gone.
Read post →🏺 Project Kiva: What the Laser Sees
I rebuilt Project Kiva into an atlas of ten archaeological places in bare-earth lidar, from Chaco Canyon to Cahokia, Serpent Mound and Poverty Point. Drag a line across the aerial photo to see the ground underneath, switch between five relief views, and turn each site in 3D with forge3d.
Read post →☀️ SOLSTICE, Revisited: The Skyline Is the Calendar
I came back to my Chaco Canyon sky page and rebuilt it around the real skyline: every sunrise of the year on each great house’s own horizon, a forge3d flight down the canyon at summer solstice dawn rendered with no graphics card, eleven sites moved to where they really are, and a few things I’d gotten wrong.
Read post →🌪️ The Alert Bots, Revisited: Fewer Posts, and No More Silence
I came back to my two weather alert bots to cut the noise and found they hadn’t posted since early July, while every run said “success.” Now they post one message per storm, only what matters. Update: the silence was X’s API credits running out, so the bots are on standby, still watching.
Read post →🐟 Survivors of an Inland Sea
Pyramid Lake’s fish are survivors of Lake Lahontan, an ice-age inland sea the size of Lake Ontario. The cui-ui lives nowhere else on Earth; the world-record cutthroat vanished in the 1940s and came back from a creek 300 miles away. Maps, GBIF records, and a look back at heat shock proteins at UNR.
Read post →🐟 Two Creeks of Gold
California’s state fish, the golden trout, evolved in just two creeks on the Kern Plateau. In 1876 a coffee can carried it over the Sierra crest, and now it lives in high lakes from the Sierra to Wyoming. GBIF maps of where it lives now, and why its meadow streams run so hot.
Read post →🪨 What’s Up With the Pikas?
The American pika is the poster animal of climate change in the mountains. I checked 276 of its pre-1950 museum sites against every GBIF record since 2000. Where pikas are still being found, they’re found right where they always were. The low sites are the ones going missing.
Read post →🌫️ Washington’s Smoke, Checked Against the Monitors
A reader asked how the smoke model in my Washington animation compared with ground-level PM2.5 monitors. Against 56 monitors over seven weeks, it was right about which days were smoky most of the time, ran heavy near Spokane right after the fires started, and ran light in the Methow valley.
Read post →🦣 IceWave, Rechecked: My Mammoth Model Found Rivers
I came back to IceWave, my model of where mammoths and other Ice Age animals might be buried in the Northwest, and re-checked it. Its “blind validation” at the Coyote Canyon mammoth dig was 69 km off, its top targets were rivers and reservoirs, and its 90% came from a default value. Here’s how that happened, and what still holds.
Read post →🦴 PaleoWave, Rechecked: Where Nevada’s Ichthyosaurs Might Still Be
I came back to my early model of where central Nevada’s Triassic ichthyosaurs might still be buried, gave it a page and a weekly check against the Paleobiology Database, and re-checked its numbers. It knew 18 places, not 30, and less than it claimed. Here’s what still holds, and fifty places to go and look.
Read post →🌊 PUGET-TIDES: The Tides of Puget Sound, in FORTRAN
A FORTRAN program that predicts the tide at eight NOAA gauges from Neah Bay to Tacoma, the way tide tables are made, and checks itself against NOAA every six hours: all 257 highs and lows for the week, within a minute. Plus storm surge, king tides, daylight minus tides and sea level since 1899.
Read post →🎈 CASCADIA-WX, Revisited: Reading the Balloons
My FORTRAN weather program said the Cascade passes were bare last April. It was asking for snow stations that don’t exist. Version 3 reads the Northwest’s four weather balloons twice a day and ranks them against 85,000 balloons from 1991 to 2020, all in FORTRAN.
Read post →🏔️ Up the Icefields Parkway
A 95-second flight up the Icefields Parkway on a September evening: Lake Louise, Bow Lake, a slow pass over Peyto Lake, and the Columbia Icefield. Satellite elevation and Sentinel-2 imagery, rendered with forge3d 1.40.1, plus why the lakes first came out grey.
Read post →📟 SIERRA-FLOW, Revisited: Normal Termination
My COBOL streamflow program compared Sierra rivers with made-up medians, matched them to the wrong rivers after sorting, and could never report a falling river. Version 3 builds real normals in COBOL from 30 years of USGS data, sorting 584,000 records in a second, and prints them on green-bar paper.
Read post →🌋 lahar-watch, Revisited: The Network Watching Rainier
My Mount Rainier lahar dashboard was mostly invented: a random-number seismogram, and stations that only had to exist to show green. Now it shows the real network, all 48 stations and whether each is reporting, the 2025 earthquake swarm, the rivers against flood stage, and the warning times the USGS has published.
Read post →💧 Washington’s Water Year: Rain Instead of Snow
Water year 2026, day by day: 276 USGS river gauges against normal, NOAA snowpack and rain over 3D terrain. A record December flood, a snowpack near half of normal, and rivers running amber by June. It was a wet year and a drought year at once.
Read post →🌡️ Weather Station, Revisited: Measured, Not Modelled
My weather dashboard turned out to be showing a forecast model’s guess, often hours old. Now it reads real National Weather Service observations live, runs them into the forecast on one chart, adds the forecaster’s own words, and checks it all against records back to 1893.
Read post →🌍 AFTERSHOCK, Revisited: Pick a Place, and Ask If It’s Normal
My earthquake dashboard gets a place picker for the US, any state, any country or region; fair comparisons at the magnitude each network actually catches; ten years of normal (Oklahoma’s collapse, West Texas’s rise); real aftershock sequences; and the Texas quakes it had been filing under New Mexico.
Read post →🌊 When Washington’s Rivers Broke Their Records
December 1–20, 2025, hour by hour: an atmospheric river stalls over Washington, the rivers light up, and the Snoqualmie, Cedar and Nooksack glow pink as they pass their records. 307 USGS gauges and NOAA HRRR rain over 3D terrain, plus why the Skagit isn’t pink.
Read post →🏔️ Down Yosemite Valley and Back
A 73-second flight through Yosemite Valley on a June evening: down Half Dome’s face, past El Capitan to Tunnel View and back. USGS lidar and aerial imagery, rendered with forge3d 1.40.1’s new flythrough tools, plus what’s real and what’s painted.
Read post →🌫️ Washington’s Summer of Smoke
Seven weeks of wildfire smoke and fire across Washington, hour by hour: smoke streaming off the north-central fires, the Spokane Complex, and why Seattle mostly stayed blue. NOAA HRRR-Smoke, NASA satellite fire detections and fire perimeters over 3D terrain.
Read post →🌊 A New Water Year, and a Big El Niño: Sierra Streamflow, Revisited
Water year 2027 began October 1 with an El Niño Advisory in effect. My Sierra streamflow dashboard’s ’this year’ line vanished overnight; fixing it turned into percentile bands since 1981, a look back at water year 2026, and what every strong El Niño since 1983 actually did to the Merced.
Read post →⚾ 76–86: The Mariners Season, and What My Dashboard Missed
Baseball season is over for Mariners fans: 76β86, five games behind an 81β81 division winner. A season review from EDGAR, and the six things my Mariners dashboard got wrong all year without saying a word, from an empty pitching tab to players who vanished when they were traded.
Read post →🌋 PELE, Revisited: Watching the Longest Pause
Six months after I built PELE, KΔ«lauea stopped keeping time: 54 episodes, then the longest pause of the eruption and a shallow intrusion under the summit. What the dashboard got wrong (it was hiding the swarm), what the episode table shows, and how it now reads tilt, quakes and webcams live.
Read post →🔥 The Week Seattle Hit 108
Remember when Seattle hit 108? Hour by hour across Washington through the June 2021 heat dome, from reanalysis data draped over 3D terrain with forge3d. The records, why it happened, the part that isn’t fun, and a green-screen trick for the ocean.
Read post →🗻 Once Around Humphreys Peak
Back in April my favourite forge3d image had no camera flythrough. This one is nothing but: one slow orbit of Arizona’s highest summit, built from USGS elevation and aerial imagery, with a sky and labels added in plain Python. Plus three things I got wrong, starting with a blank white screen.
Read post →⛰️ Where the Trail Runs Out
A researcher asked why two of my numbers didn’t match. The answer: roads named after mountains had pinned 1,560 city calls to the wrong preserves, and blurred addresses had hidden most of the real rescues. Fixing it put 1,489 Phoenix mountain rescues on the map, added Scottsdale and Boulder, tested whether Phoenix’s heat closures explain the drop in rescues (mostly, they don’t), and mapped 20,058 national park rescues.
Read post →🍺 What’s in the Can? Building HopLove
The can says Citra, Mosaic, Strata, and I’d nod like I knew what that meant. HopLove is the fix: every hop in over 2,000 Pacific Northwest beers, what each one smells like, how hard it bites, and during fresh hop season, the farm it came from. Every number is a citation, not a claim. Plus a camera that reads the hops off a can, a chemistry primer with the molecules in 3D, and free data for anyone who wants it.
Read post →🦎 Six Islands, Six Lizards
It started with a throwaway line on a Death in Paradise film sites tour: the little island in the background of the show has its own lizards. It does. Strand one small green lizard on six Caribbean islands and wait: on Guadeloupe you get six species, from the Marie-Galante giant to a golden-eyed anole whose whole world is two low islets. ANOLE-WATCH maps nearly 3,000 GBIF records of them. Along the way the data turned up its own mysteries, including a lizard placed 60 km from home because two archipelagos both have an island called Terre-de-Haut.
Read post →🌫️ Where the Fog Lives
The Namib runs on fog, and this year we learned the fog itself may be alive: bacteria growing and dividing inside the droplets, eating pollution. If fog is a habitat, it needs a habitat map, so I built one from ten years of ERA5 reanalysis. It fades inland exactly the way a new ground-based study says it should, it peaks around 6 a.m. from October to February, and its foggiest square sits offshore over the Benguela Current. Plus the beetle that does the headstand, and the one that got the credit.
Read post →🗿 What Really Happened on Easter Island
I grew up reading Jared Diamond, and the ecocide story is a hell of a parable. It is also mostly wrong. Three lines of evidence converged on Rapa Nui in the last two years — shortwave infrared satellite imagery mapping every rock garden on the island, 800 years of rainfall read from hydrogen isotopes in lake sediment, and a salinity meter walked along the coastline every ten meters. The farming was smart, the drought was real but survivable, and the moai turn out to have been standing wherever there was fresh water. The actual collapse has a date, a cause and a name, and it is not the Rapanui.
Read post →⚪⚫ A Plate on a Rope: Getting to Know Lake Tahoe’s New Sensor Network
UNR opened up a network of sensors in and around Lake Tahoe, and I started reading along. A lake that only looked short of breath, a rain shadow you can measure in the soil, trees that breathe on a daily schedule, a soggy forest station explained by the ground beneath it, and a plate on a rope that still keeps score.
Read post →🎲 I Wanted to Play Star Frontiers Again. I Accidentally Built a Game Engine.
It started with a photo of a 1983 Referee’s Screen on Instagram. Four games and about two thousand lines of JavaScript later: a shared engine, dice with real silhouettes and synthesized audio, and a survival game built on genuine USGS topo tiles of Railroad Valley, Nye County, where every distance and walking time is computed rather than invented. Plus three things I got wrong in public — impossible dice checks, atmosphere where information was needed, and death clocks nobody could see.
Read post →🔥 Watching a Mountain Burn
The Hawk Fire burned across Peavine Mountain north of Reno on 22 August. Ninety-two minutes after ignition, a thermal satellite saw it 315 metres from an aspen grove where Basque sheepherders carved their names into the trunks a century ago — a place I hid a geocache in 2008 and used to ride to in the 1990s. Sentinel-2, VIIRS and a watershed analysis, all free and public, from eight hundred miles away. Includes the terrain conclusion I got wrong first, and why a healthy recovery curve would be bad news for the carvings.
Read post →🌲 Finding the Trees
A stretch project into airborne LiDAR and point clouds — PDAL, canopy height models, individual tree detection — taken from a synthetic Finnish forest through to real national data. The detector scored 78.4% recall against 450 trees I placed myself. Then recall went up as the data got worse, perfect ground calibration hid a canopy bias, and a 100% precision turned out to be structurally guaranteed. Validated against 1,295 stands from the Finnish Forest Centre inventory.
Read post →🏞 The Creek That Isn't There
Big Creek runs dry more than a third of the time, then floods 200 times over. Asking Snowflake's warehouse-native AI agent about the creek behind my hometown, and why it only worked because a tested dbt model was underneath it — plus 170 years of Groveland history explaining why the creek was never the town's water supply.
Read post →🌲 Half a Million Trees
Learning Snowflake and dbt by pointing them at the federal Forest Inventory and Analysis dataset for Washington — 531,490 measured trees, where the wood is, where it dies, what fire does to both, and five confident predictions that turned out wrong, including two the data caught quietly lying.
Read post →π Bob's Gang Wanted a Trade Journal. GitHub Pages Wanted Me Dead.
Building an AI-assisted trade journal for a Rotary investment club: a domain that jumped repos and briefly deleted my own website, a cache that wouldn't let go, and the no-cors redirect bug that ate every form submission with a cheerful success message.
Read post βπ Boo Before You're Ready
A twelve-foot animatronic skeleton in the garden-center aisle in July isn't really about Halloween. It's the newsvendor problem, a tariff that changed its legal basis twice this year, a real-estate arbitrage disguised as a costume shop, and a seasonal-adjustment model quietly getting fooled.
Read post β