Kurt Schwehr
@kurtschwehr.bsky.social
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
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...
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.
developers.googleblog.com
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...
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.
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...
github.com
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...
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...
schwehr.blogspot.com
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?...
Nature Integrated Routing for Whales & the Environment
YouTube video by Maritime Reporter TV
youtu.be
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 - 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.
github.com
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...
Ahh crap. This is a sad one. Brilliant actor, good bloke. 7news.com.au/entertainmen...
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’.
7news.com.au
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)."
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...
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...
github.com
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...
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...
schwehr.blogspot.com
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...
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...
schwehr.blogspot.com
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...
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...
schwehr.blogspot.com
Another attempt to get back into writing... blog style. And getting back into AIS. schwehr.blogspot.com/2026/06/auth...
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...
schwehr.blogspot.com
A great horned owl staring down at me from the roof of our house this evening
Compiling rust+bevy is slooooowwww. Even for really small games, demos, and tests.
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.
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...
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-...
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...
world.hey.com
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...
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.
opensource.googleblog.com
Another paper that I should read. I read an earlier paper from this group that was very scattered (too many topics) and unsupported. Hoping this paper steps up the rigor. doi.org/10.1038/s415...
Accelerating scientific discovery with Co-Scientist - Nature
Nature - Accelerating scientific discovery with Co-Scientist
doi.org
Thanks to @deepseadawn.bsky.social for this link. I need to read this asap www.pnas.org/doi/10.1073/...
PNAS
Proceedings of the National Academy of Sciences (PNAS), a peer reviewed journal of the National Academy of Sciences (NAS) - an authoritative source of high-impact, original research that broadly spans...
pnas.org
An important view of Eric Schmidt's speech and actions. youtu.be/tlQ7EoJDTQY?...
"But it happened."
YouTube video by Molly Rocket
youtu.be
I've been trying to figure out how to get Continuously Operating Reference Stations (CORS) location + z (relative to ?) + error data for all stations for the entire station lifetime at a moderate cadence (daily, weekly, monthly, every n<30 days). I'm getting turned around by it all. Suggestions?
I take issue with this definition of "terrain elevation:" Emphasis is mine. Terrain elevation is only relative to MSL in some instances. There are many vertical datums. Sigh. gcmd.earthdata.nasa.gov/KeywordViewe...
Back in 2022, I asked for type hints in the python ndb interface. Almost 4 years later, type hints are in head! Thank you Chalmer Lowe for doing that! github.com/googleapis/g...
feat: enable mypy session for ndb by chalmerlowe · Pull Request #16691 · googleapis/google-cloud-python
This PR enables the mypy session in noxfile.py for ndb and aligns it with the GAPIC generator template. Currently, it fails with 196 errors. This is pushed to allow farming out the work to resolve ...
github.com