The Curious Engineer

All blogs / Go

research!rsc

research.swtch.com

GoSoftware / engineering practiceSecurityAlgorithms / data structures

’10’15’20’25
Posts
127 from 1 Jan 2008 to 19 Jan 2026
Posting
now and then (4 in the last year)
Kind
personal blog
Feed
https://research.swtch.com/feed.atom

2026 4

  1. Fast Unrounded Scaling: Proof by Ivy
  2. Floating-Point Printing and Parsing Can Be Simple And Fast
  3. Pulling a New Proof from Knuth’s Fixed-Point Printer
  4. Floating Point Formatting

2025 1

  1. Differential Coverage for Debugging

2024 3

  1. Hash-Based Bisect Debugging in Compilers and Runtimes
  2. The xz attack shell script
  3. Timeline of the xz open source attack

2023 13

  1. Go Changes
  2. Go Testing By Example
  3. Open Source Supply Chain Security at Google
  4. Running the “Reflections on Trusting Trust” Compiler
  5. C and C++ Prioritize Performance over Correctness
  6. Coroutines for Go
  7. Storing Data in Control Flow
  8. Opting In to Transparent Telemetry
  9. Transparent Telemetry
  10. Use Cases for Transparent Telemetry
  11. The Design of Transparent Telemetry
  12. Transparent Telemetry for Open-Source Projects
  13. The Magic of Sampling, and its Limitations

2022 2

  1. Go’s Version Control History
  2. What NPM Should Do Today To Stop A New Colors Attack Tomorrow

2021 5

  1. On “Trojan Source” Attacks
  2. Updating the Go Memory Model
  3. Programming Language Memory Models
  4. Memory Models
  5. Hardware Memory Models

2019 11

  1. The Principles of Versioning in Go
  2. Go Proposal Process: Representation
  3. Go Proposal Process: Enabling Experiments
  4. Go Proposal Process: Scaling Discussions
  5. Go Proposal Process: Large Changes
  6. Go Proposal Process: Clarity & Transparency
  7. Go Proposals
  8. Thinking about the Go Proposal Process
  9. Transparent Logs for Skeptical Clients
  10. An Encoded Tree Traversal
  11. Our Software Dependency Problem

2018 11

  1. Why Add Versions To Go?
  2. What is Software Engineering?
  3. The vgo proposal is accepted. Now what?
  4. Versioned Go Commands
  5. Defining Go Modules
  6. Reproducible, Verifiable, Verified Builds
  7. Minimal Version Selection
  8. Semantic Import Versioning
  9. Go & Versioning
  10. A Tour of Versioned Go (vgo)
  11. Go += Package Versioning

2017 5

  1. How Many Go Developers Are There?
  2. Glob Matching Can Be Simple And Fast Too
  3. My Go Resolutions for 2017
  4. Go and Dogma
  5. Lock-Free Bugs

2016 1

  1. Version SAT

2013 2

  1. Hacking the OS X Kernel for Fun and Profiles
  2. How To Build a User-Level CPU Profiler

2012 7

  1. A Tour of Acme
  2. A Tour of Go
  3. QArt Codes
  4. Finite Field Arithmetic and Reed-Solomon Coding
  5. Random Hash Functions
  6. go blog()
  7. Regular Expression Article #4

2011 5

  1. Floating Point to Decimal Conversion is Easy
  2. Minimal Boolean Formulas
  3. Irregular expression matching with the .NET stack
  4. Knuth, Volume 4A
  5. The MOS 6502 and the Best Layout Guy in the World

2010 13

  1. Visualizing TCP
  2. Yacc is Not Dead
  3. Webscript
  4. Computing Machines
  5. Broken abstractions in Go
  6. Zip Files All The Way Down
  7. Regular Expression Article #3
  8. Formal Logic Club
  9. UTF-8: Bits, Bytes, and Benefits
  10. Off to the Races
  11. Names
  12. Go's Package Name Space
  13. Generating Good Syntax Errors

2009 7

  1. Gofmt
  2. Regular Expression Article #2
  3. Data Structures Go Programs
  4. The Generic Dilemma
  5. Go Data Structures: Interfaces
  6. Go Data Structures
  7. Is This Thing On?

2008 36

  1. Electoral Programming
  2. Lessons from the Debian/OpenSSL Fiasco
  3. Mel was Real
  4. Backups, heal thyself
  5. Bi-quinary and other bases
  6. Computing History at Bell Labs
  7. Bigger Programs are Better, not Best
  8. Alphabetical Order
  9. Using Uninitialized Memory for Fun and Profit
  10. Rotating Hashes
  11. Leaping Years and Drawing Lines
  12. Face the Nation
  13. Permissive Access Links
  14. Elegance and Power
  15. Worms and Distributed Computations
  16. The Hideous Name
  17. Bourne Shell Macros
  18. Traveling Passenger Problems
  19. Absolute File System Design
  20. B Languages
  21. Traffic Lights and Buridan's Ass
  22. The Discovery of Debugging
  23. Unix Viruses
  24. On Duff's Device and Coroutines
  25. Play Tic-Tac-Toe with Knuth
  26. Debugging the Universe
  27. I Could Tell You, But ...
  28. Play Chess with God
  29. Superoptimizer
  30. Division via Multiplication
  31. Scooping the Loop Snooper
  32. Crabs, the bitmap terror!
  33. Bitblt
  34. Literate Programming with Lguest
  35. Killing Quicksort
  36. Introduction

Undated 1

  1. Russ Cox