Skip to main content
This is my blog.
2025
- Thirteen years of Rust and the birth of Rue Rust
- I see a future in jj Technology
- A tale of two Claudes AI Field Reports AI & LLMs
- Is Rust faster than C? Rust
- I am disappointed in the AI discourse AI musings AI & LLMs
- Rust 1.0, ten years later Rust
- Thoughts on Bluesky Verification Technology
- Thinking like a compiler: places and values in Rust Rust
- Does unsafe undermine Rust's guarantees? Rust
- Choosing Languages Technology
- A Happy Day for Rust Rust
2019
- "C is not how the computer works" can lead to inefficient code Technology
- Porting steveklabnik.com to Workers Sites and Zola Life
- The culture war at the heart of open source Open Source & Community
- I'm joining Cloudflare Life
- What comes after open source Open Source & Community
- Rust has finally outgrown me Rust
- Learning Ada Rust
- What's next for SemVer Open Source & Community
- thank u, next Life
2018
- Thoughts on Rust in 2019 Rust
- Six years with Rust Rust
- Why is Clojure so stable? Technology
- Borrow checking, escape analysis, and the generational hypothesis Technology
- Should you learn C to "learn how the computer works"? Technology
- You can't "turn off the borrow checker" in Rust Rust
- Is WebAssembly the return of Java Applets & Flash? Rust
- WebAssembly is more than just the web Rust
- "The Expressive C++17 Coding Challenge (in Rust)" revisited Rust
- 0b100000 Life
- Looking back at Rust in 2018 Rust
2015
- Docember Ruby & Rails
- Rescuing Resque (again) Ruby & Rails
- "The Rust Programming Language" will be published by No Starch Press Rust
- Community Versions for Rust Rust
- Ember Data: ‘DS’ is not defined Ruby & Rails
- The language strangeness budget Open Source & Community
- Ouroboros Technology
- Hope Life
- An introduction to economics under capitalism Philosophy & Politics
- A new introduction to Rust Rust
2013
- 2013: year in review Life
- Rust is surprisingly expressive Rust
- How Dogecoin changed my perspective on cryptocurrency Technology
- git, history modification, and libuv Technology
- Why I'm partnering with Balanced Life
- On leftist infighting Philosophy & Politics
- Abstract vs concrete Technology
- Pointers in Rust, a guide Rust
- New Beginnings Technology
- Keep Saturdays sacred Life
- Thankfulness Life
- The CLOSURE companion Technology
- Resque 1.25.0 has been released Ruby & Rails
- Just the regularly scheduled apocalypse Technology
- Emoji licensing Technology
- redis-namespace 1.3.1 security release Open Source & Community
- Beware subclassing Ruby core classes Ruby & Rails
- Resque 1.25.0.pre has been released Ruby & Rails
- Removing Turbolinks from Rails 4 Ruby & Rails
- Twitter ghosts Life
- Returning to Free Software, a guide Technology
- Rust-y Scraps: iterating with a step Rust
- Rails 4.0.0-beta1 to Rails 4.0.0-rc1 Ruby & Rails
- Ditching Google Chat with XMPP Technology
- The profile link relation and you REST & Hypermedia
- Closure Life
- Upgrading from Rust 0.5 to 0.6 Rust
- Deleuze for Developers: will smooth space/open source suffice to save us? Deleuze for Developers Philosophy & Politics
- Travis build matrix for Rails Ruby & Rails
- Announcing security_release_practice Open Source & Community
- Going vimgan Open Source & Community
- Using puma on Heroku Ruby & Rails
- I'm writing "Rails 4 in Action"! Ruby & Rails
- The next iteration of "Designing Hypermedia APIs" REST & Hypermedia
- Ruby on Rails maintenance policy Ruby & Rails
- Ember.js and accessibility Ruby & Rails
- How to not rely on rubygems.org for development Ruby & Rails
- Node Technology
- _why is a role, not a person Technology
- Draper 1.0.0 released Ruby & Rails
- Rails has two default stacks Ruby & Rails
2012
- 2012: year in review Life
- Most things I do are interconnected Life
- I invented hypermedia APIs by accident REST & Hypermedia
- An early Christmas present for you Technology
- Announcing request_store Open Source & Community
- Getting started with chruby Ruby & Rails
- Deleuze for developers: deterritorialization Deleuze for Developers Philosophy & Politics
- Deleuze for developers: assemblages Deleuze for Developers Philosophy & Politics
- Draper 1.0.0.beta2 release Ruby & Rails
- Draper 1.0.0.beta1 release Ruby & Rails
- Introducing the rails-api project Ruby & Rails
- Narratives Technology
- How to squash commits in a GitHub pull request Technology
- Theory and practice Technology
- I got hit by a car today Life
- Living with a terrible taste in music Life
- Run Rails with custom patches Ruby & Rails
- How do you find the time? Technology
- Seriously: numbers: use them! Technology
- Resque: let's do this Ruby & Rails
- Software and community Open Source & Community
- Random Ruby Tricks: Class.new Ruby & Rails
- Protocol and language Technology
- Random Ruby Tricks: Struct.new Ruby & Rails
- New blog: Words Life
- Protological Control: an introduction Philosophy & Politics
- DayZ Technology
- Sparrow Technology
- Why I don't like factory_girl Ruby & Rails
- How can I contribute to Ruby on Rails? Ruby & Rails
- Introducing issue2pr Open Source & Community
- Show solidarity to all who resist Philosophy & Politics
- Finale Life
- Shoes 4 work is starting: get involved! Ruby & Rails
- Mixins: a refactoring anti-pattern Technology
- On the eve of #m1gs Technology
- Cards for dad - follow-up Life
- Building StoreEngine Ruby & Rails
- About antisocialne.ws Technology
- Anti-capitalism 101 Philosophy & Politics
- Birthday cards for Dad Life
- Transmuting Philosophy into Machinery Philosophy & Politics
- Hypermedia API reading list REST & Hypermedia
- REST is over REST & Hypermedia
- An API ontology REST & Hypermedia
- Introducing metadown Ruby & Rails
- Moving from Sinatra to Rails Ruby & Rails
- Implementing HATEOS with presenters REST & Hypermedia
2011
- ActiveRecord considered harmful Ruby & Rails
- Devise: ActionController::RoutingError (No Route Matches [GET] /users/sign_out) Ruby & Rails
- Redcarpet is awesome Ruby & Rails
- Write better cukes with the rel attribute REST & Hypermedia
- Marx, anarchism, and web standards Philosophy & Politics
- Fast Rails tests with CanCan Ruby & Rails
- Book review: New Programmer's Survival Manual Technology
- Burnout Life
- Your startup is not a platform Technology
- For science: I'm killing my cell phone Life
- Matz is nice so we are nice Open Source & Community
- Rubinius is awesome Ruby & Rails
- GitHub is anarchy for programmers Technology
- Real, modern Ruby development Ruby & Rails
- I'm deleting my Facebook tonight Life
- More rstat.us refactoring Open Source & Community
- Extracting domain models: a practical example Technology
- We forget that open source is made of people Open Source & Community
- Better Ruby Presenters Ruby & Rails
- The secret to Rails OO design Ruby & Rails
- The self improvement pomodoro Life
- I'm making it dead simple to contribute to Ruby's documentation Ruby & Rails
- Some people understand REST and HTTP REST & Hypermedia
- Twitter is too important to be owned by Twitter Technology
- Nobody understands REST or HTTP REST & Hypermedia
- Single text, many masters Technology
- Contributing to Ruby's documentation Ruby & Rails
- The next iteration of my blog Life
- The first week of rstat.us: users, press, and scaling, oh my! Open Source & Community
- Announcing rstat.us Open Source & Community
- Did you hear? I'm Ruby Mendicant University's first visiting teacher Ruby & Rails
- I'm quitting Hacker News Life
- Living in the cloud Technology
- A few notes on Foucault Philosophy & Politics
- Goals for 2011 Life
2010
- Hackety Hack v1.0 Ruby & Rails
- The hardest decision I've ever made Life
- Trolling is a art Technology
- 80% of success is showing up Technology
- Trouble with Diaspora Technology
- A word about _why, Whyday, and Hackety Hack Ruby & Rails
- A blip in time Life
- A case study in being excellent: Divvy Technology
- Productivity Waves Technology
- A Declaration of the Independence of Cyberspace Technology
- A break with the past Life
- Book review: Rework Technology
- Create a more compelling experience for your users through game mechanics Technology
- Writing a su feature with Authlogic Ruby & Rails
- Reddit drama: an interesting look at community values Open Source & Community