pragmatist
Patrick Joyce

January 4, 2025

What I Read in 2024

I read 27 books in 2024. 3 in Spanish Continue Reading »

March 12, 2024

What I Read in 2023

I read 18 books in 2023. Including 5 in Spanish. Continue Reading »

August 13, 2023

Monitor For The Absence Of Success, Not Just the Presence of Failures

Comprehensive monitoring requires looking for both the presence of failure and the absence of success Continue Reading »

January 1, 2023

What I Read in 2022

I read 18 books in 2022. Including 4 in Spanish. Continue Reading »

August 11, 2022

A Brief Morality Play About A Cool, User Friendly Feature

I get super excited about an idea, figure out how it could work technically with current standards, and realize why it wouldn't do much good in the real world. All in 5 minutes. Continue Reading »

March 5, 2022

What I Read in 2021

I read 39 books in 2021. Continue Reading »

February 14, 2021

What I Read in 2020

I read 10 books in 2020. Continue Reading »

June 16, 2020

OKRs: Delivery Results, Adoption Results, and Impact Results

OKRs create clarity within our teams, alignment across our teams, and autonomy for our teams. Looking at the type of results we're defining can help teams achieve more impact faster. Continue Reading »

March 17, 2020

What I Read in 2019

I read 41 books in 2019. Continue Reading »

April 21, 2019

How to Make Crabcakes

One of the key pieces of fatherly wisdom I’ve imparted on my children is “Never order crabcakes outside of Maryland.” Here's how we make them in our house. Continue Reading »

January 21, 2019

An Overly Serious Analysis of Hi-Ho! Cherry-O

Running monte carlo simulations of a game intended for pre-schoolers. Continue Reading »

January 9, 2019

What I Read in 2018

I read 28 books in 2018. Continue Reading »

April 8, 2018

Interview With Me at Managers Club

I did a brief interview with Managers Club. You can read the whole thing here. Continue Reading »

December 31, 2017

What I Read in 2017

I finished 14 books in 2017. Continue Reading »

May 6, 2017

Managing Unmanageable Complexity

I recently spoke at RailsConf about one of the worst bugs I've ever been involved with, aviation, surgery, and how checklists can help us to deploy higher quality software, faster, and with less stress. Continue Reading »

February 20, 2017

Flying With Kids

I've flown with my kids a lot. Here are some tips for making it easier. Continue Reading »

February 18, 2017

Setting Up Microsoft Surface Ergonomic Keyboard on Mac (Sierra)

Here's how I got the Microsoft Surface Ergonomic Keyboard to work on MacOS Sierra. Continue Reading »

January 9, 2017

What I Read in 2016

I finished 18 books in 2016. Continue Reading »

December 30, 2016

Setting Up Microsoft Surface Ergonomic Keyboard on Mac (El Capitan)

Here's how I got the Microsoft Surface Ergonomic Keyboard to work on MacOS El Capitan. Continue Reading »

January 1, 2016

Looking Back at 2015

I finished 14 books in 2015. Continue Reading »

April 19, 2015

What did I do with all that time?

Inspiration is for amateurs; the rest of us just show up and get to work. Continue Reading »

December 11, 2014

Email Design from OpenTable

I very much like the new confirmation email design from Open Table. Continue Reading »

November 12, 2014

Build vs. Buy

When faced with a new project the first choice a technology leader has to make is whether to build it yourself or find some existing solution that you can buy. Continue Reading »

July 3, 2014

What is a "valid" character?

If you're going to limit the characters that can be used in a password, don't make your users guess what characters are 'valid'. Continue Reading »

May 13, 2014

Redesign

Over the last few weeks I've redesigned this site and I'm quite pleased with the outcome. Continue Reading »

March 3, 2014

Agile with a lowercase 'a'

Agile is an adjective. It is not a noun. It isn't something you do, it is something you are. Continue Reading »

January 29, 2014

