Links for May 2026

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

San Francisco June 2026 Ballot Measures

San Francisco Fire Fighting Cistern

Only four measures to decide on for June! I'm sure we'll be punished for this in November. Here goes:

Measure A, Earthquake Safety and Emergency Bond Measure

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, Term Limits for Mayor and Board of Supervisors Charter Amendment

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, Gross Receipts Tax Exemption and Top Executive Pay Tax Increase Initiative

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, Changes to Top Executive Pay Tax Initiative

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 National Popular Vote

Virginia joins National Popular Vote

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!

Update AWS EC2 inbound security group rules when your IP address changes

By . Updated on

AWS IP Update, a Windows Tray application that automatically updates EC2 inbound security rules when an IP address change is detected.

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.

Links for April 2026

By . Updated on
No, Britain Is Not Having a Christian Revival

Reminder that when it's too good to be true, it's not true and vice versa. #etc #religion


I'm following @snarfed.org@snarfed.org.


Microsoft Quietly Killed Opus on the $10 Copilot Pro — Here's the Math on Whether You Should Cancel

The copilot free-ish ride is over. I was not happy to see the slimmed down model list yesterday. Luckily I have Claude Code and Codex. #ai #claude #copilot

Seervo, an LLM Powered Robot

By . Updated on

Seervo LLM AI Robot

I just released Seervo, an open-source LLM-powered robot. The GitHub repo contains source code, a shopping list and 3D files to print the chassis.

Seervo sends an image from its camera to GPT 5.4. The LLM can decide to change the colors of four LEDs and to drive the motors. It has the objective of finding and entertaining humans while avoiding pets at all costs. The video below shows it mostly trying to escape from my dog:

The robot is based on an ESP32 microcontroller with a camera, some motors and a battery. The client code is MicroPython and it talks to an ASP.NET core web service that handles the LLM control calls. You could do everything on the ESP32 but it's easier to tweak prompts and see where it's going wrong with a local server. The server additionally stores memories so the robot can remember what it has been doing recently, and handles memory compaction so any really useful knowledge is retained in the context window.

The code was all written using Claude Opus 4.6. The chassis was designed in OpenSCAD using ChatGPT - something that has been a struggle before but GPT 5.4 can iterate on a 3D model with pretty vague directions.

Let me know if you build one!

Updated 2026-04-05 23:22:

Added an HC-SR04 ultrasonic distance sensor so the robot can now tell how much clear space there is in front of it. Tuned the instructions to use this data and also with formulae to convert distance and rotation to approximate motor run time. This all makes the robot a lot more confident in its movement.

Robert Ellison's blog, I Thought He Came With You, on the Fediverse via fed.brid.gy. Photography, time lapse, programming, politics, hikes and more.