Sign in

Mike O'Brien

@obrien.page
1.1K followers 803 following 1.7K posts

Full-stack fish ecologist. Richmond, VA culture leech living in Eastern Henrico. Small farm dabbler. obrien.page github.com/mhpob

PostsRepliesMedia
Mike O'Brien @obrien.page · 12/09/2026
The year is 1866. You're scavenging a battleground for resources. You find a human foot. Obviously, the next step is to say it's Bigfoot and start slapping it around area news desks.
MARCH 27, 1866.

PETRIFIED HUMAN FOOT.-Mr. Joseph Merryman, of this city, has placed upon our table a petrified human foot. It was thrown from the clayey earth in the vicinity of the memorable "Crater" by a party engaged in digging for leaden balls, where, probably, it had lain for untold years. It is of a large size, fully ten inches in length, and weighs several pounds, but retains a striking resemblance to the human foot, and doubtless, were the stony incrustation stricken away, the representation would be yet more perfect. The foot was evidently originally enclosed in some soft covering. The upper surface indicates this much, though the instep and toes are well formed. The heel and the under surface are exact.

That this petrification was once flesh and bone, the general appearances and character admit of little doubt; but it must have belonged to one of the men of the forest, whose grave was dug by uncivilized hands. Petersburg Express
001
Mike O'Brien @obrien.page · 17/07/2026
Smoke has officially hit Richmond, VA
Graph of air quality through time with a very rapid spike at the end.
031
Mike O'Brien @obrien.page · 23/05/2026
The #RVA combined sewer overflow is ̶p̶o̶o̶p̶i̶n̶g̶ popping off today.
Map of Richmond, VA combined sewer overflow locations. Active overflows shown by a poo emoji. No overflows shown by a thumbs up emoji
040
Mike O'Brien @obrien.page · 10/04/2026
528 S Pine St. It's seen some stuff. yesterdays.maprva.org/37066/
Man on stoop with his head between his knees. Graffiti behind him days "G.G."
010
Mike O'Brien @obrien.page · 20/03/2026
Poop rocks
A poster that reads, among other things, "coprolites aren't my favorite fossil, but they're a solid #2".
000
Mike O'Brien @obrien.page · 12/03/2026
...it was 87F yesterday.
Snow on a porch. Snow on a car. Snow near. Snow afar.
030
Mike O'Brien @obrien.page · 12/03/2026
Just watched a squirrel chase a barred owl off of four different trees. Bold little guy! #owl #rva
221
Mike O'Brien @obrien.page · 11/03/2026
Well that's an interesting street name that I'm pretty sure doesn't exist. #rva
Screenshot of Google maps. "Allemeadmonupark-d Alley" and N Meadow Street.
140
Mike O'Brien @obrien.page · 07/03/2026
data.table is a long con by the lolrus := 🪣
Lolrus meme. Walrus holding a blue bucket saying "I has a bucket"
000
Mike O'Brien @obrien.page · 01/03/2026
Throw open the doors; it's springtime weather!
Tripod beagle stands in front of French doors thrown open to reveal French door screens and sunny weather. Two more dogs sit on the porch beyond the screen.
030
Mike O'Brien @obrien.page · 25/02/2026
This one makes more sense when you have the 1858 map by I.H. Adams overlain: yesterdays.maprva.org/maps/older/1... This is taken from the foot of a bridge at 7th and Dock, looking along the Kanawha Canal. A bridge at 6th and Arch in the distance. Nothing in this picture currently exists. #rva
Screenshot from yesterdays.maprva.org showing the IH Adams map of Richmond, Virginia in 1858. A red point shows where the quote-posted picture was taken.
220
Mike O'Brien @obrien.page · 21/02/2026
Took advantage of the 60F evening for a picnic before snow tomorrow (wtf?). #rva
Night time picture of a picnic blanket on a lawn  overlooking the Richmond, VA skyline.
050
Mike O'Brien @obrien.page · 20/02/2026
As my toddler gets deep into The Little Mermaid, I had to educate the family on this one from the peak meme era.
"Hipster Ariel" meme.
Ariel from The Little Mermaid wearing horn-rimmed glasses and looking angsty. Words are "I want to be \\ where the PBR"
020
Mike O'Brien @obrien.page · 16/02/2026
"During the summer, programs of Scripture, music, prayer, question answering, sermons, movies and literature are presented daily. You are invited to visit the Chapel on the road, or at our home in Richmond." yesterdays.maprva.org/37372/
An actual picture of two priests behind a makeshift alter in the back of a trailer. The trailer is opened up to a posed cadre of admiring women. A sign says "Church & home on wheels. All welcome to inspect. No admission charge".
120
Mike O'Brien @obrien.page · 16/02/2026
"Purchased by the donations of the people at the cost of $10,000 each, they contain church equipment, public address system and living accommodations for two priests." yesterdays.maprva.org/16705/
Same trailer as previously, this one in front of the church... AKA "Trailer Chapel Headquarters".
120
Mike O'Brien @obrien.page · 16/02/2026
Interesting series of postcards: "'Saint Mary of the Highways' I & II are names of two trailer chapels operated by the Catholic Diocese of Richmond. Designed by George F. Chaplain, one was built in 1938 and the second in 1948. They were dedicated by Bishop Ireton..." yesterdays.maprva.org/16708/
Postcard of an old car hauling a trailer labeled "St Mary of the Highways Chapel". An inset has a priest doing his best "Christ the Redeemer" impersonation.
141
Mike O'Brien @obrien.page · 14/02/2026
Why small business is hard: exactly 1y since @dinfontay.com published this newsletter, these roads are still closed. www.chlookout.com/p/take-it-to... The top-right route drove much of the traffic past the new shop mentioned in yesterday's letter. Hopefully they can hold on until it opens again.
Screenshot from the Church Hill Lookout, Feb 14, 2025, showing the East End road closures.
100
Mike O'Brien @obrien.page · 13/02/2026
Had fun playing with @mdsumner.bsky.social's #rstats port of GeographicLib comparing geodesic distances between animal tracking locations across various projections. I was surprised that AEQD was the most accurate, possibly bc detections are roughly linear. github.com/hypertidy/ge...
Left: plot of animal detections in the northwest Atlantic ocean color coded by the root mean square error per location of the azimuthal equidistant projection, which ranges from 0-50.
Right: histogram of the RMSE; spike around 5, 10, and 20 m.Left: plot of animal detections in the northwest Atlantic ocean color coded by the root mean square error per location of the UTM Zone 18 projection, which ranges from 0-325m.
Right: histogram of the RMSE; spike around 50, 150, and 200, and 250 m.Left: plot of animal detections in the northwest Atlantic ocean color coded by the root mean square error per location of the UTM Zone 19 projection, which ranges from 0-1200m.
Right: histogram of the RMSE; spike around 200, 350, and 550, and 750 m.Left: plot of animal detections in the northwest Atlantic ocean color coded by the root mean square error per location of the Cassini-Soldner projection, which ranges from 0-150m.
Right: histogram of the RMSE; spike around 50, and 100 m.
253
Mike O'Brien @obrien.page · 03/02/2026
Rooney's Malt Whiskey: "Palatable", "A Tonic for Everyone". #rva yesterdays.maprva.org/14937/ yesterdays.maprva.org/7227/
Advertisement for Rooney's Malt Whiskey. Mural on a wall of a bearded man holding a 
glass and a bottle.A mural that says "Rooney Malt Whiskey".
130
Mike O'Brien @obrien.page · 31/01/2026
A few different sensors in the Church Hill/Fulton/Montrose area.
Time series of temperature (F) from Jan 24, 2026 (morning of the snow storm) through Jan 31. Temperature peaked near 40F for 2-3 days straight at all locations.
000
Mike O'Brien @obrien.page · 27/01/2026
60F 4 days ago to below freezing for 10 days straight. I moved to the South to avoid this.
Figure of temperature (F) through time, starting morning of Jan 24 - morning of Jan 27. Temperature is near 60 F on Jan 24, and does not rise about 30F after.
110
Mike O'Brien @obrien.page · 25/01/2026
The dog was made for this.
Belgian Malinois staring into the camera, whiskers frozen with snow.
082
Mike O'Brien @obrien.page · 17/01/2026
Mushroom season! Time to fry these up.
Multiple oyster mushrooms on the trunk of a standing stump.Pretty shelves of oyster mushrooms growing from a fallen log.
526114
Mike O'Brien @obrien.page · 17/01/2026
Two pictures of the same bridge over the Kanawha Canal in Richmond, VA. >110 years apart (1865 v 1971). yesterdays.maprva.org/7425/ yesterdays.maprva.org/34044/
Library of Congress. 1 photograph : albumen print ; sheet 210 x 306 mm, page 338 x 451 mm. | Photograph shows canal leading to destroyed Gallego Flour Mills with other intact industrial buildings, Richmond, Virginia. Subjects: union, destruction & pillage, canals, history, flour mills, war damage, civil war, richmond, albumen prints, ruins, united states, virginia Locations: union, united states, richmond, virginia Notes: Title transcribed from item. Another copy processed as LOT 11486. In: United States military rail road photographic album, page 93.The Valentine Museum. Black and white photograph showing an arched stone bridge at 13th Street; bridge spans part of the James River and Kanawha Canal system in downtown Richmond near 12th and Byrd Streets, the location of a new Reynolds Metals Company distribution center; canal and bridge visible during a preservation and restoration project spearheaded by Reynolds Metals in conjunction with their building project; buildings visible in background. Geographic Description: Richmond, Va.
241
Mike O'Brien @obrien.page · 12/01/2026
"Lovely day for a Guinness" poster. Multiple toucans carrying two Guinnesses flying over an air base.
000
Mike O'Brien @obrien.page · 10/01/2026
Using Stan to help find the optimal center of an azimuthal equidistant map projection for fish migration data. Because, well I don't quite know why yet... Beyond being a foil to learn Stan syntax through RStan/cmdstanr. #rstats
Draws from a Stan program for the center of an azimuthal equidistant projection that minimizes the geodesic mean distance and distortion of a series of striped bass detections.