Executable Comments: `say_with_time`

Replace comments with executable code to provide explanatory information and reduce the risk of it becoming outdated. Continue Reading »

September 6, 2013

Installing Erlang R16B on Max OSX 10.8.4 using Homebrew - Undefined symbols for architecture x86_64: '___sync_val_compare_and_swap_1'

I had to install Erlang R16B on Max OSX 10.8.4 using Homebrew. Here's how I did it. Continue Reading »

August 5, 2013

Great New Software: Calca

Calca is a hybrid Markdown editor and calculator. It's awesome. Continue Reading »

July 19, 2013

Build It Twice

Resist the urge to abstract until you've learned what is general to a class of problems and what is specific to each problem. Continue Reading »

July 17, 2013

The Senior Software Engineer

My friend Dave Copeland book wrote a new book called The Senior Software Engineer. It is good. Here's why. Continue Reading »

June 20, 2013

How do you end up with a great product a year from now?

Nail the next two weeks. 26 times in a row. Continue Reading »

June 14, 2013

The Genius of Uber

Uber's success has spawned many imitators trying to become the 'Uber for X', but they're destined to fail because they don't understand why the car service market is so perfect for Uber. Continue Reading »

March 2, 2013

The Slow Android Upgrade Curve is a Real Problem

Tim Bray argues that the slow upgrade curve for Android doesn't matter for developers. I disagree. Continue Reading »

February 15, 2013

Calculating Sample Sizes for AB Tests with Vanity (and R)

Learn how to calculate the necessary sample size for AB tests based on your base conversion rate, desired detectable difference, and statistical confidence requirements. Continue Reading »

January 18, 2013

Link: Any sufficiently technical expert is indistinguishable from a witch

I'm pissed that Aaron Schwartz was facing years in federal prison for violating a ToS. Continue Reading »

January 17, 2013

reject bang considered harmful

reject! has some (at least to me) unexpected behavior that can easily lead to bugs. Continue Reading »

January 4, 2013

Two Small OSX Settings Changes that Make Me Much Happier

I've made two small configruation changes to my Mac that have made me much happier. Continue Reading »

January 3, 2013

Non-Even AB Testing Splits with Vanity

I've been using Vanity for a while now and here's how I run AB tests with non-even splits so I can expose a new feature to a smaller percentage of users during a test. Continue Reading »

June 5, 2012

Rails 2.3 fix for CVE-2012-2660: Unsafe Query Generation

Last Thursday the Rails security team announced CVE-2012-2660. Here's how I backported it to 2.3.X Continue Reading »

March 24, 2012

The Elements of Ruby Style: Predicate Methods

Methods ending in a question mark are called predicate methods and are an important part of idiomatic Ruby style. This post explains how to use them correctly. Continue Reading »

March 10, 2012

The War on Comments Isn't Over

I think most comments can be replaced with better tests, clearer code, and more descriptive variable names. In this post I argue with my friend Dave Copeland about the proper role of comments in Ruby. Continue Reading »

February 20, 2009

Boxee, Hulu, and the Future of Video Advertising

Hulu is cutting off access on Boxee which I think is stupid and incredibly short sighted, but I’m going to ask another question: Why are TV ads more profitable than video ads in a Hulu stream on a per impression basis? Continue Reading »

December 18, 2008

Teachers and Quarterbacks

Malcolm Gladwell's latest New Yorker article is a really interesting look at the similarities between trying to draft an NFL quarterback and trying to hire a good public school teacher. Continue Reading »

December 2, 2008

Alexa Web Crawler - TamperedWithCookie Error

I've recently started receiving a ton of TamperedWithCookie errors on an application I manage. Continue Reading »

November 21, 2008

Interesting Things to Read

I’ve recently read some excellent long form magazine articles. Continue Reading »

November 7, 2008

Error - rake ultrasphinx:configure

A confusing error and how we fixed it. Continue Reading »

November 5, 2008

