Sign in

Kurt Schwehr

@kurtschwehr.bsky.social
469 followers 284 following 473 posts

he/him; Geospatial, Geology, Geophysics, Software Engineering, Open Source, Open Data, Proj, GDAL, Ocean Mapping, etc. Cofounder of Global Fishing Watch, Whale Alert, NOAA's Environmental Response Management Application (ERMA), NASA Ames Viz&StereoPipe

PostsRepliesMedia
Kurt Schwehr @kurtschwehr.bsky.social · 11/10/2026
I'm not sure it's worth putting the blog back up on my domain, but it's now on Github so I can use the material for a project I'm working on. github.com/schwehr/old-...
github.com
GitHub - schwehr/old-blog: My blog posts up to 2014
My blog posts up to 2014. Contribute to schwehr/old-blog development by creating an account on GitHub.
000
Kurt Schwehr @kurtschwehr.bsky.social · 11/10/2026
I had Gemini 4 Argon read through images in my old blog & creat markdown descriptions. Taking a peak, it's mostly amazing, but then there was "standard तीन-blade", a mix of Hindi and English. In English, this means "standard three-blade". Here is the text and the xray emitter. Check the alt text!
# Scintag XDS 2000 X-Ray Diffraction Emitter Assembly (`xrd-xray-emitter.png`)

## Overview
A close-up photograph taken through the tinted lead-glass safety window of the Scintag XDS 2000 X-ray diffractometer at the Scripps Institution of Oceanography (SIO) Analytical Facility, showing the X-ray tube housing and emitter assembly during operation.

