I built a Jekyll plugin which uses git pre-commit hooks to run checks before allowing users to commit changes to their Jekyll sites. Some things it can check…
<title>
and <meta name="description">
a good length (for SEO purposes)?In addition to the checks it ships with, users can write their own checks by placing them in their site’s _plugins/
directory.
I built a Magento 1 plugin that allows users to monitor their page cache hit rate. It supports multiple storage backends for hit rate data including New Relic, Redis, or log file based.
It also includes many dimensions for drilling down into the data such as by route, hostname, or URL.
I built a Magento 1 plugin at Something Digital that pushes metrics from Magento to InfluxDb for tracking in time series. There are many metrics that it can be configured to push. Here are a few…
Additionally, it includes a Measurement
interface which user’s can implement to add push their own metrics to InfluxDb.
pygments-high-contrast-stylesheets is a hard fork of pygments-css with WCAG AA passing style sheets.
Stylesheets are processed by this Ruby script which obtains the background color from the source stylesheet, then iterates through each CSS selector to determine if the contrast is sufficient and adjust as needed by either lightening or darkening the color.
I also wrote a Ruby script to generate a static HTML page with demos (in iframes) for each stylesheet converted.
Demos are published here.
I built an Apache plugin which adds %
directives for logging request and response header sizes (in bytes). This was built in response to several issues I’ve seen where application code leads to header size limits being exceeded on both requests and responses. The module allows users to monitor and alert on header size.
jQuery.nonSuckyYouTubeEmbed is a jQuery plugin designed to improve front end performance when working with YouTube embeds.
The plugin works by fetching the fetching a thumbnail image and overlaying a play button, and replacing the thumbnail with the embedded YouTube iFrame when only when the user clicks the play button. This is important always but especially important for sites the embed multiple videos on a single page.
I also took a deep dive on YouTube embeds in this blog post.
Mpchadwick_SearchAutocompleteConfigmarator is a Magento extension I built that enhances the functionality of Magento’s out-of-the-box search autocomplete functionality.
It adds a few key features that are missing…
LIKE
match positionAll these features can be configured through the admin panel (hence the “configmarator” name).
I was inspired to build this based on actual frustration I saw merchants having with the OOB functionality (especially the inability to control the result limit)
ruby-whois-api is a basic Sinatra wrapper for the Ruby WHOIS gem.
My work on Domain Clamp forced me to do a deep dive on WHOIS parsing at which point it was pretty clear that the Ruby gem was the best solution available.
ruby-whois-api is a minimal web service that receives domain name and responds with a parsed WHOIS record.
My most starred repo on GitHub, this is partially a joke, but I’ve seen cases where this type of thing is actually needed. This is a Magento extension, the idea behind which is to alert store admins if they upload an image that is bigger than a predetermined threshold.
While at Something Digital I had seen a store admin who will remain unnamed upload a 7.2MB image to a blog post, which prompted me to build this…
I like to contribute back to the tools I use. Here are some of my open source contributions…
Add Ability To Separate Frontend / Adminhtml in New Relic in Magento 2
Strip admin users when generating a development DB in n98-magerun2
Fix timeout so that it can actually be configured in Cm_RedisSession
Add safety in case getSource was called in nicer-image-names
Add ability to append hash of file contents to file name in nicer-image-names
Refactor bindRemoveButtons for improved performance in Magento 2
Add a filter to hide silenced alerts in Prometheus Alert Manager
Add option to show percentage in legend in Grafana Piechart Panel plugin
Delivery of my talk "Imagining A World Without Caching" at Meet Magento NY 2017
Here’s a list of talks I’ve given…
Meet Magento NYC - Redis for Magento Developers, November 1, 2018
Mage Titans USA - Redis for Magento Developers, October 26, 2018
Magento Imagine - Magento Commerce: Evolution to the Cloud, April 24, 2018
Something Digital Webinar - What to Expect When You’re Expecting (A Site Launch), April 20, 2018
Meet Magento NYC - Imagining a World Without Caching, October 18, 2017
Mage Titans USA - Imagining a World Without Caching, September 15, 2017
NYC Magento Meetup - Imagining a World Without Caching, August 24, 2017
Nomad Mage - Imagining a World Without Caching, July 18, 2017
NYC Magento Meetup - Monitoring (and improving) Your Full Page Cache Hit Rate with Enterprise_PageCache, September 29, 2016
Nomad Mage - Monitoring (and improving) Your Full Page Cache Hit Rate with Enterprise_PageCache, August 16, 2016
Here’s are links to my slides