The Curious Engineer

All blogs / Rust

Steve Klabnik

steveklabnik.com

Steve Klabnik's blog posts on programming, technology, and software development

RustSoftware / engineering practiceAI / MLEssays / personal

Posts
233 from 2 Dec 2009 to 21 Sep 2026
Posting
monthly (9 in the last year)
Kind
personal blog
Feed
https://steveklabnik.com/feed.xml

2026 8

  1. Arguing about arguments
  2. So, what happened to my Claude Code series?
  3. Too many words about DIDs
  4. Compilers and AI 'cyber' defense
  5. The most important thing when working with LLMs
  6. Agentic development basics
  7. How to think about Gas Town
  8. Getting started with Claude for software development

2025 11

  1. Thirteen years of Rust and the birth of Rue
  2. I see a future in jj
  3. A tale of two Claudes
  4. Is Rust faster than C?
  5. I am disappointed in the AI discourse
  6. Rust 1.0, ten years later
  7. Thoughts on Bluesky Verification
  8. Thinking like a compiler: places and values in Rust
  9. Does unsafe undermine Rust's guarantees?
  10. Choosing Languages
  11. A Happy Day for Rust

2024 4

  1. When should I use String vs &str?
  2. Against Names
  3. How Does BlueSky Work?
  4. Using the Oxide Console

2023 7

  1. Memory Safety is a Red Herring
  2. Updating Buck
  3. Using Crates.io with Buck
  4. Using buck to build Rust projects
  5. Rust's Golden Rule
  6. You're probably learning a technology in its seventh season, not its pilot
  7. Too many words about Rust's function syntax

2022 1

  1. Ten Years of Ru...ewriting my website

2020 7

  1. Are out parameters idiomatic in Rust?
  2. The CXX Debate
  3. Today is my first day at Oxide Computer Company
  4. The next iteration of my blogs
  5. How often does Rust change?
  6. "C is how the computer works" is a dangerous mindset for C programmers
  7. A sad day for Rust

2019 9

  1. "C is not how the computer works" can lead to inefficient code
  2. Porting steveklabnik.com to Workers Sites and Zola
  3. The culture war at the heart of open source
  4. I'm joining Cloudflare
  5. What comes after open source
  6. Rust has finally outgrown me
  7. Learning Ada
  8. What's next for SemVer
  9. thank u, next

2018 11

  1. Thoughts on Rust in 2019
  2. Six years with Rust
  3. Why is Clojure so stable?
  4. Borrow checking, escape analysis, and the generational hypothesis
  5. Should you learn C to "learn how the computer works"?
  6. You can't "turn off the borrow checker" in Rust
  7. Is WebAssembly the return of Java Applets & Flash?
  8. WebAssembly is more than just the web
  9. "The Expressive C++17 Coding Challenge (in Rust)" revisited
  10. 0b100000
  11. Looking back at Rust in 2018

2017 6

  1. Five years with Rust
  2. User-Agent: moz://a
  3. "The Expressive C++17 Coding Challenge" in Rust
  4. Want to join the Rust docs team?
  5. An overview of macros in Rust
  6. Announcing Rust Contributors

2016 6

  1. Fire Mario not fire flowers
  2. Rust is more than safety
  3. Four years with Rust
  4. What's new with "The Rust Programming Language"
  5. Structure literals vs. constructors in Rust
  6. A eulogy for my 20s

2015 10

  1. Docember
  2. Rescuing Resque (again)
  3. "The Rust Programming Language" will be published by No Starch Press
  4. Community Versions for Rust
  5. Ember Data: ‘DS’ is not defined
  6. The language strangeness budget
  7. Ouroboros
  8. Hope
  9. An introduction to economics under capitalism
  10. A new introduction to Rust

2014 9

  1. Update GitHub Pages with Travis CI
  2. I'm going writeonly on Twitter for a while
  3. Rust's documentation is about to drastically improve
  4. SF
  5. Hypermedia FizzBuzz
  6. How to be an open source gardener
  7. Is npm worth 26MM?
  8. Announcing Emoji 1.0
  9. A 30 minute introduction to Rust

