Status/short-form posts from my blog. Main at @paperairplanemob.
Don't wanna be here? Send us removal request.
Text
Hey, Apple? What the ‼️ is this?! Where’s the ‼️ing unsubscribe link? How do I mark this as spam?
0 notes
Text
Thinking about this:
For where two or three are gathered in my name, there am I among them.
And thinking of why people might be gathering right now.
1 note
·
View note
Text
Jony Ive with too much budget and too few restraints is how we got the 2016 MacBook Pro. So that’s what I’m expecting from “io.”
0 notes
Text
Had some old MIDI files from our circa-2000 iMac. For ease of use, I’d “converted” them to QuickTime movies. So naturally, they wouldn’t play today, and QT Pro doesn’t work. Shout out to Infinite Mac where I was able to load Mac OS 8.6 and convert the files back to standard MIDI.
1 note
·
View note
Text
Apple has been ordered to stop blocking and charging commission on links from apps to websites. Good.
I use IAP for PillTimer; it lets me focus on the app and not payments and DRM. It’s well worth the 15% fee. But as I’ve mentioned a few times on this blog, forcing it on everyone is stupid.
1 note
·
View note
Text
Well I didn’t have “dentist tells me not to brush my teeth” on my 2025 bingo card, yet here we are.
1 note
·
View note
Text
“The light shines in the darkness, and the darkness has not overcome it.”
Ergo, “while I breathe, I hope.”
1 note
·
View note
Text
Bumps In the Gumroad
It’s hard to overstate just how much my opinion on Gumroad has changed since the beginning of 2025. I’m not mad, just disappointed. Incredibly disappointed.
Strike One: Unintended Consequences
Let me preface this by saying I get problems with email delivery. There’s a whole system of checks and ranking that is based almost entirely on reputation. And it goes layers deep: bad behavior by one entity can risk the reputation of a provider serving thousands of people.
So I understand why Gumroad made the change they did: sometime after December 1, 2024, Gumroad instituted a new policy: only sellers with $100 in sales could send emails:

A reasonable position. Gumroad provides a lot for free, and while they have a lot of features related to email marketing (which might have gotten them into trouble), it mostly exists for creators on other platforms.
But this decision failed to consider the product holistically. See, Gumroad has another feature called memberships. Someone subscribes for a recurring fee and gets access to a pool of content that creators can consistently update, most similar to another platform that misspells “patron.” A creator can create a post on a membership, and members can comment on those posts.
Except… for Gumroad, posts are emails. So are notifications. In fact, there is literally no other way to alert members of new content in the membership except through email. Email that is now off limits to new creators.
This policy change hit me three months into a new membership project I was attempting. I was treating my membership product like a newsletter which—as far as I can tell—is how it’s intended to be used. I was putting out regular content and trying to build value over time. And overnight, my sole ability to connect with my customers was yanked away.
To add insult to injury, despite the error message saying “$100 in sales,” the actual threshold was $100 in payouts. Which means the actual threshold was more like $115 in sales once Gumroad and credit card fees were taken care of.
Now, I’ll admit that all of this is just based on my experience with the product. I’d love to link to a page documenting the change, but…
Strike Two: This Isn’t Helping
I couldn’t find Gumroad’s comprehensive help site. I’d previously read through it to get a feel for what was and wasn’t allowed on the site and to make sure that my plans for my project fell within scope for the platform. But now, when I needed information on a new policy, it was nowhere to be found.
Eventually, by going to a completely separate page (payment info?) in the Gumroad admin, I stumbled upon an AI chatbot. With nothing else to lose, I asked how to send emails. It pointed me to buttons that didn’t exist. I then asked more specifically about the new policy, and it told me what I already knew. (It did not tell me about the sales v. payouts threshold.) It did provide some color as to why the policy was implemented, but it suggested building my audience organically through social media.
Social media I couldn’t tell my customers about because Gumroad had taken away my only means of contact!
Finally, I asked how to contact Gumroad support. It pointed me to the help site that didn’t exist and the contact form within. I eventually found an email on another page and sent a message there; the response was very obviously from the same chatbot.
Chatbots are fine as one of many options to access support information. But as the only option? When it’s been trained on a help site that references itself (and therefore references a site that doesn’t exist)?
Strike Three: It Doesn’t Mean That…
I’ll admit, this one’s pedantic. But I got this email this morning:
Except… it’s not. Not technically.
Looking at the GitHub repo, the code is released under the Gumroad Community License 1.0, a custom license. This is usually frowned upon, but not necessarily a dealbreaker for an open source release.
What is a dealbreaker is this condition:
You may use the software under this license only if (1) your company has less than 1 million USD (2024) total revenue in the prior tax year, and less than 10 million USD (2024) GMV (Gross Merchandise Value), or (2) you are a non-profit organization or government entity.
This conflicts with article 6 of the Open Source Definition (emphasis mine):
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Now, to be fair, they didn’t capitalize “open source” in the email. But the point remains: The Gumroad Community License is, by definition, not Open Source.
Is this a big deal in the broad scheme of things? No, not really. But it speaks to how I’ve been feeling about Gumroad as a whole…
Who Cares?
I think what is disappointing me about this whole thing is the lack of care for the product. The changes to email causing memberships to be unusable speaks to an organization that doesn’t have someone watching over the product as a whole. These seem like short-term decisions that hurt the product’s reputation more than solve whatever problem they were intended to solve.
For a product that I was excited to find reasons to use, this hurts. Like I said, I’m not mad; just disappointed.
And I’d tell them to their face if they had a working support email.
1 note
·
View note
Text
Today’s brainworm: a parody of “Put Down the Ducky” called “Tighten the Graphics.”
1 note
·
View note
Text
Sometimes I get so deep into composition and particular abstraction layers that I forget that basic object-oriented programming exists. And what I thought was going to be a nightmare to code and even more to maintain actually wasn’t that complicated. (I welcome you to tell me why it’s actually bad.)
1 note
·
View note
Text
I didn’t add a way to prefix Smolblog’s DB tables because I didn’t need it, and I need to not build what I don’t need.
Today, the auto-migration wiped out my test WordPress’ tables.
I am now building a way to prefix Smolblog’s DB tables.
1 note
·
View note
Text
John Gruber on the full DeepSeek AI model running locally:
Apple has tremendous technical advantages to offer in AI. But they’re marketing Genmojis of hot dogs carrying briefcases.
I might argue that there’s very little else to market.
0 notes
Text
I’m afraid—if I log out—I won’t be able to find my LinkedIn account!
1 note
·
View note
Text
Hey #php land, what’s going to be the easiest way to build an admin interface? I’ve got all my data persistence and retrieval functions written; just need to build the UI. (Would love if there was some easy way to build the forms in WordPress' backend.)
0 notes
Text
I’m thinking of making a custom language definition for highlight.js so I can specially-format parts of a story (chat window, AI dialogue, etc.) without leaving Markdown.
Am I overcomplicating this?
1 note
·
View note
Text
I want to like Scrivener so much more than I do. I want to use it, really dive into it, but writing in it feels like using a word processor; anything too far from CSS isn’t intuitive for me anymore. And the HTML it generates is… generated HTML.
So… anyone organizing a novel with Markdown?
1 note
·
View note