Election 2008

I'm very happy with the outcome of the 2008 election, but apart from that I think we witnessed something special. Continue Reading »

October 15, 2008

The Me Meme

Taking a break from work to participate in a silly blog meme. Continue Reading »

September 22, 2008

Freezing to Rails 2.0.4

I'm ran into a problem when trying to freeze to Rails 2.0.4, here's how I fixed it. Continue Reading »

July 26, 2008

Explanatory Text is a UI Design Smell

Explanatory text in user interfaces often indicates deeper design issues that could be solved with better UX choices. Continue Reading »

July 1, 2008

Smartphones

I think that the release last year of the iPhone represented the biggest jump in computing since the introduction of the personal computer in the 1980’s. But I hope it doesn't remain the only good mobile device. Continue Reading »

May 2, 2008

Cool Shopping Cart Interface

Baggu's shopping cart interface is a great example of how to make a shopping cart interface easy to use. Continue Reading »

April 24, 2008

Web Content Mavens Meeting: Tuning Up Your Web Analytics

I attended the Web Content Mavens Meeting and learned a few things about web analytics. Continue Reading »

March 19, 2008

SandwichBoard Launch

The startup I co-founded launched today. SandwichBoard is the best way to create and maintain a restaurant’s website. Continue Reading »

March 4, 2008

Why the Obama "Brand" Is Working

I think that the Obama campaign's branding is a great example of how to use branding to create a movement. Continue Reading »

February 7, 2008

Expectations

Wherein I rant about about bad techincal support experience. Continue Reading »

January 24, 2008

Azureus Error: Malformed RSS XML: The reference to entity "xxx" must end with the ';' delimiter.

I had to fix an error in Azureus' RSSFeed Scanner plugin. Continue Reading »

January 23, 2008

User Experience at the Doctor's Office

I went to the doctor for the first time in years and was shocked by how bad the user experience was. Continue Reading »

January 22, 2008

alias versus alias_method

A comparison of Ruby's alias and alias_method, explaining their syntax differences and how they both copy methods but with slightly different approaches. Continue Reading »

January 13, 2008

Airline Security

I was catching up on some reading today and came across two sad commentaries on the current state of airline security in our country. Continue Reading »

December 22, 2007

Interview With Ian

My co-founder Ian Lotinsky was interviewed about SandwichBoard. Continue Reading »

November 21, 2007

I'm a Rails Contributor!

My first patch was committed to the Rails trunk yesterday. I’m pretty excited. Continue Reading »

November 10, 2007

NovaRUG Presentation - November 28

I will be presenting at the Northern Virginia Ruby Users Group meeting about the Liquid templating language. Continue Reading »

November 9, 2007

Getting Google Notifier for Mac To Work With Multiple Accounts

Today I decided to figure out how to set up Google Notifier for Mac to work with multiple accounts. Continue Reading »

October 18, 2007

Speaking at the November NovaRUG Meeting

I will be speaking about the Liquid templating language at the November meeting of the Northern Virginia Ruby Users Group. Continue Reading »

October 18, 2007

NovaRUG Recap

I went to the NovaRUG meeting tonight. Here is a recap. Continue Reading »

October 18, 2007

EasilyInvited Will Breath Again

I plan on bringing EasilyInvited back up soon. Continue Reading »

October 17, 2007

Underscores are Invalid in Host Names

I was working on a project that uses cookies tied to a particular subdomain. The hostnames we were using for testing were of a format like subdomain_name.localhost.com. Everything worked fine on Firefox, but we couldn’t authenticate from IE. Upon closer inspection we noticed that a new session ID was being generated for each request. Continue Reading »

October 16, 2007

Mexican HS Team Plays Texas Team in American Football

I read an interesting article about a Mexican high school team playing a Texas team in American football. Continue Reading »

October 2, 2007

One Month of Work

Progress one month into our startup. Continue Reading »

September 29, 2007