2013 41

  1. 2013: year in review
  2. Rust is surprisingly expressive
  3. How Dogecoin changed my perspective on cryptocurrency
  4. git, history modification, and libuv
  5. Why I'm partnering with Balanced
  6. On leftist infighting
  7. Abstract vs concrete
  8. Pointers in Rust, a guide
  9. New Beginnings
  10. Keep Saturdays sacred
  11. Thankfulness
  12. The CLOSURE companion
  13. Resque 1.25.0 has been released
  14. Just the regularly scheduled apocalypse
  15. Emoji licensing
  16. redis-namespace 1.3.1 security release
  17. Beware subclassing Ruby core classes
  18. Resque 1.25.0.pre has been released
  19. Removing Turbolinks from Rails 4
  20. Twitter ghosts
  21. Returning to Free Software, a guide
  22. Rust-y Scraps: iterating with a step
  23. Rails 4.0.0-beta1 to Rails 4.0.0-rc1
  24. Ditching Google Chat with XMPP
  25. The profile link relation and you
  26. Closure
  27. Upgrading from Rust 0.5 to 0.6
  28. Deleuze for Developers: will smooth space/open source suffice to save us?
  29. Travis build matrix for Rails
  30. Announcing security_release_practice
  31. Going vimgan
  32. Using puma on Heroku
  33. I'm writing "Rails 4 in Action"!
  34. The next iteration of "Designing Hypermedia APIs"
  35. Ruby on Rails maintenance policy
  36. Ember.js and accessibility
  37. How to not rely on rubygems.org for development
  38. Node
  39. _why is a role, not a person
  40. Draper 1.0.0 released
  41. Rails has two default stacks

2012 49

  1. 2012: year in review
  2. Most things I do are interconnected
  3. I invented hypermedia APIs by accident
  4. An early Christmas present for you
  5. Announcing request_store
  6. Getting started with chruby
  7. Deleuze for developers: deterritorialization
  8. Deleuze for developers: assemblages
  9. Draper 1.0.0.beta2 release
  10. Draper 1.0.0.beta1 release
  11. Introducing the rails-api project
  12. Narratives
  13. How to squash commits in a GitHub pull request
  14. Theory and practice
  15. I got hit by a car today
  16. Living with a terrible taste in music
  17. Run Rails with custom patches
  18. How do you find the time?
  19. Seriously: numbers: use them!
  20. Resque: let's do this
  21. Software and community
  22. Random Ruby Tricks: Class.new
  23. Protocol and language
  24. Random Ruby Tricks: Struct.new
  25. New blog: Words
  26. Protological Control: an introduction
  27. Dayz
  28. Sparrow
  29. Why I don't like factory_girl
  30. How can I contribute to Ruby on Rails?
  31. Introducing issue2pr
  32. Show solidarity to all who resist
  33. Finale
  34. Shoes 4 work is starting: get involved!
  35. Mixins: a refactoring anti-pattern
  36. On the eve of #m1gs
  37. Cards for dad - follow-up
  38. Building StoreEngine
  39. About antisocialne.ws
  40. Anti-capitalism 101
  41. Birthday cards for Dad
  42. Transmuting Philosophy into Machinery
  43. Hypermedia API reading list
  44. REST is over
  45. Two pomodoros
  46. An API ontology
  47. Introducing metadown
  48. Moving from Sinatra to Rails
  49. Implementing HATEOS with presenters

2011 34

  1. ActiveRecord considered harmful
  2. Redcarpet is awesome
  3. Write better cukes with the rel attribute
  4. Marx, anarchism, and web standards
  5. Fast Rails tests with CanCan
  6. Devise: ActionController::RoutingError (No Route Matches [GET] /users/sign_out)
  7. Book review: New Programmer's Survival Manual
  8. Burnout
  9. Your startup is not a platform
  10. For science: I'm killing my cell phone
  11. Rubinius is awesome
  12. GitHub is anarchy for programmers
  13. Real, modern Ruby development
  14. I'm deleting my Facebook tonight
  15. More rstat.us refactoring
  16. Extracting domain models: a practical example
  17. Better Ruby Presenters
  18. The secret to Rails OO design
  19. The self improvement pomodoro
  20. I'm making it dead simple to contribute to Ruby's documentation
  21. Matz is nice so we are nice
  22. We forget that open source is made of people
  23. Some people understand REST and HTTP
  24. Twitter is too important to be owned by Twitter
  25. Nobody understands REST or HTTP
  26. Single text, many masters
  27. The next iteration of my blog
  28. Contributing to Ruby's documentation
  29. The first week of rstat.us: users, press, and scaling, oh my!
  30. Announcing rstat.us
  31. Did you hear? I'm Ruby Mendicant University's first visiting teacher
  32. I'm quitting Hacker News
  33. A few notes on Foucault
  34. Goals for 2011

2010 17

  1. Hackety Hack v1.0
  2. The hardest decision I've ever made
  3. Trolling is a art
  4. 80% of success is showing up
  5. Trouble with Diaspora
  6. A word about _why, Whyday, and Hackety Hack
  7. A blip in time
  8. A case study in being excellent: Divvy
  9. Productivity Waves
  10. A Declaration of the Independence of Cyberspace
  11. A break with the past
  12. Living in the cloud
  13. Book review: Rework
  14. Create a more compelling experience for your users through game mechanics
  15. Writing a su feature with Authlogic
  16. Why bother creating?
  17. Reddit drama: an interesting look at community values

2009 3

  1. The Hackety Manifesto
  2. The Little Coder's Predicament
  3. About Crows