Category: Personal

  • Restrict plugin (or all) autoupdates to business hours – WordPress

    Restrict plugin (or all) autoupdates to business hours – WordPress

    We love the plugin autoupdate functionality in WordPress, but we really don’t want them to update on a Saturday night, potentially bringing a site down and messing up our weekend. Update I’ve made this into a downloadable plugin here: When do plugin autoupdates happen? Every time someone hits admin: add_action( ‘admin_init’, ‘_maybe_update_plugins’ ); This function checks if…

  • Filter classic WordPress gallery shortcode attributes

    Filter classic WordPress gallery shortcode attributes

    Use Case We ran an automated import from a Tumblr site to a new WordPress site, and all galleries were imported as gallery shortcodes in classic editor blocks, and they all were set to the default 3 columns and showing thumbnail sizes. We wanted to change the gallery settings on those imported galleries to a…

  • Auto-add free shipping coupon for initial orders only for WooCommerce Subscriptions

    Auto-add free shipping coupon for initial orders only for WooCommerce Subscriptions

    Synopsis Customer wanted to offer free shipping on any orders of at least $25. Additionally, they wanted any subscription renewals to charge shipping normally – the free shipping should only apply to the initial order. To solve this, I’ve suggested using a free shipping coupon, which is applied automatically to the cart if it’s $25…

  • Remove Coupons from Cart with Subscriptions

    Remove Coupons from Cart with Subscriptions

    Remove coupons from cart if there’s a subscription product in it.

  • WooCommerce Subscriptions Restrict Product

    WooCommerce Subscriptions Restrict Product

    Here’s a mini-plugin I wrote which extends the functionality of WooCommerce Subscriptions. It restricts subscription products to a certain number of total active (unended) subscriptions on a site. Use case: store owner wants products and subscriptions to have a one-to-one relationship, i.e. each product should only be subscribed to once. For example, subscription product is…

  • Dactyl Manuform Build Log

    Dactyl Manuform Build Log

    Some Light Reading Parts Case 3d printed custom by u/crystalhand using 30% wood filament. Based on these files, edited for BOX switches and TRRS connectors, as well as placing the pro micro holders in slightly different location. 2 Pro Micros 2 RJ9/TRRS connectors 76 BOX Burnt Orange switches 76 Diodes XDA Keycaps. Mostly…

  • Conflict


    Conflict breeds intimacy! It’s important! – Guy talking really loudly on the phone in my coworking space

  • CA66 Build Complete

    CA66 Build Complete

    I just finished putting together the CA66 kit. So pretty and retro with SA keycaps. Caps: SA Dasher Switches: BOX burnt orange Things I learned: CA66 doesn’t work with plate-mount stabilizers, despite having a plate. You have to get PCB-mount cherry stabilizers. You have to really soak the holes with solder and get it to…

  • Autocomplete Subscription Renewals WooCommerce

    Autocomplete Subscription Renewals WooCommerce

    The default behavior of WooCommerce is to place orders for physical products in the ‘processing’ status. If you would like to auto-complete all orders with successful payments, including subscription renewals, here’s a free mini-plugin which will do that:

  • Artwork for Prophets Fest 2017

    Artwork for Prophets Fest 2017
  • Quick Guide: How to edit keymap on Atreus62

    Quick Guide: How to edit keymap on Atreus62

    Did you get a pre-built Atreus62 from with no clue how to edit and re-flash your layout? Here are the steps I took to get it working on a Mac. YMMV: Download the QMK firmware by following the QMK quick start guide. Create your custom keymap as per the docs. Go to the Quick Start…

  • Confirm WooCommerce Subscriptions Cancellation

    Confirm WooCommerce Subscriptions Cancellation

    We recently witnessed some issues occurring when customers using WooCommerce and Subscriptions deleted their payment methods (when they have a credit card “on file”). When they also have active subscriptions using the card they just deleted, most customers don’t realize that they also have to update their card for each of the active subscriptions. We’ve…

  • Logging errors in WooCommerce

    Logging errors in WooCommerce

    Tracking down errors in PHP can be tricky sometimes, but WordPress and WooCommerce have some built in logging to make it easier. Here are a few snippets for future use: WP_Debug logs First, you need to turn on wp_debug and logging in your wp-config.php file. This will create a debug.log file in your wp-content folder, which…

  • A new job! (pants optional)

    A new job! (pants optional)

    After 3 years working for IronGate Creative, I’ve accepted a position at a new company that will allow me to work remotely full time. I’m super stoked to be on board with Prospress, one of the larger players in the WooCommerce plugin space and general believers in open source software and improving the world. My new…

  • Retro Reggae Posters

    Retro Reggae Posters

    My buddy Zack asked me to make another poster for his reggae night. In doing so, I found a couple of other old ones and I thought post them up here. Full disclosure, I pull heavily from stock vectors, but I still thought these had a cool vibe to them, and they’ve helped me work…

  • the_date() vs. the_time()

    the_date() vs. the_time()

    These two WordPress functions can be somewhat confusing, and and for good reason: they are nearly identical, and used in similar locations. Both are used to display the publish date (and time) of the post. How are they different? the_date() the_date() will only display the same date once per page. This is designed to be used…

  • Keeping the Web Boring

    Keeping the Web Boring

    There is a lot of temptation to create overly complicated websites. Whether influenced by the client that always wants the page to “pop,” or simply pulled along by the hype train of the latest JavaScript frameworks, it is often too easy to make things unnecessarily complicated. Web developers also tend to be a clever bunch, and…

  • Ergodox with Datamancer keycaps

    Ergodox with Datamancer keycaps

    When you work on front of a computer all day, your keyboard becomes very personal. I love stumbling across unique keyboards, and this one certainly fits the bill. Here’s an Ergodox EZ with Datamancer keycaps. It’s like the clash of two worlds for me: the keyboard I type on daily and my grandmother’s preferred way to…

  • Screen Brightness for MacOS

    Screen Brightness for MacOS

    Like many people, I have issues with varying screen brightness when working long hours or in low-light situations. The issue is particularly apparent when switching from a full-screen text editor with a black background to an achingly bright Google search window. My solutions thus far have been running f.lux, which changes the color warmth of…

  • Social VR is weird. Really weird. And probably the future.

    Social VR is weird. Really weird. And probably the future.

    I got nauseated for the first time in VR today, and I’m still not sure if it was from losing my VR legs for a minute, or if it was because chat rooms in VR can get super weird. And there was a baby. When Facebook bought Oculus in 2014 and declared social VR to…

  • My ErgoDox Keyboard Layout

    My ErgoDox Keyboard Layout

    After nearly a couple of decades playing drums and hammering away at keyboards with horrible posture and typing skills, my repetitive stress pain in my hands and arms have led me to this decision to type on an ergonomic keyboard. As strange as it looks, the ErgoDox is pretty comfortable once you get used to it.…

  • Sparrow, oil on board, 18×24 in.

    Sparrow, oil on board, 18×24 in.

    Every once in a while, among the piles of meme-filled dreck, something really poignant gets posted to reddit. This particular one is a bit dark, but it’s a great example of the story behind the artwork being the driver of emotion. Credit to marksonwalls for his great, and somewhat disturbing, art.

  • Entertaining


    “It is the mark of an educated mind to be able to entertain a thought without accepting it.” – Aristotle

  • You paid for Reverend Randy White’s $1.75 million mansion

    You paid for Reverend Randy White’s $1.75 million mansion

    When people donate to religious groups, it’s tax-deductible. Churches don’t pay property taxes on their land or buildings. When they buy stuff, they don’t pay sales taxes. When they sell stuff at a profit, they don’t pay capital gains tax. If they spend less than they take in, they don’t pay corporate income taxes. Priests,…

  • Head pancakes

    Head pancakes

    The cars and bling don’t do it for me, but the thought of 100 Japanese maids serving me head pancakes makes me want to change my priorities.