Subfolders
Latest "Articles" Articles
Workshop » Reference Section » Grimoires » IT » Platforms » Cross-Platform Issues

MacOS fails to expand .zip compressed archive with “Unable to expand” … “(Error 79 – Inappropriate file type or format.)”

Did you save the file with Windows's "Send too > Compressed Folder" and copy it to Mac? Finder's Archive Utility can't open it because of the compression method.

- Compression method: All 94 files inside use Deflate64 (Def64N in unzip -v). Windows' built-in "Send to → Compressed folder" uses it, mainly for large files. Archive Utility doesn't support it, so double-clicking fails with a generic error.

The command-line unzip at /usr/bin/unzip handles Deflate64. Run this in your terminal to extract into a new folder, of course replacing "[archive_name]" with the name of the zip file:

mkdir ~/Documents/[archive_name]_extracted && unzip ~/Documents/[archive_name].zip -d ~/Documents/[archive_name]_extracted

Workshop » Reference Section » Grimoires » Hearth & Home

Cerpegia Woodii “String of Hearts” plant care

"I received a several-foot-long, moderately lush ceropegia in what looks like moss or detritus in a open glass jar. How do I care for it?" [Claude chat]

Ceropegia is a succulent vine, and the biggest thing to know is that a jar with moss or detritus and no drainage is a tricky setup for it. Here's how to handle it.

Check what you actually have first
Gently tip the plant out, or at least probe the base. What looks like moss may be sphagnum or a decorative top layer over soil. If it's a terrarium-style build with no drainage hole, it's very easy to overwater. The plant has small tubers along the stems and at the roots that store water, so it tolerates drying out far better than sogginess.

Light
Give it bright light, ideally several hours of bright indirect light,…

Workshop » Reference Section » Grimoires » IT » Troubleshooting log » Cloudflare or DNS

Closed port 53 and Port 531 on my home router

Closed port 53 and Port 531 on my home router.

This appears to have killed my subdomains, like my feed aggregator. Will deal with this later when I have time.

Workshop » Works In Progress » Writing Works in Progress » The Five-Ingredient Cookbook

Air Fryer Chicken Strips Success

1. Slice three boneless, skinless chicken breasts lengthwise into 1/4"-1/2" (1.27–2.34 cm) wide strips.

2. Put in a large bowl with lots of extra-fine garlic powder and chili powder, and a fair bit of coconut flour. Toss until strips are coated.

3. Sprinkle with soy sauce. Toss some more. Sprinkle some more soy sauce. Toss some more. Don't overdo the soy sauce, but, use a bit.

4. Lay out in air fryer. For this quantity, I had to do two layers: one on the bottom of the air fryer, put in an old foldable/expandable metal vegetable colander over that, and put in another layer of chicken strips. Be sure to leave some space between the chicken strips, typical air fryer stuff. I had to drape some of the top layer over the edges of the colander.

5. Air fry 12 minutes at…

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » Firefox

Firefox freezes – tried setting gfx.webrender.software to true

Claude says that following a kernel panic, watchdog reported threads held by Firefox GPU helper, even thought I have hardware acceleration off. I tried its suggestion of toggling gfx.webrender.software to true in about:config.

"The watchdog reports at 13:51:55 and 13:52:30 have 11 and 12 WindowServer waits on Firefox GPU Helper [47166]. The stackshot in the panic file at 13:53:15 shows the same PID, so the chain was blocked for about 80 seconds or more before the panic.
- In those reports that GPU helper had been running about 266,000 s (roughly 3 days) and had a 2,294 MB footprint.
- The panic was probably not a single event. The GPU helper was already stuck, WindowServer was already hanging, and the watchdogs fired before the kernel finally panicked at the 45 s framebuffer timeout."

A Claude incident report was recorded.

Workshop » Reference Section » Grimoires » IT » Platforms » MacOS

How to clear it when restarting MacOS Tahoe brings up a ton of notifications and no “Clear All” button

Today I restarted my Mac OS Tahoe machine and suddenly, when I logged back in, a million old Slack notifications came up. Hovering over them, I did not get the "Close All" button on top, and had to tediously click them closed, one by one.

Turned out, in System Preferences under the Apple Menu, in the Notifications page, if I select "Slack", "Notification Grouping" was set to "None". Setting this to "Automatic" caused all the old notifications to collapse into a small visual "stack" behind the topmost notification, and when I hovered over it, the "Close All" button appeared.

