Categories
Personal

On the Eve of the Vision Pro

I am more excited about the Apple Vision Pro, coming early next month, than I am about any other tech announcement since the original iPhone. I’ve been recording many spatial videos on my iPhone 15 Pro, experimenting with the types of videos I will want to watch. What types of video will work best in […]

Categories
WordPress

WordPress: Community, Code, Conduct

What happens when Matt Mullenweg, WordPress co-founder and project lead, violates the community code of conduct?

Categories
Uncategorized

How to disable the WP Rocket “clear the cache” message

I rarely want to clear the cache after toggling a plugin. But I always want to hide this message. Are you tired of seeing the WP Rocket WordPress admin notice “One or more plugins have been enabled or disabled, clear the cache if they affect the front end of your site.” message? Add this PHP […]

Categories
Personal

The Flop House Podcast

Hello, Dan 👋 On the last episode, you said you get Google Alerts for the name of the podcast. So, hi! I appreciate you! For those reading this who are not Dan McCoy, check out The Flop House! It’s a wonderful podcast of three friends having fun and being funny while talking about bad movies. […]

Categories
WordPress

Easy Digital Downloads, Awesome Motive, and the benefit of the doubt

Easy Digital Downloads was recently acquired by Awesome Motive as part of their acquisition of all the Sandhills Development WordPress plugins. EDD, created and led by Pippin Williamson, had a history of not pushing their other products aggressively with in-dash notifications and upsells. Awesome Motive—developers of OptinMonster, MonsterInsights, WPForms, and more—have used in-dash notifications and […]

Categories
QuickTip

How Help Scout Docs hacks “Getting Started”

Help Scout Docs makes it hard to organize content on the home page, so Help Scout are using categories that redirect to articles. This looks like a category in Help Scout: The link points to a category page: https://docs.helpscout.com/category/832-getting-started And the category even shows there are 8 articles! But when you click the Getting Started […]

Categories
Web Development

A quick Doxygen fix for @type

Doxygen doesn’t recognize the @type docblock tag. That’s a problem, since at GravityView, we try to replicate WordPress core’s usage of the @type docblock tags to define nested values in associative arrays. The fix? Add an ALIAS in Doxygen where @type is treated as @param. Here’s how:

Categories
Web Development

UserVoice Gadget API

I wanted to learn what data is sent by the UserVoice Inspector Gadgets (I do appreciate the name 😉), but there was no information I could find online. Here’s some basic information about the HTTP request that is made by the Gadget.

Categories
Personal

Bring Cash

Strolling past each booth of fresh-cut flowers and freshly-gathered eggs, my wife and I stopped at a booth carrying bread. Next to the booth, a man in a cycling outfit was doing yoga in the afternoon sun. He came over and he explained the rye: it was dark, perfect with cream cheese and jam. He […]

Categories
Personal

Taking The Pledge

I formally take The Pledge: At a public conference I won’t serve on a panel of two people or more unless there is at least one woman on the panel, not including the Chair. I want more diversity in tech and in the world. I pledge to try to make diversity a reality, and then […]

Categories
Web Development

Is your Easy Digital Downloads AJAX request taking too long to load?

TLDR: If you want faster credit card AJAX load times in EDD, disable the “Show previously used cards” setting in EDD. Hint: It only happens when you or a customer are logged-in. I’ve recently found that it can take up to 8 seconds for the credit card fields to load when working on the GravityView […]

Categories
Code Gravity Forms

Is Gravity Forms not able to repair your `gf_addon_feed` database table?

If you click the “Re-run database upgrade” link in Gravity Forms’ System Status page, and it doesn’t properly generate the {prefix}_gf_addon_feed table, here’s the likely problem: The Feed Addon that you have installed is likely not being activated early enough. This is about to get techy: The “Re-run database upgrade” script is triggered by the […]

Categories
GravityView

How to send randomly-selected support tickets to Slack once a week for easy review

At GravityView, we’re starting a review process for support to make sure that as we grow, our support continues to be awesome. We’re starting a Support Review meeting. We will randomly choose tickets to review for each person who has provided support in that time. Random selection is a pain, so we created a Zapier […]

Categories
Code Web Development

Allow customers to update their cards in disabled gateways using Easy Digital Downloads Recurring Payments

Last year, GravityView was using PayPal Pro to process credit card transations with our shopping cart, Easy Digital Downloads. Over time, we became frustrated with the error rate of PayPal notifications: PayPal kept telling us the country code wasn’t set. But it was. This was preventing customers from checking out, so GravityView switched to using […]

Categories
Web Development WordPress

Translating Multiple Branches of Your Premium Plugin with Transifex

Since GravityView launched in 2014, we have used Transifex to manage translations. Our process has always relied on a single translation resource file, and we’ve had the same flow over time: Create an update with new strings Upload the translation file to Transifex Release the update In the next minor release, include any new translations […]

Categories
Mac

Is your Fluid app is too slow? Try nativefier instead

I have used Fluid for years to create single-page native web applications that run on my Mac. I have one for Help Scout, I have another for Trello, but I have noticed a problem: when replying to tickets in Help Scout, I would experience serious lag. Letters would appear hundreds of milliseconds after I typed. […]

Categories
WordPress

The Future of WordPress

I will be presenting the WordCamp Denver 2017 keynote on August 26, 2017. It’s a privilege, and I’m looking forward to it! If you don’t have tickets yet, it’s not too late—get a ticket now. See you soon! I will update this post with the slides once they are available, and I will also have “show notes”—a […]

Categories
Blogging Personal

Using Tweets to post more regularly

Update: this failed spectacularly. Didn’t work. Bad idea. I feel like many of my tweets could (and should) be short articles on my blog, but I’m lazy. I’m setting up a Zap t… https://t.co/C3jHX8CVid pic.twitter.com/TKpyUtJZ7f — Zack Katz (@zackkatz) Sat Jun 03 18:00:01 +0000 2017 I think the pendulum of social media may have swung […]

Categories
Personal

Gwen Ifill

I did not know Gwen was sick. I didn’t know she had cancer. On Monday, she died. I respected her and found comfort in her presence. I trusted Gwen to tell me the truth, to find humanity in any situation, to always reflect appropriate levels of concern. I trusted Gwen Ifill completely. Not because she was on TV, but […]

Categories
Code WordPress

How to fix UTF-8 filename issues when using wp_handle_upload()

PHP said the file didn’t exist. Except it did. file_exists() wasn’t working for a file uploaded using wp_handle_upload(). It worked for every other file, except for one provided by a German customer. I confirmed the following: The file did exist in the correct wp-uploads sub-directory The file had correct permissions The directory and its parents […]