Code Signing Inflation

A monk illuminates some code

I have been in a Windows software writing funk for the past year because my code signing certificate expired and during those happy three years of signing the industry changed beyond all recognition.

Code signing, or Authenticode, proves that my software came from me and hasn't been altered (as long as I'm not careless with my private key, and some alteration is possible). Windows is increasingly hysterical about running unsigned installers, and for good reason, so I have always signed anything I distribute widely.

For a long time I used K Software, who resold Comodo certificates (now Sectigo), and that cost me $70 a year with a 3 year certificate. K Software doesn't seem to exist any more, and Sectigo's list price is $715 / year. I'm not paying that to distribute free software. Part of the cost increase is that private keys either need to be on secure devices or hosted. Not a bad idea as compromised keys are an obvious disaster. There are some cheaper resellers but any palatable certificate cost seems to require a paid service for the actual signing.

When I last looked at this Microsoft had an interesting option on Azure (Artificat Signing) but it was only open to companies with three years of history, and so I gave up and worked on Android and web apps instead. This has now changed, and you can get an individual code signing service up and running for $10/month. I don't love it, but I'm willing to pay. There is a 'quick start' guide to get you up and running. I highly recommend pasting this into the LLM of your choice for a walkthrough, as it's a miserable process. I have got it going though and released a Catfood Earth update. Because it's a new certificate I'm starting from scratch on anti-virus reputation, unavoidable.

A few tips. Make sure your billing account for Azure is the name you want on the certificate first. Azure is a beast - full of things like progress for activating a service that ends up with it in an unactivated state until you refresh the page, or a mandatory selection on step 2 of a process that blocks you from completing step 1. I don't feel that this is a service they're excited to provide. Identity verification was online and fast which was pleasant (based on a drivers license for me). The person plan requires you to be in the US or Canada and supports up to 5,000 signatures a month.

Catfood Earth 4.41

By . Updated on

Time Zone Color Map

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 to 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 (more here) 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.

San Francisco to Russian River

Russian River Area

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.

Find your candidate in the California June 2026 governor primary with Retrieval Augmented Voting

Retrieval Augmented Voting (RAV)

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.

Links for May 2026

By . Updated on
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. ∞

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!

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.