Workshop » Works In Progress » Writing Works in Progress » The Five-Ingredient Cookbook

Prefab Cole Slaw Kit, Improved

So, I buy these "cole slaw kits" in the supermarket for a couple of bucks. They're basically a bag full sliced cabbage & a little grated carrot, and include a generous plastic squeeze packet of cheap, chemical-y, over-sweetened Italian dressing. It's enough for 2-3 side dishes, or one decent bowl for one person which can sub for a meal if you're not that famished.

Here's how I fix it:

1. Dump the slaw mix in a bowl. The stuff I buy mostly fills a 16oz soup bowl.
2. Squeeze in 1/2-3/4 of the included "dressing", to taste. I prefer less rather than more.
3. Put in a generous dollop, a pretty big forkful or two, of mayonnaise.
4. Give it a couple of decent tablespoons of vinegar. I use white but red might work. Try to err on the side of not overpowering it... you don't…

Home, News & Info » Social Web / Community Features » Slashpages

/Kupietz

/kupietz is a slash page for listing Kupietzs who you know. For me, that would be: myself.

Until I can get the slashkupietz.org directory up and running, here's a listing of people currently hosting /kupietz slash pages. If you set one up, please feel free to email me at slashkupietz26@michaelkupietz.net and I'll add you here.

https://thamara.co.uk/kupietz https://jamesg.blog/kupietz https://paultibbetts.uk/kupietz joined in too https://tabitha.computer/kupietz/
Workshop » Reference Section » Grimoires » IT » Platforms » Linux » Packages » Apache

Server Changes Summary — July 24, 2026

1. Claude.ai changes:

Context: Investigating a WordPress site freeze on michaelkupietz.com. Root cause identified as a burst of 504 timeouts when a bot/crawler hit ~20+ uncached taxonomy archive pages (/genre/*, /topic/*) in rapid succession around 11:42.

1. Enabled PHP-FPM slow request logging

File: /etc/php/8.3/fpm/pool.d/17002707405366737.conf
Uncommented:

slowlog = /var/log/php-fpm-slow.log request_slowlog_timeout = 5s

Reloaded with systemctl reload php8.3-fpm.
Purpose: Logs a full PHP stack trace any time a request takes 5+ seconds, to help diagnose future slowdowns. Negligible performance/disk impact — only…

Workshop » Reference Section » Grimoires » IT » Applications » FileMaker Pro

FileMaker’s consistency check is not thorough, files can still be corrupt

https://help.claris.com/en/pro-help/content/file-consistency.html - Information that FileMaker's consistency checks are not as reliable as the Recovery function—they don't check as much. (Bear in mind that the recovery doesn't even tell you everything on the front end, you have to read the recovery log to get full info.)

Visual Art » Generative Illustrations » Interesting Leftovers & Bonus Galleries
Bonus Gallery: Fireworks Study Extras

Bonus Gallery: Fireworks Study Extras

I had a lot of leftover images from the Fireworks Studies gallery that I had to cut out to keep the album focused, but which I liked a little too much to just let languish on my hard driver... a bunch of images that came out more figurative, plus some more fireworks landscapes and abstracts that didn't make the cut of the main album but which I still liked.

Fireworks Figuratives
Some extra fireworks image leftovers
Visual Art » Generative Illustrations » Experiments & Studies
Generative Art—Fireworks Studies

You're Gonna Lose A Finger: Generative Art—Fireworks Studies

Studies originally done for a July 4 online generative art competition, I believe? I can't quite recall.

Bonus Galleries: Fireworks Figuratives, plus some extras I liked

(Bonus Gallery Page: Fireworks Study Extras)

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS

Make #named-anchors open under sticky header

:target {scroll-margin-top: 120px; /* match your sticky header height, to make named anchors always appear under it */ }

Code & Algorithms » WordPress Plugins & Mods

Developer WordPress Plugin: Raw HTML Shortcode WordPress Plugin—preserve raw HTML formatting in the classic editor

The short version

I've written a WordPress plugin which gives you a short code [raw]content[/raw] that exempts the enclosed content block from WordPress's wpautop() processing, so you can include raw <style>, <script>, or other html into posts in the code tab of the classic editor without WordPress breaking them by inserting paragraph or line break tags into the code.

If that's enough explanation for you, the plugin can be found on Github at https://github.com/kupietools/ktwp-wp-plugin-raw-html-shortcode.

