/Linkfeed
This is a feed of links I save, as I perambulate around the web, for my own interest or later reference. I'm publishing them publicly because, why not?
"Websites should be fun and interesting. —CapJamesG
! works as of Oct 26, 2026 https://www.facebook.com
www.facebook.com##.html-div:has(img[alt="May be an image of text"])
This was designed as a solution for my Maxim Of Tweet Screenshots. Set up as a custom rule in uBlock Origin, this will hide posts containing images that are mostly text, such as tweet screenshots, from your facebook feed. It does get a lot of false positive, like blocking images of text-heavy book covers, concert announcement images, printed pages from inside books or magazines, but it's a small price to pay. I find blocking all tweet screenshots from my Facebook feed contributes materially to my peace of mind.
If you wish, to test it, you can add style so it hilights instead of hides: ! works as of Oct 26, 2026 https://www.facebook.com
www.facebook.com##.html-div:has(img[alt="May be an image of text"]):style(outline: 3px solid red !important; background-color: rgba(255, 0, 0, 0.2) !important;)
Then run it that…
This happened to me on my iPhone SE 3 running iOS 26, and I found a simple fix at https://www.reddit.com/r/iphone/comments/1nlbq4r/comment/nlqahws/: turn off "Screen Unknown Senders", shut down the phone completely, restart the phone, turn "Screen Unknown Senders" back on.
This actually worked for me. Even previous SMSes from unknown senders that had not been filtered out of my main SMS list (and which had triggered annoying notifications, so that someone I didn't know could interrupt my Friday night to address me by name and ask me to reply indicating my support for a racist politician) suddenly disappeared from the main list and moved to the unknown senders list.
So, appears to work.
Noticed my local LetsEncrypt certificates were not renewing. Turns out in my little discussion with chatGPT about switching to cloudflared, it helpfully forgot to tell me that doing so would break my certbot renewals.
Got it fixed today, the entire troubleshooting session is archived in the folder "2026oct12 fix cert nonrenewal after conversion to cloudflared" in my saved files on my hard drive.
While I was at it, I added my rss aggregator's instance to cloudflared's config, so that's working again.
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
"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,…
Javascript data table library... sorting, filtering, displaying and managing records.
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.
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…
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.
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.
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…
/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/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.
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…
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.)
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.
Studies originally done for a July 4 online generative art competition, I believe? I can't quite recall.
(Bonus Gallery Page: Fireworks Study Extras)
:target {scroll-margin-top: 120px; /* match your sticky header height, to make named anchors always appear under it */ }
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 versionIn 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…
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…
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.
[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 ##.
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 interviewTypically 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…
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 graphsIn 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…
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.
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]
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.
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.
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/
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?
For confused first-time visitors and other people still acclimating, here is a description of these little tabs to the left, as well as some other features of the site.
Open "Expert Mode" CLI Navigation - this give you the option to switch your browser's display to an old-fashioned terminal mode where you may browse this site, view pages and images by typing text commands. Just like how we used to browse the web back in 1978!
Open Visual Settings - This gives you controls to customize the visual display of this website to your liking: turn up or down the brightness, contrast, color temperature, hue, saturation, dark mode, and earthquake. Settings are saved per browser tab, so they will be remembered for your whole visit.
Open My Eyes - Have you ever been engrossed in your work, when you suddenly realize someone is staring at your screen, watching everything you do over your shoulder? If not, this simulates the experience.
Open Help - This help popup, silly! You just clicked it! Do you not remember?
New - Draggable elements! Several elements on this website, including these tabs, this popup message, and the "Hire Mike" badge in the lower right, can be dragged around with your mouse, to avoid them blocking content. Positions are remembered per tab, so as you navigate around the site, they will stay in the same place for your whole visit.
Enjoy!
Are you sure you want to switch to viewing this website in the "expert mode" command-line interface?
This will switch to a terminal emulator, load this page, and allow you to browse this website and view its contents by typing text commands.
Plus there might be, y'know, some fun stuff hidden in there. Just for geeks.