Articles and talks

By Richard Crowley

2022

  • 2022-11-08 — Mastodon the hard way
  • 2022-11-02 — An AWS account just for getting into other AWS accounts
  • 2022-10-27 — The Rails/Django parable
  • 2022-10-13 — You should have lots of AWS accounts
  • 2022-04-25 — Substrate from Source & Binary

2021

  • 2021-08-03 — Fourth-generation configuration management
  • 2021-03-26 — Technical Ops and Compliance — From Bootstrap to Scale with Richard Crowley, Eliot Durbin interviewing me about engineering, compliance, on-premises software, and more plus some silly stories about graphs

2020

  • 2020-12-04 — a departure from the usual subject matter to document building my Argonaut RM3 (that’s a bicycle)
  • 2020-04-27 — Almost six years at Slack
  • 2020-04-15 — O’Reilly Chaos Engineering

2019

  • 2019-11-12 — 16 hours at a polling place
  • 2019-10-25 — WDR on team composition
  • 2019-08-01 — Disasterpiece Theater
  • 2019-05-05 — Typed Go errors
  • 2019-03-27 — 2019 Santa Clara AWS Summit, where I was the special guest in a session all about AWS KMS, talking about how Slack EKM integrated with that excellent service
  • 2019-03-18 — Audrei Drummond’s How We Built Slack Enterprise Key Management tells all about a project we spent a year together making happen

2018

  • 2018-09-25 — Infrastructure Now 2018, an interview with Julia Grace, me, and many others from across the industry, editied by Jenn Webb, Nikki McDonald, Ines Sombra, and James Turnbull
  • 2018-03-25 — Throwing the Hail Mary and Securing a Job by Dinner, an interview with me by Mark Pydynowski on Monday Karma

2017

  • 2017-09-25 — Slack on Amazon's “This is My Architecture” series
  • 2017-09-07 — Apprentices of Scale at the PagerDuty Summit

2016

2015

  • 2015-12-13 — DevStructure Redux

2014

  • 2014-04-25 — Building web services in Go at GopherCon 2014
  • 2014-04-15 — Certified
  • 2014-01-15 — Building web services in Go at GoSF (video)

2013

  • 2013-12-13 — Go web services with Tiger Tonic
  • 2013-12-03 — A State Machine Datastore in the Wild at Basho Chats 008
  • 2013-11-19 — Regarding retries and restarts at Opsmatic’s tech talks (video)
  • 2013-09-20 — Patterns for scalable web services in Go at Strange Loop 2013 (video)
  • 2013-09-12 — A State Machine Datastore in the Wild at Surge 2013 (video)
  • 2013-08-23 — Taming the Cowboy Laptop at PuppetConf 2013 (video)
  • 2013-08-08 — Developing Operability at Agile 2013
  • 2013-04-27 — Graceful stopping in Go
  • 2013-04-19 — Go acknowledgement test
  • 2013-02-19 — Node.js at Betable at Node.js ++ (Serverside Javascripters) Club SF

2012

  • 2012-08-03 — Federated Graphite
  • 2012-02-25 — Developing Operability at SuperConf
  • 2012-01-03 — Square

2011

  • 2011-10-04 — Blueprints in the new AWS CloudFormation
  • 2011-09-29 — Blueprint: configuration management for busy people at RubyConf (video)
  • 2011-09-21 — Monads without pretension
  • 2011-09-14 — Blueprint: configuration management for busy people at SF Python Meetup
  • 2011-08-23 — Blueprint: configuration management for busy people at SF DevOps Meetup
  • 2011-05-07 — A blueprint is not a diff but it doesn’t matter
  • 2011-04-28 — Extending Puppet at Puppet Camp EU 2011
  • 2011-03-28 — Operable Ruby
  • 2011-03-24 — Why is configuration management software written in Ruby? at Ruby on Ales (with video at 1:12:07)
  • 2011-03-11 — Dependency Management with Puppet at PyCon (long form with video)
  • 2011-01-28 — Debian packaging for busy people — Debra and Freight
  • 2011-01-13 — Git Paid, the programmer’s time tracker
  • 2011-01-11 — Extending Puppet at Silicon Valley Puppet Meetup

2010

  • 2011-11-17 — Dependency management with Puppet at SF Django Meetup (with video in parts two and three)
  • 2010-11-11 — Dependency management with Puppet at Carbon Five
  • 2010-11-10 — Dependency management with Puppet at SFPython
  • 2010-11-08 — Securing and Extending Puppet
  • 2010-10-14 — Securing and Extending Puppet at Strange Loop 2010
  • 2010-10-07 — Securing and Extending Puppet at Puppet Camp 2010
  • 2009-09-29 — Dependency management with Puppet at SFRuby
  • 2010-09-27 — Dependency management for grown ups
  • 2010-08-16 — Introducing Doubledown
  • 2010-07-27 — MultIO Ruby IO Multiplexer
  • 2010-06-24 — Redis in Ganglia
  • 2010-06-14 — rxvt-unicode
  • 2010-05-11 — Debra
  • 2010-05-10 — q, r, s, t
  • 2010-03-10 — Man pages versus RubyGems
  • 2010-02-23 — Clint, a Ruby command line argument parser
  • 2010-02-08 — OpenDNS MySQL abuses
  • 2010-02-08 — Leaving OpenDNS
  • 2010-01-29 — PHP references
  • 2010-01-27 — JSON in PHP
  • 2010-01-06 — Things UNIX can do atomically