The longwinded version

In HTML5, it's acceptable to put [code]

...

[/code] tags in page bodies. Even if it wasn't sometimes it's expedient in WordPress to include custom CSS or javascript in a single post. The correct WordPress way to do this is to enqueue CSS and javascript... but this requires writing PHP, and, if you ask me, is one of those case where the "correct" way of doing things doesn't…

Code & Algorithms » Demo & Live Tool Playground
Dot Product Visualizer, a mathematical toy

Live Demo: Dot Product Visualizer, a mathematical toy

This was developed as an aid to understanding the dot product function used in Fractal Kitty's There is(Ǝ) – Such that (∋) project.

The dot product is the length of vector A projected on vector B (you can imagine this as the length of the shadow that A would cast on B, if a flashlight were shining perpendicularly at B), times the length of vector B. If the two vectors point in directions 90° apart, the dot product is 0 since neither has a component in the other's direction. If they point in the same exact direction, it is just the full length of A times the full length of B.

Mathematically, the dot product of vectors A and B defined as |A| * |B| * Cos θ, where |A| and |B| are the lengths of vectors A and B, and θ is…

Workshop » Reference Section » Grimoires » IT » Troubleshooting log » Cloudflare or DNS

Added subdomain to cloudflare tunnel

Turns out LLMs know me by an old subdomain I forgot to add to cloudflare's tunnel config. Just added it. See saved chat under filename "Arts Kupietz 404 Issue" in local admin folder.

Workshop » Reference Section » Grimoires » IT » Platforms » Linux » Packages » awk

Splitting a markdown document sections into separate documents with awk in Bash

[code]awk ' /^## / { if (file) close(file) title = substr($0, 4) gsub(/[^a-zA-Z0-9 _-]/, "", title) gsub(/ /, "_", title) file = title ".md" } file { print > file } ' input.md[/code]

