Links for June 2026
Futurism: There’s Something Living Inside Fog, Scientists Find
... It's just San Francisco. #fog #karl #sanfrancisco
I just released Catfood Earth 4.41 for Windows: download here.
This version includes version 2026b of the IANA time zone database. British Columbia just switched to permanent daylight savings time and you'll need this update if that impacts your locations or other settings.
I also made a small change to better support high resolution displays. The font size is now automatically scaled. This started affecting me with a high resolution laptop that I dock so some low resolution monitors causing the font size to be wrong half the time. You might need to tweak your font size after installing this update.
Unfortunately I also switched my code signing certificate with this release. If Windows blocks install then go to Windows Security, App & browser control, Smart App Control settings and then switch off Smart App Control temporarily while you install. This should stop being a problem as Windows learns to trust the new certificate.
Futurism: There’s Something Living Inside Fog, Scientists Find
... It's just San Francisco. #fog #karl #sanfrancisco
Hyperlapse of the drive from San Francisco to the Russian River and back again. Shot on Rivian Drive cam, editied in DaVinci Resolve and euro-trash music generated by Gemini.
Previously I've just done this with the front camera, but the Rivan has four and so I set up a multi-cam edit with 130GB of footage. I wish the side cameras were pointed a bit higher, but they are designed for parking rather than coastal views so I haven't opened a support ticket.
A few years ago I fixed a Washington Post candidate quiz using a spreadsheet. The problem with WaPo's version was that you could express your position on various issues but not how much you cared, which skewed the results.
I just launched a site to help with the large field of candidates for California Governor in the June primary.
This is much better than the spreadsheet. Instead of binary positions you answer ten questions with a sentence or two outlining your position on each issue. It doesn't need to be an essay, this works well with pretty directional statements. For each issue you also indicate how much you care on a 1-5 scale.
The site calculates the match between you and each candidate, weighted based on issue importance and then returns a ranked list as well as a summary of the candidates positions on each issue. Positions are included for Xavier Becerra, Chad Bianco, Steve Hilton, Matt Mahan, Katie Porter, Tom Steyer, Tony Thurmond and Antonio Villaraigosa.
Unfortunately it can't help with the tactics of voting in a jungle primary. I really wish ranked choice voting was a feature of this election so I could vote my preference without fear of allowing one of my least favorite candidates to reach the general election.
Technically this site is an experiment in using a lot of AI.
I researched candidate positions using OpenAI deep research to arrive at a brief paragraph for each candidate and issue.
The UX is courtesy of Claude Design which created a design system based on this blog but punched up the look and feel for a new microsite.
The site itself was created with Codex and GPT 5.5 and lives in a Cloudflare worker.
Candidate ranking is based on vectors - candidate and user positions are converted to embeddings using OpenAI text-embedding-3-large and then cosine similarity and simple weighting of issue importance generates the final score for each prospective Governor.
All of that probably took the same amount of time as the spreadsheet version from 2020.
Because of the embeddings I call this Retrieval Augmented Voting, check it out at rav.ithoughthecamewithyou.com.
Did School Cellphone Bans Work? New Study Finds Mixed Results.
No improvement in test scores from cell phone bans... I've said this for years, we need to take the phones away from the parents rather than the kids... #phone #ban #cellphone
I'm following @NASA@mstdn.social. ∞
I'm following @wxwatch@wx.social. ∞
I'm following @underdarkGIS@fosstodon.org. ∞
I'm following @organicmaps@fosstodon.org. ∞
I'm following @osm_tech@en.osm.town. ∞
I'm following @openstreetmap@en.osm.town. ∞
I'm following @SBCA@mastodon.social. ∞
I'm following @lwvsf@sfba.social. ∞
I'm following @sfchronicle@sfba.social. ∞
I'm following @Mastodon@mastodon.social. ∞
I'm following @dangillmor@mastodon.social. ∞
I'm following @pluralistic@mamot.fr. ∞
I'm following @eff@mastodon.social. ∞
I'm following @snarfed.org@snarfed.org. ∞
I'm following @simon@simonwillison.net. ∞
Only four measures to decide on for June! I'm sure we'll be punished for this in November. Here goes:
Measure A asks San Francisco for $535 million in general obligation bonds to seismically retrofit fire stations, harden police facilities, replace the 110-year-old Potrero Bus Yard, and finally extend the Emergency Firefighting Water System into the Sunset and Richmond, which apparently the previous three earthquake bonds since 2010 forgot about. The USGS puts the odds of a 6.7+ Bay Area earthquake in the next thirty years at 72%. Repayment runs about $933 million over 25 years and doesn't raise property tax rates above the existing cap.
Yes. Working fire infrastructure after an earthquake is a good use of funds. This also upgrades police stations and will be used for the Potrero Yard MUNI project. The MUNI part was previously defeated as a ballot measure in June 2022 (I voted for it then, and happy to do so again this year).
Measure B caps service as mayor or supervisor at two four-year terms over an entire human lifetime. Current law already limits supervisors to two consecutive terms with a four-year cooling-off period; this closes the loophole that lets a former officeholder return after sitting out. In the twenty-five years since district elections came back in 2000, exactly one person has used that loophole. Prop B amends the city charter to prevent it from happening again.
Yes. After two terms, find something else to do. More specifically this amendment means you can't take four years off and then run again, and I'm fine with this change.
Measure C, sponsored by the SF Chamber of Commerce, accelerates a planned business tax cut by a year and raises the small-business gross-receipts exemption from $5 million to $7.5 million, helping about 800 businesses. The controller estimates it costs the city $30-40 million a year, in a year already $169 million in the hole. It also exists primarily to neutralize Prop D - if both pass, whichever gets more votes wins.
No. This is designed to kill measure D, which I also oppose, but it also costs $30-$40 million a year in more generous small business exemptions.
Measure D, sponsored by SEIU and IFPTE Local 21, raises the Top Executive Pay Tax by 800-900% on companies with more than 1,000 employees and $1 billion in revenue whose top executive earns more than 100x the median worker, and redefines "median worker" from the median San Francisco employee to the median global one - which sweeps in basically every large retailer, bank, and tech firm with an SF office. Estimated revenue: $250-300 million a year. Several grocery chains and pharmacies have publicly threatened to leave if it passes.
No. This is a ridiculous tax and I want no part of it. I voted against this in 2020. If we want a tax to signal disapproval of large companies, perhaps it should be based on the percentage of stock that is locked up so you need to ring a bell to get it, but the employee with the key is on a break or otherwise busy. But I don't even think we should do that.
Virginia joins the National Popular Vote movement, bringing the total to 222 electoral college votes. Once we reach 270 presidential politics will pivot from a few hundred thousand swing voters to the needs of the entire nation. We probably wouldn't have elected Trump I and might not be suffering through Trump II today. This is getting close - do something!
I just released AWS IP Update, a Windows Tray application that updates inbound security group rules on AWS EC2 when your IP address changes.
This has been vaguely on my to-do list for years. I didn't bother because I knew how tedious it would be from that time I pulled Azure metrics into Google Data Studio (now Looker) via Apps Script. This whole thing was banged out by Claude Code in five volleys, and I think I wasted those because it could probably have single-shotted it. I did not write a character of code, and it was faster to create than the way I used to get access.
I have a monthly sys admin day where I patch all the things, pull a Google photos archive and run an old fashioned backup to an external hard drive. The hardest part of this psychologically has been getting access to AWS to patch by blog server and pull a backup. My IP address has changed, and I need to log into AWS, find the right settings, look up my external IP address (Google Search used to just show this but it's been broken for ages) and update the EC2 security group. Every other part of the routine is easy, the access part always bums me out. So this is a quick AI tool that not only saves a few minutes a month, it also helps with mood and blood pressure.