Blog

  • AMP for JavaScripters

    AMP for JavaScripters

    Today at the JavaScript for WordPress Conference (#JSforWPConf), Felix Arntz and I gave a talk called AMP for JavaScripters about implementing interactive interfaces in AMP. Here’s the abstract we submitted for the talk: As we all know, adding JavaScript to a web page allows for dynamic page modifications. However, with that flexibility comes great responsibility:…

    Read more

  • Using the AMP Plugin to Protect Site Visitors and Debug Security Vulnerabilities

    Using the AMP Plugin to Protect Site Visitors and Debug Security Vulnerabilities

    Case study in how the AMP plugin for WordPress revealed a security flaw in a popular plugin. Not only did the AMP plugin prevent the XSS vulnerability from being exploitable, but it also pinpointed the code responsible.

    Read more

  • Creating Gutenberg Blocks without a Build Step via HTM

    Creating Gutenberg Blocks without a Build Step via HTM

    If you’ve ever looked into developing a block for the new WordPress editor (Gutenberg), you’ve seen that it’s recommended to code it up with JSX. Blocks are powered by React and the JSX syntax is significantly more readable and less verbose than the ES5-compatible syntax. For example, compare this ES5 code: With this equivalent in…

    Read more

  • Becoming a Googler

    Becoming a Googler

    I often see tweets from people in the industry announcing major career changes; I never expected that I would be adding to this stream, but today I am. After more than 8 years at XWP/X-Team, I am starting at Google as of October 1st. I’m joining the Developer Relations team at Google to work on…

    Read more

  • WordCamp Europe 2018 Recap: AMP and PWA

    WordCamp Europe 2018 Recap: AMP and PWA

    Recently I attended WCEU 2018 in Belgrade with quite a few colleagues from XWP. We were there in large part to promote the adoption of progressive technologies in WordPress. We spent a lot of our time at the Google booth where we had an area to talk about contributing to WordPress across a wide range of roles. I spent…

    Read more

  • Remember Me Easter Egg

    Here’s a fun little easter egg to add to your WordPress login screen: make it so when you click the “Remember Me” checkbox that the song of the same name from Coco autoplays at the bottom of the login form: Here’s a quick and dirty plugin that does it: This file contains hidden or bidirectional Unicode…

    Read more

  • Spoken Word: Bringing Read-Along Speech Synthesis to the Web

    Update 2020-01-16: Back in December 2009 I did a hackathon to create an HTML5 Audio Read-Along (demo) which highlighted the text of words spoken in the corresponding audio being played. To introduce the project I wrote: As I further note in the project’s readme, the process I used to create this read-along demo was extremely tedious. It…

    Read more

  • “Building with JavaScript in the Customizer” at WCUS 2017

    At WordCamp US 2017 I gave a talk on “Building with JavaScript in the Customizer”. I was happy to have the opportunity to share the technical details on the Customizer’s architecture and JavaScript API, which saw many improvements in 4.9, in addition to being able to share the Customizer’s new user-facing features during State of the Word. The…

    Read more

  • Presenting WordPress 4.8 & 4.9 at State of the Word 2017

    Presenting WordPress 4.8 & 4.9 at State of the Word 2017

    At WordCamp US 2017 last week, Mel Choyce and I had the opportunity to present the new features in WordPress 4.8 and 4.9 which we co-lead with Jeff Paul. We start presenting ~17 minutes into the State of the Word: State of the Word, 2017 (Photos courtesy of Jeff Golenski and Post Status.)

    Read more

  • Slides for “Building with JavaScript in the Customizer” WCUS 2017 Talk

    Here are the slides from my WCUS 2017 talk “Building with JavaScript in the Customizer”

    Read more