First, cd into the same folder as the file (here called input.md. Then the above will generate titled .md documents from every section that starts with ##.

Home, News & Info » Site & Author Info
Interview Policy

Interview Policy

I have an easygoing interview policy. With a little notice, I'm generally available for interviews on any topic that someone might feel interested in hearing my views on, and enjoy the opportunity to have a topical discussion on any subject of interest.

You can expect opinionated but knowledgeable, lucid, and thoughtful takes, occasionally punctuated, if appropriate to the topic, with a native New Yorker's mordant sense of humor.

Arranging the interview

Typically a couple of days notice is helpful. You can reach out to me by phone (listed on my business site) or by emailing me at interviewrequest@michaelkupietz.com

I do prefer, in cases of absolutely cold contact, to receive an info sheet about the interview, the publication or media, any special area of interest of editorial slant, and what commercial interests the interview might benefit, before agreeing. It's not a hard and fast requirement but…

Workshop » Works In Progress » Code & Algo Works In Progress

Separation model drawbacks

This is a work-in-progress inspired by a recent conversation.

In the "separation model" in FileMaker, where data tables live in separate files from an "interface file" containing visual layouts that display the data to the user, used to be widely recommended as a development convention. However, many developers have found that it has significant drawbacks. This is a scratchpad list of those drawbacks as I encounter them.

1. Duplicate relationship graphs

In practice, relationships depend on context, and this is provided by table occurrences that layouts are built on. You may need a portal on a layout... that means the relationship must be in the interface file. But you may have a calculated field in the parent record that counts, summarizes, or otherwise performs an aggregate operation on the related records. That means the relationship must be in the data file. Neither of these is unusual at all. So you…

Workshop » Reference Section » Grimoires » IT » Troubleshooting log » Cloudflare or DNS

Converted to cloudflare tunnel from ddclient

Today Comcast (boo! hiss!) did some work in my neighborhood and knocked my server offline. I had a long, painful chat session with ChatGPT which ended with me eventually getting set up with cloudflare tunnels instead of using ddclient to update my IP address. The whole chat and terminal session are saved locally in my hard drive in the backups/admin > troubleshooting logs folder in case I ever need to recreate what happened.

Workshop » Reference Section » Grimoires » IT » Platforms » Linux » Packages » Apache

Quickly check status/error code of all hosted domains

To quickly check to http return code for a bunch of your hosted domains, enter this in bash:

[code]for host in \ domain.com www.domain.com \ domain2.info www.domain2.info \ domain3.com www.domain3.com do code=$(curl -k -sS -o /dev/null -w '%{http_code} %{redirect_url}' "https://$host/") printf "%-26s %s\n" "$host" "$code" done[/code]
Workshop » Reference Section » Grimoires » IT » Platforms » iOS

Stop Siri Dictation from automatically adding incorrect punctuation everywhere.

On my iPhone, I had Siri dication suddenly start inserting bogus commas everywhere when I never said "comma". You can turn this off by going to settings > general > keyboard > dictation and turning off the auto-punctuation switch.

Workshop » Reference Section » Grimoires » IT » Platforms » MacOS » Networking

Airdropping photos from iOS to MacOS always stuck on “waiting”

If your phone and Mac appear to be able to see each other over Airdrop, but every time you try to send photos from your phone to your Mac the phone sits on "waiting" and the photos never transfer, try picking "Force quit..." from the Apple icon menu in the upper left of your window on the Mac, select "Finder", hit the "Relaunch" button, wait a moment for the Finder to restart, and try transferring again.

Blog Posts

How to remove your email and phone number from voter registration (San Francisco county only)

May 15, 2026

The county handles voter registration. San Francisco residents can remove info such as your phone number and email address with the form on https://sfelections.org/tools/regupdate/regupd.php. You can check your CA voter registration status at https://voterstatus.sos.ca.gov/

Workshop » Reference Section » Grimoires » IT » Annoyances

Obsidian Annoyances

Here's a CSS customization feature. Have fun getting it to work!

Have to leave the app to customize CSS. Why can't you save snippets in the app?? Overall, it feels like they intentionally make it as difficult and roundabout as possible to use.

And of course I followed the instructions, created the snippet in the secondary text editor Obsidian makes you keep around if you want to do things like this, quit the app, reopened it, and... it didn't work. Because, of course it didn't work. Why would following the instructions WORK, when it's so much more of a waste of time if it doesn't? I'm so glad they made this so complicated. This is so much harder than if they just had a place in the preferences to enter custom CSS, and, who doesn't love things to be as hard as possible?

Edit: After googling, I found

Workshop » Works In Progress » Writing Works in Progress

Mike’s Rules Of Design

This is a scratchpad for jotting down the various design rules I use, mostly as I run across violations.

1. No making people read hieroglyphics for core functionality

Somewhere along the way, a lot of people picked up on Steve Jobs's worst idea and ran with it: User interfaces should emphasize looking like something that would look "cool" in a movie, rather than focus on usability. Icons, which were originally meant as a visual cue to help you quickly distinguish functions without having to read text, became monochrome, uniform, abstract, unhelpfully difficult to distinguish from each other, and descriptive text went away so you couldn't know at a glance what they did, leading to millions of man-hours wasted mousing over 20 buttons in a row trying to figure out which one was the "import" button. As a design language, icons went from unique and identifiable to the visual equivalent of…

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » Plugins » uBlock Origin

A uBlock Origin custom rule to hide “Related Videos” (and more) on YouTube

If you're like me, you loathe and despise the toxic mental ordure that YouTube often plasters up and down the right side of each video page, such as POLITICAL DEMAGOGUERY in MIXED CAPS to PIQUE your OUTRAGE enough to KEEP YOU WATCHING YOUTUBE instead of doing something PRODUCTIVE! [insert thumbnail of someone looking amazed here.]

At a certain point, I started to notice that there was more likely to be things I didn't even want to know existed in that section than anything I actually wanted to see. So, I added a simple rule to the uBlock Origin browser plugin that hides that section of the page:

[code]!https://www.youtube.com www.youtube.com###related[/code]

And that's it. That's all you need to add. No more "related videos" section.

While I was at it, I added a rule to block the "suggested videos" thumbnails that appear at the end of videos, by…

Workshop » Reference Section » Grimoires » IT » Platforms » Linux » Packages » Apache

Detect SYN flood slowing down server with netstat

If the web server is slow, detect a SYN flood by netstat -ant | grep :443 | grep SYN_RECV to show the IP addresses leaving it hanging. Hint: If you're behind a reverse proxy, and that shows IP addresses that aren't the proxy's, then your IP is being hit directly. To find out how many IPs are hanging, do netstat -ant | grep :443 | grep SYN_RECV | wc -l. If you do it a few times and the number is increasing, you may be under attack. If it's over 100, that's suspicious, but manageable and the server can usually handle it, especially if you have SYN cookies activated. If it's over 1000, you're under attack.