Wow.

I attended RubyEast today. It was a good conference, obviously much smaller than RailsConf, but a nice break from working on the startup and a good chance to meet other rubyists. Continue Reading »

September 19, 2007

Italian Comment Spam?

Why is all my comment spam in Italian? Continue Reading »

September 19, 2007

Confusing Rails Error Message

I got this error message today and it took me a while to figure out what it meant. Continue Reading »

September 3, 2007

Time To Build That Airplane

I can’t remember where I read it, but I remember someone once saying that doing a startup is like jumping off a cliff and trying to build a plane on the way down. Continue Reading »

September 3, 2007

MLS Highlights Script for XBMC

I wrote a script to watch MLS highlights on XBox Media Center. Continue Reading »

August 9, 2007

What I'm Reading

I'm going to try to keep the links relevant to this blog, so generally they will be nerdy, but look for occasional econ, sports, and political things too. Continue Reading »

July 23, 2007

Rails Environments Gotcha

I ran into a problem with Rails environments and constants but eventually figured it out. Continue Reading »

July 23, 2007

Introducing EasilyInvited

I've built and released a web application for sending and tracking invitations. I'm going for an Evite that doesn't suck. Continue Reading »

July 21, 2007

Johan Cruyff on Simplicity

I read this quote from Johan Cruyff and it made me think about how I approach programming. Continue Reading »

July 19, 2007

July NOVA RUG Recap

I went to the NOVA RUG meeting tonight. It was my first NOVA RUG meeting and I’m glad that I went. Continue Reading »

July 16, 2007

Strange Ticketmaster Validation

I had a strange validation error when trying to forward my DC United season tickets. Continue Reading »

July 11, 2007

Broken URL Encoding in .Net and the AntiXssLibrary

I ran into a problem with URL encoding in .Net and the AntiXssLibrary. Continue Reading »

July 2, 2007

Kiva Loan Repaid

I made a small loan to a woman in Mexico via Kiva and she paid it back on time. Continue Reading »

June 20, 2007

Mephisto: Can't Respond to Comments on Your Own Blog

I had a problem with Mephisto where I couldn't respond to comments on my own blog. Continue Reading »

June 20, 2007

Helvetica and Grid Based Design

I went to see the documentary Helvetica and have been thinking about grid based design. Continue Reading »

June 5, 2007

Techniques for a Modern Web UI Presentation

I gave a presentation about modern web UI patterns to my department at work. Continue Reading »

May 20, 2007

The Rails Way: Jamis Buck and Michael Kosiarski

Notes from the session at RailsConf 2007. Continue Reading »

May 20, 2007

Scaling Twitter

Notes from the Scaling Twitter session at RailsConf 2007. Continue Reading »

May 20, 2007

Rubber Meet Road: Working with Designers

Notes from the Rubber Meet Road session at RailsConf 2007. Continue Reading »

May 20, 2007

RailsConf Day 3 Overview

Notes on my 3rd day at RailsConf 2007. Continue Reading »

May 20, 2007

Dave Thomas Closing Keynote

Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Ze Frank Keynote

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Xen and the Art of Rails Deployment

Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Tim Bray Keynote:

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

script.aculo.us Inside Out

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Ruby Tooling: State of the Art

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

RailsConf Day 2 Overview

End of the second day reflections from RailsConf 2007. Continue Reading »

May 19, 2007

Practical Design for Developers

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Open Mic Demo Session

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Mapping Rails to Legacy Systems

Live Notes from RailsConf 2007. Continue Reading »

May 19, 2007

Avi Bryant Keynote

Live Notes from RailsConf 2007. Continue Reading »

May 18, 2007

RailsConf Day 1 Overview

Well, the first day of the week I’ve been waiting for all year is over. So… how do I feel? Continue Reading »

May 18, 2007

Lessons from the "Real World"

Notes from RailsConf 2007. Continue Reading »

May 18, 2007