The red point shows the mean location of the draws.
161
Mike O'Brien @obrien.page · 09/01/2026
PJM, the energy transmission operator in the Mid-Atlantic through Chicago, has a dashboard which shows the type of electricity being generated at any hour, marginal pricing per area, and hourly emissions from generation: www.pjm.com/markets-and-...
Pie chart showing the mix of fuels to create energy added to the PJM grid at 9AM EPT on January 9, 2025. The sum of all fuel types is listed at 102874 MW, with renewables being 13753 MW. The main sources are Gas, followed by Nuclear and Coal. Minor sources are Wind, Solar, Hydro, Multiple Fuels, Oil, and Other Renewables.Marginal pricing by hub in the PJM grid as of 10:48 EPT on January 9, 2025. All show pricing in the labeled bin of $20-$40.Plot of forecast and current generation by wind power and solar.
132
Mike O'Brien @obrien.page · 25/12/2025
Wouldn't be Christmas without the Mighty Wurlitzer at the Byrd Theater!
A man playing an organ on a theater stage. It's the MIGHTY Wurlitzer at the Byrd Theater in Richmond, VA.
060
Mike O'Brien @obrien.page · 18/12/2025
Oh, this is fun! You can watch the OMERC twists develop as you get further from projection center.
Oblique Mercator projection centered on Cape Hatteras, NC with an angle following the North American coastline. Domain ranges from Florida to Newfoundland.

