Category: Code

  • Incremental Simplicity

    I just finished reading Code Simplicity, and, as someone who has a tendency for perfectionism, one thing that stood out to me was the idea of not worrying about building something perfect. It’s OK to not aim for perfection on version one. Or any version. You don’t even know what perfection looks like at when […]

  • Greenhouse Scorecard User Scripts

    Greenhouse Scorecard User Scripts

    Since joining the hiring team at Automattic, I’ve been using the recruiting/hiring software Greenhouse to score Code Tests and evaluate trial candidates. There are some things that have annoyed me a little about the site, so I wrote a few user scripts to improve my own time on Greenhouse. A user script is JavaScript that […]

  • How I Debug

    How I Debug

    For most of my career I thought there was always something missing with how I debugged, like I needed to set-up an advanced error reporting system that would log and track down every error seamlessly. Then, I would really know how to debug like a 1337 haxor. Now that I have a big kid job, […]

  • If It Looks Like a Duck: A Cautionary Tale

    “If it looks like a duck, swims like a duck, and quacks like a duck, then it’s probably a duck.” I recently worked on putting a plan together for improving the accessibility of a search component on The existing interaction worked like a combobox where the focus was kept on the search input and […]

  • Podcast Player block: Behind-the-Scenes Accessibility

    Podcast Player block: Behind-the-Scenes Accessibility

    On my team at Automattic, we built the new Podcast Player block released in Jetpack 8.5 and on This post is intended to give you a behind-the-scenes style look at all the little details that went into attempting to provide a good, accessible experience for everyone. I’ll be focusing a lot on Screen Reader-specific […]

  • Learning via Terrible Ideas: Replacing Text on Click, Part 2

    Learning via Terrible Ideas: Replacing Text on Click, Part 2

    In Part 1 of Learning via Terrible Ideas, we learned how to: Open the Console Set a variable Add a Click Listener But adding a click listener doesn’t make it accessible to people who use a keyboard or different kind of assistive technology. To make our example accessible, we’ll need to: Give a “focus indicator” […]

  • Learning via Terrible Ideas: Replacing Text on Click, Part 1

    JavaScript is pretty fun. You don’t need to know much to start playing around with it. Let’s jump in with a Terrible Idea that You Should Never Do.™️ Note: This article is intended for beginners (and kids!), but has plenty of extra tidbits along the way. I’ll be intentionally glossing over most topics, but give […]

  • The Importance of HTML

    In 1917, the artist Michael Duchamp submitted his work, “Fountain” to an art exhibition. It’s a used urinal. And it stirred up yet another conversation about, “What is art?” I’ve only taken one art history class, so forgive my simplification here. Essentially, art is subjective. If you personally don’t like Duchamp’s urinal, it doesn’t make […]

  • Taxonomy Queries with WordPress v2 REST API

    In order to access posts by a taxonomy query via the v2 WP REST API, you’ll need to do a little set-up first. Let’s say we’re starting a beer blog, and we’re attaching two custom taxonomies to our posts: “styles” and “breweries”. Creating the Taxonomies When you register the taxonomy using register_taxonomy, you have to […]

  • Tutorial: How to Minify & Version a JS File with NPM Scripts

    One of the studies with the Center for Media Engagement needed a straightforward way to maintain and deploy a single JS file. I didn’t want to use a big fancy WebPack or Gulp setup when all we needed was to minify and version a single JS file, so I turned to using npm scripts. tl;dr […]