How to do REST right

Notes from RailsConf 2007. Continue Reading »

May 18, 2007

DTrace on Rails BoF

Notes from RailsConf 2007. Continue Reading »

May 18, 2007

DHH Keynote - A Peek at Rails 2.0

Notes from RailsConf 2007. Continue Reading »

May 18, 2007

Chad Fowler Introduction

Chad wants to reduce the arrogance of the Rails community. Continue Reading »

May 17, 2007

Your First Day on JRuby on Rails: Notes Part 1

Live notes from RailsConf 2007 workshop. Continue Reading »

May 17, 2007

Your First Day on JRuby on Rails: Notes Part 2

Live notes from RailsConf 2007 workshop. Continue Reading »

May 17, 2007

Harnessing Capistrano: Notes Part 1

Live notes from RailsConf 2007 workshop. Continue Reading »

May 17, 2007

Harnessing Capistrano: Notes Part 2

Live notes from RailsConf 2007 workshop. Continue Reading »

May 17, 2007

Eric Sink on The Business Of Software

Book review of the book I read on the plane to RailsConf 2007. Continue Reading »

May 16, 2007

Off to Rails Conf

I'm off to Portland for RailsConf 2007. Continue Reading »

April 28, 2007

Subway Maps and Scope Creep

A comparison of subway maps and the scope creep of software development. Continue Reading »

April 17, 2007

Bad Error Messages

A discussion of error messages and security. Continue Reading »

April 6, 2007

If It Takes More Than 2 Tries, You've Got a Big Problem

Mocking a silly compliance application. Continue Reading »

March 18, 2007

Outages are an Opportunity to Show Character

A discussion of how companies should handle outages. Continue Reading »

March 12, 2007

I'm on Linked In

I finally finished setting up my LinkedIn profile. Continue Reading »

March 7, 2007

Calling Attention to Features

Some examples of unobtrusive ways to call attention to new features. Continue Reading »

February 28, 2007

I'm going to RailsConf!

I'll be in Portland from May 17-20 for RailsConf 2007. Continue Reading »

February 28, 2007

Commander's Intent

If we do nothing else during tomorrow's mission, we must ________________ Continue Reading »

January 24, 2007

Beyond Fear

A book review of Bruce Schneier's new book. Continue Reading »

January 16, 2007

Small World

I'm amazed that I can find a book at a small bookstore in the UK and have it arrive at my housein the US in two weeks. Continue Reading »

January 15, 2007

Findory

A discussion of Findory, a collaborative filtering news site that failed. Continue Reading »

January 5, 2007

VPN and Firewall Issues

A discussion of how to troubleshoot VPN and firewall issues. Continue Reading »

January 5, 2007

Helpful Dialog

I'm snarky. Continue Reading »

January 4, 2007

Last.fm

A discussion of last.fm, a music streaming service that uses collaborative filtering to make recommendations. Continue Reading »

January 4, 2007

Cool Stuff From kottke's Year End List

My favorite links from kottke's year end list. Continue Reading »

January 3, 2007

Selfish Bittorrent

A discussion of a new bittorrent client that generates an average 70% increase in download performance for users with 1 Mbit upload. Continue Reading »

January 1, 2007

Happy New Year!

Happy New Year to all! Continue Reading »

December 31, 2006

P2P Microfinance

A discussion of microfinance and Kiva. Continue Reading »

December 21, 2006

It is almost 2007? Right?

I really don't understand how people can still think it is acceptable to say things like this. Continue Reading »

December 21, 2006

Airport Security

I don't like security theater. Continue Reading »

December 11, 2006

Secure Deallocation

Talking about the importance of secure deallocation. Continue Reading »

November 22, 2006

Exception Swallowing and Other Ways to Abuse Exceptions

Some anti-patterns for using exceptions. Continue Reading »

November 20, 2006

Obligatory Hello World

I'm starting a blog. Continue Reading »