Joining KPFF Full-time

I’m excited to announce that I’ll be joining KPFF‘s Portland office full-time starting in January doing structural engineering. If you’re familiar with my work in WordPress or music composition, you may be surprised to learn that I am not pursuing a career in either field. I enjoy making things; software development and music composition are both ways that I can quickly create and iterate on projects (and I’ll continue to do so in my spare time). Building design and construction requires a much slower and more complex process, but the creation of physical space is ultimately the most rewarding design process I’ve experienced. For that reason, I’m trilled to embark on my full-time career designing building structures.

Fourteen Colors Gets Instant Live Preview

For anyone still using the Twenty Fourteen theme with custom colors via the Fourteen Colors plugin, now would be a good time to try on a fresh coat of paint. I’ve just released version 1.4 of the plugin, which adds instant live-preview of base colors with all colors updating without a page refresh on a slight delay. This leverages the customizer’s selective refresh API added in 4.5 and is based on the same logic that powers the custom highlight color plugin. I’m leveraging this framework in all of my upcoming themes and will be posting a walkthrough of the code in the coming weeks. Here’s a quick visual demo of the new experience:

fourteen colors postmessage & selective refresh demo

An Update for Figure/Ground

I’ve updated my Figure/Ground theme on (which also powers this blog) with a few nice enhancements:

  • All options in the customizer are now instantly live-previewed with postMessage.
  • Add support for selective refresh in the customizer for widgets, and generated colors.
  • There is now a social icon menu.
  • Redraw the background canvas when the page is resized to avoid pixelization.
  • Improve keyboard navigation (although this still needs additional work).
  • Update Genericons to version 3.4.1.

The new customization experience is the most notable enhancement. See every color change instantly as you play with it in the color picker, without any delay. Enjoy!

Interactive Geometry Apps

Three years ago, I created several interactive geometry apps while working for Saltire Software. As part of the process, I built the collections functionality for Euclid’s Muse (which I had created the previous year at Saltire), which includes the ability to download a collection of web-based applets as a standalone mobile app that can be processed through PhoneGap and published on app stores. The original intent was to publish a few of these apps on the app store and Google play myself, but I never got around to it. So, I decided to publish them as another site on The five apps are:

I also created an index page based on the pseudo-random experiments page. I’m thinking about turning it into a simple WordPress theme with a fun background (animation off by default), anyone interested?

New Photography Site

I’m launching another new site on this summer. Cello Expressions Photography could be considered a photo blog in many ways, but its primary purpose is to serve as a collection of visually stimulating and contextually significant imagery. Bringing my academic/professional interests to Cello Expressions for the first time, this site focuses on architecture, landscape architecture, and construction. Given my current internship at the USC Village project, expect a particular construction emphasis right now. Visually interesting textures and natural landscapes are also featured.

Check it out at

The site is using my Lucidus WordPress theme, resulting in a major focus on images and minimal UI. The theme will be publicly available soon, likely as a premium theme but possibly for free on depending on time. Note that due to the heavy use of images, it may take some time for the content to load, but once it does, it’s pretty cool!

2015 Boulder Cello Project/Chase the Music Collaboration Concert

This weekend I’m partnering with the Boulder Cello Project and Chase the Music to put on our 3rd annual concert for children in critical situations. This year’s concert is for a brother and sister and will feature a bold musical celebration of these two amazing kids.

My latest composition, Awe & Joy, scored for Flute, Horn, Percussion, and Cello Ensemble, will be premiered at the concert this Sunday, August 9, 2015 in Boulder, CO. The concert is free and we have plenty of room in the hall for guests. Details and RSVP here:

Thirteen or Fourteen Colors

You may have noticed that I’ve added my eighth plugin to Fourteen Colors. It adds color customization to the new Twenty Fourteen default WordPress theme, half of which was developed in the core theme before being removed yesterday, just over a week before the theme’s release (broader explanation coming soon).

In the next week, I’ll build out Fourteen Colors, creating what I hope is my most polished plugin yet, inside and out. I already know that I’ll be further utilizing the function that generates color variants, which I wrote when the feature was developed for the core theme, to ensure the highest color contrast possible given various contexts within the theme.

I also created a plugin to customize the (much bolder and more varied) colors of the Twenty Thirteen theme, entitled Thirteen Colors (that plugin is much less elegant than I hope Fourteen Colors will be). I’m starting to wonder why WordPress’ default themes don’t place an emphasis on built-in visual customization. Twenty Eleven was the last to have comprehensive color customization options, or even a link color option, for that matter.

The reasons that the custom accent color was removed from Twenty Fourteen seem referable to the broader lack of customization available in default themes. Hopefully, Fourteen Colors can successfully provide an answer to the concerns over giving users the power to make “bad” color choices, at least in terms of readability if not in terms of beauty. As for code complexity, maybe it’s time to consider customization as a component worthy of adding some weight, like featured content is in Twenty Fourteen. At the end of the day, these themes are the first thing users encounter when getting started with WordPress, and it seems wrong not to showcase the power and flexibility of the platform in the first-run experience (the ability to easily browse for new themes is also critical here).

Maybe Twenty Fifteen will bring the power of native visual customization back to the end user. After all, we have a wonderful Theme Customizer that works excellently for visual customizations. I’d love not to create a “Fifteen Colors” plugin next year.

QuickShare 1.4

I recently released version 1.4 of QuickShare, my favorite social content-sharing WordPress plugin. There are several new features, tweaks and bugfixes, in what is the most notable update since version 1.0.

My favorite feature is the addition of a

shortcode (that’s the shortcode – it’s just “quickshare”). This allows you to place QuickShare exactly where you want within the post/page, and you can even have multiple instances. The best part is that adding this extremely versatile feature was super easy, it only took 5 lines of code (including the comment). That’s the power of WordPress!

Fixing a 9-year-old Typo in WordPress

I just patched a fix for a small grammar error in the instructions at the top of the Permalinks Settings page in WordPress (#25210). It fixes a sentence that Matt Mullenweg wrote in 2004 and hasn’t been touched since. I can’t believe no one noticed this over the past 9 years and millions of WordPress installs.

Needless to say, Sergey Biryukov committed the fix within a couple of hours. So, I guess that’s my contribution to WordPress 3.7. I’ve already made more substantial contributions  (both in code and discussion) to WordPress 3.8 via Twenty Fourteen, but I don’t expect to touch much else in 3.7 since it doesn’t address any UI components.