Advertisement · 728 × 90

Posts by Russ Cox

It may or may not be true that whether or not you race to use AI heavily right now will determine whether you’re part of a future wealthy elite ruling class or are left behind in poverty and powerlessness.

But if it is true, this strikes me as a deeply immoral future worth fighting hard against.

1 day ago 101 24 5 2
Preview
Opinion | I Saw Something New in San Francisco

"Cognitive surrender".

www.nytimes.com/2026/03/29/o...

1 day ago 50 8 1 0

Did not know you were also a Go! expert.

1 day ago 6 0 1 0

Would still like to know which specific ones matter.

Also, not even everything that looks like it is in github.com/actions really is. You can fork one and make your own commit and then refer to that hash as if it were one of the commits in the original. "Working as intended."

1 day ago 2 1 1 0

💯

I honestly believe I didn't miss any boxes at that level of abstraction. But each of those boxes absolutely does have its own boxes recursively—boxes all the way down.

For instance, all the ways to break into, say, Google Cloud or MacStadium are missing. Or rather "abstracted away". 😀

1 day ago 2 0 0 0

Build deps get attention largely because they are easily computed. Other relevant dep graphs that are harder to compute are ignored.

The GitHub Actions graph is clearly relevant to attacks and should be easily computable from public repos.

What are the 'is-even's of GitHub Actions? Who owns them?

1 day ago 17 2 2 0
Preview
GitHub Action supply chain attack: reviewdog/action-setup | Wiz Blog A supply chain attack on tj-actions/changed-files leaked secrets. Wiz Research found another attack on reviewdog/actions-setup, possibly causing the compromise.

For example, in 2025, a successful attack on the GitHub Action reviewdog/action-setup was used to infect the Action tj-actions/changed-files, with an ultimate target of coinbase/agentkit. www.wiz.io/blog/new-git...

1 day ago 13 2 2 0
Advertisement
Graph of servers involved in serving Go releases, to understand attack surfaces where nefarious code could be introduced.

Graph of servers involved in serving Go releases, to understand attack surfaces where nefarious code could be introduced.

In my 2023 ACM talk, to illustrate how supply chain security is more than just build deps graphs, I showed a graph of the servers involved in building and serving Go releases.

Has anyone done something like this but for GitHub Actions? We have examples now of attacks moving between actions.

1 day ago 45 6 2 0
Preview
Why So Many Control Rooms Were Seafoam Green The Color Theory Behind Industrial Seafoam Green

bethmathews.substack.com/p/why-so-man...

3 days ago 25 3 0 1

AI-generated software clones are going to be another significant bad content driving out good [3]. Not just open source but also commercial, closed source software. And it will put even more strain on copyright [4].

[3] blog.cloudflare.com/vinext/
[4] simonwillison.net/2026/Mar/5/c...

2 weeks ago 4 1 0 0

From the software engineering side, our more pressing examples of bad content driving out good today are the AI-generated low-quality code contributions [1] and security reports [2].

[1] github.com/orgs/communi...
[2] daniel.haxx.se/blog/2025/07...

2 weeks ago 2 1 1 0
Preview
Glassworm Returns: Invisible Unicode Malware Found in 150+ GitHub Repositories The Glassworm supply chain attack is back. Researchers uncovered malware hidden in invisible Unicode characters across 150+ GitHub repositories, plus npm packages and VS Code extensions.

Are you still hiding if no one is looking?

People aren't reading the code at all—they'd see the weird decoder+eval—and machines can see that and also the private use code points.

Also, it's been public since May 2025 and GitHub/NPM/Microsoft have done nothing.

www.aikido.dev/blog/glasswo...

2 weeks ago 39 14 1 1
keyboard(7) - Plan 9 from User Space

On Mac – and — are Option-hyphen and Option-Shift-hyphen.

On Windows – and — are Alt-0150 and Alt-0151 (on the numeric keypad, not sure about laptops).

On Unix, 9fans.github.io/plan9port/ma... explains how to configure X windows programs to accept all of Plan 9's keyboard sequences.

4 weeks ago 3 0 0 0
Preview
The Em Dash - 99% Invisible Last summer, Bryan Vance found himself in an argument with a stranger on Reddit. Vance, a Portland-based journalist who runs Stumptown Savings, a newsletter covering local grocery deals, had been accu...

