Elsewhere
Articles I’ve written in other places
- StackStash: Taking Bookish Musings to the Next Level (viget.com, 2024-04-09)
- Maintenance Matters: Good Tests (viget.com, 2023-11-29)
- What’s in a Word? Building a Verbose Party Game (viget.com, 2023-05-25)
- Simple Commit Linting for Issue Number in GitHub Actions (viget.com, 2023-04-28)
- Maintenance Matters: Continuous Integration (viget.com, 2022-08-26)
- Pandoc: A Tool I Use and Like (viget.com, 2022-05-25)
- Local Docker Best Practices (viget.com, 2022-05-05)
- Extract Embedded Text from PDFs with Poppler in Ruby (viget.com, 2022-02-10)
- Five Turbo Lessons I Learned the Hard Way (viget.com, 2021-08-02)
- Let’s Make a Hash Chain in SQLite (viget.com, 2021-06-30)
- “Friends” (Undirected Graph Connections) in Rails (viget.com, 2021-06-09)
- Making an Email-Powered E-Paper Picture Frame (viget.com, 2021-05-12)
- Email Photos to an S3 Bucket with AWS Lambda (with Cropping, in Ruby) (viget.com, 2021-04-07)
- Let’s Write a Dang ElasticSearch Plugin (viget.com, 2021-03-15)
- Why I Still Like Ruby (and a Few Things I Don’t Like) (viget.com, 2020-08-06)
- Things About Which The Viget Devs Are Excited (May 2020 Edition) (viget.com, 2020-05-14)
- Testing Solr and Sunspot (locally and on CircleCI) (viget.com, 2018-11-27)
- The Right Way to Store and Serve Dragonfly Thumbnails (viget.com, 2018-06-29)
- The Little Schemer Will Expand/Blow Your Mind (viget.com, 2017-09-21)
- JSON Feed Is Cool (+ a Simple Tool to Create Your Own) (viget.com, 2017-08-02)
- Using Microcosm Presenters to Manage Complex Features (viget.com, 2017-06-14)
- Get Lazy with Custom Enumerators (viget.com, 2015-09-28)
- Functional Programming in Ruby with Contracts (viget.com, 2015-03-31)
- Romanize: Another Programming Puzzle (viget.com, 2015-03-06)
- OTP: a Functional Approach (or Three) (viget.com, 2015-01-29)
- OTP: a Language-Agnostic Programming Challenge (viget.com, 2015-01-26)
- Adding a NOT NULL Column to an Existing Table (viget.com, 2014-09-30)
- Required Fields Should Be Marked NOT NULL (viget.com, 2014-09-25)
- Use .pluck If You Only Need a Subset of Model Attributes (viget.com, 2014-08-20)
- First-Class Failure (viget.com, 2014-07-22)
- Diving into Go: A Five-Week Intro (viget.com, 2014-04-25)
- “What’s new since the last deploy?” (viget.com, 2014-03-11)
- Write You a Parser for Fun and Win (viget.com, 2013-11-26)
- Level Up Your Shell Game (viget.com, 2013-10-24)
- AWS OpsWorks: Lessons Learned (viget.com, 2013-10-04)
- Simple, Secure File Transmission (viget.com, 2013-08-29)
- Simple App Stats with StatBoard (viget.com, 2012-11-28)
- Large Images in Rails (viget.com, 2012-09-18)
- Manual Cropping with Paperclip (viget.com, 2012-05-31)
- Three Magical Git Aliases (viget.com, 2012-04-25)
- New Pointless Project: OfficeGames (viget.com, 2012-02-28)
- The Balanced Developer (viget.com, 2011-10-31)
- Regular Expressions in MySQL (viget.com, 2011-09-28)
- Testing Your Code’s Text (viget.com, 2011-08-31)
- PUMA on Redis (viget.com, 2011-07-27)
- On Confidence and Real-Time Strategy Games (viget.com, 2011-06-30)
- Rails Admin Interface Generators (viget.com, 2011-05-31)
- Convert a Ruby Method to a Lambda (viget.com, 2011-04-26)
- Static Asset Packaging for Rails 3 on Heroku (viget.com, 2011-03-29)
- New Pointless Project: I Dig Durham (viget.com, 2011-02-25)
- Getting into Open Source (viget.com, 2010-12-01)
- Practical Uses of Ruby Blocks (viget.com, 2010-10-25)
- Social Media API Gotchas (viget.com, 2010-09-13)
- CoffeeScript for Ruby Friends (viget.com, 2010-08-06)
- DevNation Coming to San Francisco (viget.com, 2010-07-29)
- Around "Hello World" in 30 Days (viget.com, 2010-06-02)
- Gifts For Your Nerd (viget.com, 2009-12-16)
- HTML Sanitization In Rails That Actually Works (viget.com, 2009-11-23)
- Refresh Recap: The Future of Data (viget.com, 2009-09-25)
- Viget Devs Storm Chicago (viget.com, 2009-09-15)
- Single-Use jQuery Plugins (viget.com, 2009-07-16)
- Simple APIs using SerializeWithOptions (viget.com, 2009-07-09)
- How (& Why) to Run Autotest on your Mac (viget.com, 2009-06-19)
- Unfuddle User Feedback (viget.com, 2009-06-02)
- Backup your Database in Git (viget.com, 2009-05-08)
- Shoulda Macros with Blocks (viget.com, 2009-04-29)
- Out, Damned Tabs (viget.com, 2009-04-09)
- Stop Pissing Off Your Designers (viget.com, 2009-04-01)
- Sessions on PCs and Macs (viget.com, 2009-02-09)
- Getting (And Staying) Motivated to Code (viget.com, 2009-01-21)
- Multi-line Memoization (viget.com, 2009-01-05)
- Protip: TimeWithZone, All The Time (viget.com, 2008-09-10)
- Introducing: EmailLabsClient (viget.com, 2008-07-31)
- RubyInline in Shared Rails Environments (viget.com, 2008-05-23)
- Refresh 006: Dr. jQuery (viget.com, 2008-04-28)
- cURL and Your Rails 2 App (viget.com, 2008-03-28)