## Scene & Hardware Description
- **X-Ray Tube Housing**: A machined, rectangular silver/beige metal column tilted at an angle on the left side of the goniometer arm, secured with recessed hex bolts along its metallic side plate.
- **Radiation Warning Label**: On the top surface of the emitter block is a yellow and black caution sticker featuring the standard 3-blade radiation hazard trefoil symbol.
- **Illuminated Red Warning Indicator**: Attached to the side of the emitter column is a rectangular translucent red plastic light bar containing multiple bright red/orange LEDs illuminated to indicate that X-rays are actively being generated (`X-RAY ON`).
- **Collimator / Divergence Slit Assembly**: Protruding to the right from the circular mounting hub on the emitter housing is a smaller boxy silver/gray metal collimator block with a small dark aperture slit on its right-facing end, aimed toward the sample stage.
- **Goniometer Mount & Tinted Glass Reflections**: Behind the emitter is the circular beige goniometer track and mechanical mounting hardware. The warm amber/yellow color cast and faint horizontal reflections across the image come from shooting through the protective leaded glass enclosure.
111
Kurt Schwehr @kurtschwehr.bsky.social · 09/10/2026
It's been a long time since I've posted any Google Maps base layer processing errors, but here is one from Chicago Midway. It's the shadow of a plane, but no plane... maps.app.goo.gl/x9XqKCVkcLaq...
020
Kurt Schwehr @kurtschwehr.bsky.social · 09/10/2026
Adopting Pyrefly as the Python type checker at Google opensource.googleblog.com/2026/10/adop...
opensource.googleblog.com
010
Kurt Schwehr @kurtschwehr.bsky.social · 04/10/2026
youtu.be/1fZTOjd_bOQ?...
youtu.be
Are we stuck with the same Desktop UX forever? | Ubuntu Summit 25.10
YouTube video by Canonical Ubuntu
000
Kurt Schwehr @kurtschwehr.bsky.social · 25/09/2026
til; ULP - unit in the last place or unit of least precision en.wikipedia.org/wiki/Unit_in...
en.wikipedia.org
Unit in the last place - Wikipedia
020
Kurt Schwehr @kurtschwehr.bsky.social · 20/09/2026
And just like busses and inverters, any gear can have supply chain attacks already in them including undocumented networking gear. Not to mention the software stacks on any device.
000
Kurt Schwehr @kurtschwehr.bsky.social · 20/09/2026
This pod cast is both great and terrible at the same time. Systems on ships and ports are often just normal systems under the hood and face the same issues as any critical computing platform. Issues start with MS Windows plus how do they update and secure those machines? youtu.be/5kkP-3d_8ac?...
youtu.be
HACKED! Are Commercial Ships Being Targeted by Cyber Attacks? | Maritime Cyber Security Deep Dive
YouTube video by What's Going on With Shipping?
000
Kurt Schwehr @kurtschwehr.bsky.social · 20/09/2026
youtu.be/n_1wzYQwnts?...
youtu.be
Every US Electrical Outlet Explained
YouTube video by Practical Engineering
001
Kurt Schwehr @kurtschwehr.bsky.social · 18/09/2026
If just 2 ships have been powned, I would be stunned. Ships are full of networked Windows machines. gcaptain.com/authorities-...
gcaptain.com
Authorities Investigating Cyber Breaches Aboard Two U.S.-Bound Ships
US Coast Guard and FBI personnel boarded two commercial vessels bound for the United States in the Gulf of Mexico last month after indications that hackers had broken into their computer networks, the...
210
Kurt Schwehr @kurtschwehr.bsky.social · 17/09/2026
An interesting article that I found via Security Now... 1password.com/files/resour...
1password.com
000
Kurt Schwehr @kurtschwehr.bsky.social · 15/09/2026
Definitely need to track and evaluate these. Some are great and some are likely to be a source of trouble. Collab would be awesome!
011
Kurt Schwehr @kurtschwehr.bsky.social · 11/09/2026
Today I learned of github.com/pytest-dev/p... for running pytest in parallel
github.com
GitHub - pytest-dev/pytest-xdist: pytest plugin for distributed testing and loop-on-failures testing modes.
pytest plugin for distributed testing and loop-on-failures testing modes. - pytest-dev/pytest-xdist
002
Kurt Schwehr @kurtschwehr.bsky.social · 11/09/2026
spacedaily.com/s-the-united...
spacedaily.com
The United States is replacing every official latitude, longitude and height it publishes, existing coordinates will move by as much as four meters, and the million survey marks in the ground will no ...
The National Geodetic Survey has spent years building a replacement for the reference system that fixes every published position in the country. New geodetic-control submissions into the old system st...
043
Kurt Schwehr @kurtschwehr.bsky.social · 10/09/2026
On my reading list by @brunosan.bsky.social: (edited) "reviewed eighteen frontier-lab models. Not one documents Earth-observations or Earth-observation benchmarks. Absence of evidence, not evidence of absence. Geo is not a publicly stated architectural priority." www.linkedin.com/pulse/what-g...
linkedin.com
What if there is no GeoAI — just AI?
Those of us at the intersection of EO and AI still have a lot to bring, but further maturing a separate domain might not be the most impact-driven path. This is the article form of the talk I gave at ...
010
Kurt Schwehr @kurtschwehr.bsky.social · 10/09/2026
Today I first heard of "Hexagonal architecture" (a.k.a. "ports and adapters architecture") in software engineering. "Alistair Cockburn in 1994 and formally published or written up in 2005." en.wikipedia.org/wiki/Hexagon...
en.wikipedia.org
Hexagonal architecture (software) - Wikipedia
000
Kurt Schwehr @kurtschwehr.bsky.social · 08/09/2026
Surprised by the surprise about LLMs and agents 1. Steve Gibson surprised agents are just a stream of tokens with tool usage etc. are just tokens in the stream - just hints. 2. OpenAI & others are surprised that LLMs + harnesses under test escaped schwehr.blogspot.com/2026/09/surp...
schwehr.blogspot.com
Surprised by the surprise about LLMs and agents
Two things recently surprised me in the world of LLMs and agent harnesses. My surprise is that these people are surprised by what they found...
000
Kurt Schwehr @kurtschwehr.bsky.social · 04/09/2026
I'm trying out vertical tabs on the left in Google Chrome. Currently feeling super awkward with them. Yes, it's a better use of screen real estate, but I'm much slower right how and I can feel the cognitive friction.
010
Kurt Schwehr @kurtschwehr.bsky.social · 03/09/2026
An Earth Engine update: The resampling method for exporting floating point GeoTiff and COG images has changed to `CUBIC` from `NEAREST`. It's still `NEAREST` for integer images. developers.google.com/earth-engine... #earthengine
000
Kurt Schwehr @kurtschwehr.bsky.social · 03/09/2026
~10 years ago I created autotest2 inside Google to help test GDAL as I wasn't able to use autotest in Google's test environment. The test code isn't very exciting, but it's nice to see that code is still doing its job: github.com/OSGeo/gdal/p...
github.com
gml: Explicitly initialize memory for szStartTag by 1-z · Pull Request #15149 · OSGeo/gdal
What does this PR do? Similar to szSRSName above this, we should explicitly initialize szStartTag. This is done for szSRSName for some time, but omitted here. What are related issues/pull requests?...
000
Kurt Schwehr @kurtschwehr.bsky.social · 31/08/2026
What do people think were key new things for GIS during 2025? Comments here, comments on the issue, or PRs all welcome. Additions or corrections for prior years are always welcome. github.com/schwehr/gis-...
github.com
Entries for 2025 · Issue #23 · schwehr/gis-history
Currently only have: 2025-04 - Biomass satellite launched Candidates: AI / LLM LLM models getting better at coding Which specific models were key milestones? Lidar stuff? Drones? Imaging sensors And?
010
Kurt Schwehr @kurtschwehr.bsky.social · 31/08/2026
www.nsf.gov/funding/info...
nsf.gov
Request for Input on Future Ocean Observing Priorities
000
Kurt Schwehr @kurtschwehr.bsky.social · 30/08/2026
Thank you to Casey for this amazing talk. This talk sent me down memory lane to times long ago. I talked to Knuth a couple times as an undergrad. I sat through Ulman's intro to CS class (one of the Dragon book authors), and I spent a bunch of time with punch cards & Fortran youtu.be/hpj6r6CjJf8?...
youtu.be
Casey Muratori – The Root of The Root of All Evil – BSC 2026
YouTube video by Better Software Conference
010
Kurt Schwehr @kurtschwehr.bsky.social · 29/08/2026
Being that I was recently working with the Dulwich python package for git, I thought it was especially fun to hear about how folks serve up git at scale. youtu.be/AFQW-b2WaRU?...
youtu.be
Cursor's Github Replacement
YouTube video by The PrimeTime
000
Kurt Schwehr @kurtschwehr.bsky.social · 26/08/2026
I look forward to checking it out. I presume it's about this: en.wikipedia.org/wiki/Great_U...
en.wikipedia.org
Great Unconformity - Wikipedia
110
Kurt Schwehr @kurtschwehr.bsky.social · 26/08/2026
@samroy.bsky.social
000
Kurt Schwehr @kurtschwehr.bsky.social · 26/08/2026
datacommons.substack.com/p/open-and-o...
datacommons.substack.com
Open, and Out of Reach: Access Is Not Accessibility
Disaster imagery is free, public and fast. It is also, for most of the people nearest the damage, unusable. Access is what a provider grants; accessibility is nobody's job.
110
Reposted by Kurt Schwehr
Phil Lewis @phillewis.bsky.social · 17/08/2026
Actress Hayden Panettiere has died, her representative confirms. She was 36 abcnews.com/US/hayden-pa...
A photo of Hayden Panettiere
33040201431
Kurt Schwehr @kurtschwehr.bsky.social · 23/07/2026
www.tomshardware.com/tech-industr...
tomshardware.com
Oregon will start charging service providers for undersea cables using its sea floor — millions accrued over years will go toward state schools
Oregon's proposal is generous and undercuts at California in a bid to continue to attract investment.
000
Kurt Schwehr @kurtschwehr.bsky.social · 22/07/2026
I want to get some time to try Conductor in the Antigravity (agy) CLI. I used it a bunch with Gemini CLI > 6 months ago and found it really helpful. developers.googleblog.com/evolving-spe...
developers.googleblog.com
Evolving Spec-Driven Development: Conductor Now Supports Antigravity- Google Developers Blog
Upgrade to the Conductor Plugin for conversational Spec-Driven Development. Chat naturally with AI to manage markdown specs across tools like Antigravity CLI.
000
Kurt Schwehr @kurtschwehr.bsky.social · 22/07/2026
Ugh. I know we are all overworked open source maintainers, but when you say "I don't mean to be rude"... I'm trying not to waste peoples' time. Security is a royal pain in the ass, but attackers have lots of resources and people get freaked out about SHA1 & MD5. github.com/pyca/cryptog...
110
Kurt Schwehr @kurtschwehr.bsky.social · 21/07/2026
I just released github.com/schwehr/bitv... This release was primarily focuses on extensive code cleanup, linter adherence, and testing improvements. It involves setting up pylint configurations (including the pylint-pytest plugin) and refactoring code across the repository to address linter rules.
github.com
Release v0.0.4 · schwehr/bitvector-modern
What's Changed chore(pre-commit): add pylint hook and configuration by @schwehr in #125 chore(BitVector): Fix pylint unused variable warning by @schwehr in #126 refactor(tests): simplify empty seq...
000
Kurt Schwehr @kurtschwehr.bsky.social · 19/07/2026
I'm excited for my first real release of BitVector modern in version 0.0.3. There are lots of API cleanups and performance improvements. However, it's still not ready for anything more than experimental use. schwehr.blogspot.com/2026/07/bitv...
schwehr.blogspot.com
bitvector-modern release 0.0.3
I just did the first proper release of bitvector-modern with version 0.0.3. I hadn't setup 2 factor authentication (2FA) for my personal P...
010
Kurt Schwehr @kurtschwehr.bsky.social · 14/07/2026
Nice to see follow ups to Listen for Whales / Whale Alert. I am just starting to listen, so I can't comment much youtu.be/brnCealGvk0?...
youtu.be
Nature Integrated Routing for Whales & the Environment
YouTube video by Maritime Reporter TV
000
Kurt Schwehr @kurtschwehr.bsky.social · 13/07/2026
Yes, there are templates that do a lot of this, but I am trying to learn as much as I can. I hope to do the same with my old noaadata pure python AIS package and that is going to be a challenge. It's in rough shape. github.com/schwehr/noaa...
github.com
GitHub - schwehr/noaadata: Pure python AIS decode and encode
Pure python AIS decode and encode. Contribute to schwehr/noaadata development by creating an account on GitHub.
001
Reposted by Kurt Schwehr
Greg Jericho @grogsgamut.bsky.social · 13/07/2026
Ahh crap. This is a sad one. Brilliant actor, good bloke. 7news.com.au/entertainmen...
7news.com.au
Beloved actor and Jurassic Park star Sam Neill dies aged 78
Neill only recently revealed he was living cancer free with his family saying the loss was ‘sudden and unexpected’.
409108181568
Kurt Schwehr @kurtschwehr.bsky.social · 13/07/2026
What's up in Santa Cruz you ask? "Gore Whore met during Lloyd Kaufman’s frantic filming of Poultrygeist 2: Dawn of the Chicken Dead, in Santa Cruz over the last year (it arrives on screen this summer)."
000
Kurt Schwehr @kurtschwehr.bsky.social · 05/07/2026
I replaced the custom BitVector.deep_copy() method with Python's copy.deepcopy() and the resulting deepcopy is better than 400x faster. Yikes and wahoo! github.com/schwehr/bitv...
github.com
refactor(deepcopy): switch deep_copy() usages to standard copy.deepco… · schwehr/bitvector-modern@ec9fa3d
…py() - Implement __deepcopy__ on BitVector to directly clone underlying array/list buffers in C instead of stringifying to ASCII and re-parsing. - Update deep_copy() method to delegate directly t...
020
Kurt Schwehr @kurtschwehr.bsky.social · 05/07/2026
My mom proof read a chapter of my PhD thesis. She said she was unsure what a lot of the nouns and verbs meant. But she did catch a lot of mistakes.
010
Kurt Schwehr @kurtschwehr.bsky.social · 04/07/2026
I'm trying my best to create a version of python packaging best practices with a limited amount of time. Making more progress with bitvector-modern... schwehr.blogspot.com/2026/07/pyth...
schwehr.blogspot.com
Python packaging best practices
There are so many possible ways to go with python packaging that it's painful. I'm still working more on bitvector-modern. I just setup cod...
011
Kurt Schwehr @kurtschwehr.bsky.social · 03/07/2026
I've got a fork of Avi Kak's Python BitVector package shaping up nicely. Should be pretty much a drop in replacement. schwehr.blogspot.com/2026/07/intr...
schwehr.blogspot.com
Introducing bitvector-modern, a fork of python BitVector
About 20 years ago, I used Avi Kak's  BitVector  python library for my AIS work when my work was pure python as can be found in my  noaadat...
000
Kurt Schwehr @kurtschwehr.bsky.social · 30/06/2026
3 blog posts in 3 days. Going back 20 years in style of my writing - get it done quick and get it out. Today, it's fixing the first CVE reported on libais. schwehr.blogspot.com/2026/06/fixe...
schwehr.blogspot.com
Fixed libais CVE-2026-56770
This is a weird milestone: libais got its first CVE.  CVE-2026-56770  is a crash coming from my  03f1c92418  where I did "vdm: int → size_t...
000
Kurt Schwehr @kurtschwehr.bsky.social · 28/06/2026
Another attempt to get back into writing... blog style. And getting back into AIS. schwehr.blogspot.com/2026/06/auth...
schwehr.blogspot.com
Gemini Deep Research on AIS
Authorship statement: Mostly me with lots of quotes from Gemini Deep Research. Back in Oct of last year (2025), I came back to the idea of...
000
Kurt Schwehr @kurtschwehr.bsky.social · 24/06/2026
A great horned owl staring down at me from the roof of our house this evening
020
Kurt Schwehr @kurtschwehr.bsky.social · 24/06/2026
Compiling rust+bevy is slooooowwww. Even for really small games, demos, and tests.
010
Kurt Schwehr @kurtschwehr.bsky.social · 21/06/2026
Truly open specifications are so important. m.slashdot.org/story/455698
m.slashdot.org
Slashdot
020
Kurt Schwehr @kurtschwehr.bsky.social · 07/06/2026
Our apricot tree is doing better this year. Turns out we were putting softened water on it until this year. Sigh. The fruit are just starting to get ripe, but are pretty tasty when they have been sitting in sugar for a while.
010
Kurt Schwehr @kurtschwehr.bsky.social · 06/06/2026
I've been exploring Rust using Bevy + Ratatui for some simple text based games. It's interesting, but the time required to build and test the games is painful for even small stuff. I'm assuming this is mostly because bevy is huge. A view of my yahtzee game...
A Rust + Bevy + Ratatui yahtzee text game in a terminal
010
Kurt Schwehr @kurtschwehr.bsky.social · 06/06/2026
I think this is a horrible attitude. If you don't like a projected saying no to some LLM contributions, then fork it and go your own way. Please give folks who work hard to keep projections usable for the long haul some respect. If you fork takes off, good for you. world.hey.com/dhh/let-the-...
world.hey.com
Let the agents democratize open source
The open source movement spent decades fighting for everyone's right to change software, through free access to code and permissive licenses to release improvements. But at the dawn of the AI revoluti...
041
Kurt Schwehr @kurtschwehr.bsky.social · 04/06/2026
More than a year ago, I added JPEGXL compression in Tiffs ingestion support to Earth Engine (sorry... not JPEGXL files). opensource.googleblog.com/2026/06/jour...
opensource.googleblog.com
Journey to JPEG XL: How open source experiments shaped the future of image coding
Explore how a decade of open source experiments in psychovisual modeling and compression led to JPEG XL, the future of image coding.
021