If this podcast episode is the only good thing that comes of AI, it will have been worth it—

1 month ago 20 3 2 0
Advertisement

👋

1 month ago 1 0 0 0
research!rsc: Floating-Point Printing and Parsing Can Be Simple And Fast (Floating Point Formatting, Part 3)

“Floating-Point Printing and Parsing Can Be Simple And Fast”

The fastest known floating-point printer and parsing algorithms - fixed-width printing, shortest-width printing, and parsing, all in 400 lines of Go.

research.swtch.com/fp
research.swtch.com/fp-proof

2 months ago 76 15 1 2

Definitely turning into one of my longest code reviews ever...

2 months ago 4 0 1 0

Indeed. There are more posts to come, but this "digression post" was ready and it seemed appropriate to post today. Stay tuned!

2 months ago 3 0 1 0
research!rsc: Pulling a New Proof from Knuth’s Fixed-Point Printer

“Pulling a New Proof from Knuth's Fixed-Point Printer”

Happy 88th Birthday to Don Knuth!

And thanks again to @robpike.io for Ivy.

research.swtch.com/fp-knuth

2 months ago 67 8 1 0
Preview
In this episode of ACM ByteCast, Bruke Kifle hosts Russ Cox, Distinguished Engineer at Google. In this episode of ACM ByteCast, Bruke Kifle hosts Russ Cox, Distinguished Engineer at Google.

This was a fun conversation. Thanks to ACM Bytecast for having me on. learning.acm.org/bytecast/ep7...

3 months ago 41 8 1 3
I'm Independently Verifying Go's Reproducible Builds Introducing Source Spotter, a Go Checksum Database auditor and Go toolchain reproducer

Happy to see someone outside Google rebuild/verify Go toolchains. Thanks @agwa.name! www.agwa.name/blog/post/ve...

"So far, Source Spotter has successfully reproduced every toolchain since Go 1.21.0, for every architecture and operating system. As of publication time, that's 2,672 toolchains!"

5 months ago 77 7 0 0
Advertisement

Please send a CL updating x/review/git-codereview to work with this too (grep for auth.cookie).

6 months ago 7 0 0 0
Incident Report: Mis-issued Certificates for SAN iPAddress:1.1.1.1 by Fina RDC 2020 Thank you, Youfu, for bringing this to the community’s attention.

There is some chatter about a CA misissuing a certificate for 1.1.1.1.

This CA (crt.sh?caid=201916, only ~300 certs) is only trusted by the Microsoft root program and the eIDAS QWAC trusted list.

MS has not been actively managing their roots for years, and the EU wanted to push theirs on browsers.

6 months ago 44 14 4 0
Hawaiian gopher shirt pattern.

Hawaiian gopher shirt pattern.

Heading home from #GopherCon 2025 in NYC. As usual, many people asked how to get one of the amazing Go gopher Hawaiian shirts by Renee French. I've posted the details at github.com/rsc/gophersh.... (I know one person who has made pajama pants with the pattern. Socks might be nice too.) Enjoy!

7 months ago 57 12 1 0

Side point: this demonstrates the benefits of plain text file formats. When @robpike.io implemented the coverage tool he made it emit a simple line-based text file that Russ could then manipulate with the ubiquitous Unix tools.

11 months ago 26 3 0 0

That was my first thought but the files aren’t sorted the way comm needs.

11 months ago 2 0 0 0

True enough, but ultimately the problem is some other code that did run and zigged instead of zagging to the code that didn't run. I tried to make that point point earlier ("may prompt useful questions about what logic led to them being skipped...").

11 months ago 1 0 0 0

Overall I think the plumber works pretty well. I wouldn't change much. Language-specific clicking has been replaced by LSPs, but general clicks like URLs, issue numbers, RFCs, email addresses, or phone numbers are still helpful.

11 months ago 1 0 1 0

Use tabs instead.

Years ago, when I worked with someone who insisted on spaces, I wrote a little C program called tab that changed spaces to tabs for my editing; tab -u changed them back.

gist.github.com/rsc/78589f27...

11 months ago 1 0 1 0
research!rsc: Differential Coverage for Debugging

Another fun magic trick!

Differential Coverage for Debugging

research.swtch.com/diffcover

11 months ago 94 28 4 4
Advertisement