2009

  • 2009-09-14 — Turkey typing
  • 2009-09-12 — The case against duck typing
  • 2009-06-27 — BashReduce
  • 2009-06-23 — Building OpenDNS Stats at Velocity 2009
  • 2009-05-01 — (spacetimeshift)
  • 2009-04-26 — Haystack and Whoosh notes
  • 2009-04-09 — Colleges courses I should have taken
  • 2009-04-02 — How-to
  • 2009-03-16 — Distributed version control
  • 2009-03-03 — Drizzle
  • 2009-02-27 — Diversion
  • 2009-01-24 — django-twitterauth
  • 2009-01-13 — Out of paper

2008

  • 2008-12-15 — Django
  • 2008-10-26 — Hacking the Ruby interpreter
  • 2008-10-23 — Allspaw&rsquos playbook
  • 2008-09-21 — Updates to my street sweeping app
  • 2008-09-14 — Dopploadr at Yahoo! Open Hack Day
  • 2008-09-07 — Uploadr extension extensions
  • 2008-09-03 — Bashpress
  • 2008-08-26 — mtrace, and the bug I&rsquove been chasing for weeks
  • 2008-08-25 — So many projects
  • 2008-08-17 — It&rsquosablog
  • 2008-06-04 — PownceFS, round two
  • 2008-05-16 — Where&rsquos my car?
  • 2008-05-04 — Teaching math
  • 2008-04-28 — MacBook Pro updates imminent (speculation)
  • 2008-04-08 — Starting at OpenDNS today
  • 2008-03-22 — PownceFS
  • 2008-03-19 — Oh yeah, that&rsquos right, I went to SXSW
  • 2008-03-03 — Functional programming in C
  • 2008-02-25 — Firefox 3 — more better
  • 2008-02-11 — More GReader hacking — immersion
  • 2008-02-08 — readelicious — hacking del.icio.us directly into Google Reader
  • 2008-02-05 — Stop doing it yourself and use CPAN — curvr-0.2
  • 2008-01-29 — iCal timezones are wrong
  • 2008-01-22 — wp-screenshots plugin
  • 2008-01-22 — Please don&rsquot X-UA-Compatible me like that
  • 2008-01-14 — When you can&rsquot statically link, manifest

2007

  • 2007-12-30 — (Post)fixing your (email) life
  • 2007-12-29 — Irish stew
  • 2007-12-20 — Flickr Uploadr 3.0 lives
  • 2007-12-13 — Launching a localized XULRunner app
  • 2007-12-01 — Fun with Unicode!
  • 2007-11-18 — The 10 essentials (Boy Scout style)
  • 2007-11-15 — MD5 in XULRunner (or Firefox extensions)
  • 2007-11-14 — Bold headers (Design patterns as told by the engineer)
  • 2007-11-10 — Call Comcast to get the real Discovery HD
  • 2007-11-08 — Introducing curvr
  • 2007-10-30 — Meebo platform needs to come to XULRunner
  • 2007-10-22 — HTML layout the XUL way
  • 2007-10-20 — Where did all my XULRunner tips go?
  • 2007-10-05 — Headed to St. Louis
  • 2007-09-23 — JSONRequest amendment
  • 2007-09-16 — Help me decide what C code to write
  • 2007-09-13 — Friend buckets through XFN
  • 2007-09-09 — New domain, but you&rsquod never notice
  • 2007-09-06 — Enough with web desktops
  • 2007-09-03 — XUL and XHTML run together
  • 2007-08-23 — A few reasons TiVo is better than Comcast DVR
  • 2007-08-22 — jQuery conditionals plugin
  • 2007-08-19 — BarCampBlock gets me thinking
  • 2007-08-10 — Cost analysis of running a server at your house
  • 2007-08-08 — Bugfix for nsIStringBundle
  • 2007-08-07 — Threading in Gecko 1.9
  • 2007-08-03 — XUL overlays demystified
  • 2007-08-01 — Faceball
  • 2007-07-26 — Is there honor left in bike racing?
  • 2007-07-22 — Develop and deploy on the same box with Capistrano
  • 2007-07-17 — Cross platform XPCOM (a howto)
  • 2007-07-12 — CVS oops fix
  • 2007-07-09 — Comcast DVR != TiVo
  • 2007-07-07 — Google-burned
  • 2007-07-05 — It&rsquos been two weeks?
  • 2007-07-01 — Do it right
  • 2007-06-26 — On permanance
  • 2007-06-25 — Hello (new) world