PROJ4: +proj=omerc +lonc=-75.5 +lat_0=35.2 +gamma=-35.02Oblique Mercator projection centered on Cape Hatteras, NC with an angle following the North American coastline. Domain ranges from the eastern Pacific to Scotland.

PROJ4: +proj=omerc +lonc=-75.5 +lat_0=35.2 +gamma=-35.02Oblique Mercator projection centered on Cape Hatteras, NC with an angle following the North American coastline. Domain ranges from the central Pacific to Turkey.

PROJ4: +proj=omerc +lonc=-75.5 +lat_0=35.2 +gamma=-35.02
032
Mike O'Brien @obrien.page · 15/12/2025
I georeferenced a map of the Church Hill tunnel collapse in Richmond, VA, c. 1925. viewer.allmaps.org?url=https%3A... (It can take a little bit to load)
A 1950s trace of the original 1925 map showing the Church Hill tunnel collapse, including the location of abandoned cars, track path, and other annotations.


Link: https://rosetta.virginiamemory.com/delivery/DeliveryManagerServlet?dps_pid=IE3526709
152
Mike O'Brien @obrien.page · 15/12/2025
I walked 20 ft too far and unintentionally had breakfast in Tennessee today.
Arch over State St in Bristol, VA (or TN). Right side is Tennessee, left side is Virginia.
030
Mike O'Brien @obrien.page · 14/12/2025
Snowy hike to the top of Mt Rogers (highest point in VA) through Grayson Highlands State Park and a bit of the Appalachian Trail. While the summit is forested and not scenic, Wilburn Ridge trail was BEAUTIFUL and had tons of feral ponies.
Wild ponies chewing on some hay in the snow provided to them through Grayson Highlands State Park management. Mountains in the background.Panorama picture across the Appalachians from a point on the Appalachian Trail in Grayson Highlands State Park.
070
Mike O'Brien @obrien.page · 09/12/2025
My New Year's resolution will be to be more like the shirtless pry-bar-weilding 70s guy. yesterdays.maprva.org/20372/
Shirtless pry-bar-weilding 70s guy with other 70s guys pushing a large piece of lumber in place. From the VCU Richmond, VA Comprehensive Planning Slides collection.
030
Mike O'Brien @obrien.page · 07/12/2025
No longer there; part of Navy Hill buried for MCV. yesterdays.maprva.org/2204/ Others: yesterdays.maprva.org/search/?q=62...
Screenshot from MapRVA's Yesterdays showing the crowdsourced location of 612 N 7th St.
000
Mike O'Brien @obrien.page · 06/12/2025
Oh, hey, it's @garnettscafe.bsky.social in 1965. yesterdays.maprva.org/95/ @maprva.org #rva
A photo from the 1965 Richmond, VA Esthetic Survey and Historic Building Survey looking across Park Ave down Meadow St. The current location of Garnett's Cafe is on the right.
061
Mike O'Brien @obrien.page · 05/12/2025
yesterdays.maprva.org/3595/
A screenshot from yesterdays.maprva.org showing the location and orientation of the photographer who took the picture of 4 E Hill St.
000
Mike O'Brien @obrien.page · 05/12/2025
Field trip to @thevalentinerva.bsky.social today with @maprva.org to see some amazing historic pictures of Richmond, VA. They also pulled a Sanborn fire insurance map for us, which was kept up to date into the 80s by pasting pieces of paper with new/removed construction over the old map.
Close-up of a Sanborn fire insurance map. Edits to the map are visible where new construction was (literally) pasted over old.A group of people staring at an opened Sanborn fire insurance volume.A group of people looking at an original panorama of Main St in Richmond from the late 1880s.
072
Mike O'Brien @obrien.page · 05/12/2025
Obligatory snow picture. #rva
Snow across a small landscape, large elm to the left, pink planter on the bottom.
090
Mike O'Brien @obrien.page · 03/12/2025
Or the recreation of an 1869 murder which happened on the way home from the pub. Here's your link: rosetta.virginiamemory.com/iiif/2/FL352...
Map of two possible paths a man who was murdered in 1869 could have taken on the way home from a tavern in Richmond, VA.
000
Mike O'Brien @obrien.page · 03/12/2025
Maybe you want to see where your house is on the original 1736 map of Richmond. Here's your link: rosetta.virginiamemory.com/iiif/2/FL352...
Original 1736 plan of the city of Richmond, VA.
100
Mike O'Brien @obrien.page · 03/12/2025
Sometimes I pretend to do ocean-sciency stuff, not just rabble on about neat pictures and maps on the Internet.
CTD rosette on a boat, surrounded by a few people trying to remember what to do next. A rather pleasant ocean is in the background.
050
Mike O'Brien @obrien.page · 01/12/2025
Some armchair Flock hunts on OpenStreetMap -- Gilpin is, in fact, littered with RPD Flock devices. This is 3 within 10 ft of each other! @maprva.org #RVA
Screenshot of the iD OpenStreetMap editor, St James and East Hill Streets in Richmond, VA. Green dots showing Mapillary crowdsourced streetlevel imagery can be seen. An inset shows three Flock devices.
292
Mike O'Brien @obrien.page · 01/12/2025
Flood of 1936 over Mayo Island, including the old ball park. yesterdays.maprva.org/19340/ #rva @maprva.org
Aerial picture of the flooded James River in Richmond, Virginia. Mayo bridge is in the foreground, Mayo Island is completely flooded save for the roof of an old baseball field.
282
Mike O'Brien @obrien.page · 25/11/2025
Seems the DeFlock app supports quickly adding Flock Ravens, the gunshot detectors all over the East End of RVA that are leaking west into the downtown wards. deflock.me/app
A screenshot of the DeFlock mobile app showing OpenStreetMap tags that are pre-programmed for Flock Ravens, the company's gunshot detector.
152
Mike O'Brien @obrien.page · 14/11/2025
Strangely post-apocalyptic Streetview photo of the day: A fallen banner that says "building a brighter future" above the entrance to a permanently closed shopping mall... Next to an old castle-looking building.
Google Streetview of 6th and Marshall St in Richmond, VA.

Partly unfurled "Building a brighter future" banner above boarded up entrance to a permanently closed shopping mall next to a castle (defunct armory).
080
Mike O'Brien @obrien.page · 12/11/2025
We also mapped it pretty well on OpenStreetMap, so if you use Strava, etc., your Fall Line Trail map will be getting better. open.trailsta.sh#12.3/37.7170...
Screenshot of the Fall Line Trail on Open Trail Stash
010
Mike O'Brien @obrien.page · 08/11/2025
Click the layer, then "query", sorry.
Arrow showing the layer.
210
Mike O'Brien @obrien.page · 08/11/2025
This is more or less what I do when faced with a featureserver/map server. Look for the Query operation, set where=1=1 and format you want, then copy the URL and drop all of the empty API arguments. I'm sure there's a better way, but it works.
Find the URL to the serverScroll to the bottom, look for "Query". You may (likely will) need to select a layer first.Set the query to 1=1 to return everything, or a real query to return a subset.Change to geojson for JS-esque endpoints, or CSV for more R-y endpoints.
221
Mike O'Brien @obrien.page · 07/11/2025
Apparently if you misspecify k in mgcv::te, it falls to the default number of knots without warning or error. #rstats
Screenshot of a terminal showing the results of R code:

> mgcv::gam(y~te(v,w,u, k=c(1e9,1e9))) |> mgcv::gam.check()

Method: GCV   Optimizer: magic
Smoothing parameter selection converged after 5 iterations.
The RMS GCV score gradient at convergence was 4.916294e-07 .
The Hessian was positive definite.
Model rank =  125 / 125 

Basis dimension (k) checking results. Low p-value (k-index<1) may
indicate that k is too low, especially if edf is close to k'.

             k'   edf k-index p-value
te(v,w,u) 124.0  72.7    1.15       1
361
Mike O'Brien @obrien.page · 04/11/2025
I threw together a hacky first blush at creating package for the Allmaps MapLibre plugin (allmaps.org/docs/package...), now I can peruse georeferenced maps in #Rstats! github.com/mhpob/allmaps I'm a complete JS novice and using this as a foil to learn, so I will greedily accept any suggestions.
052