Latest News — What’s Up With The Site & Mike

This website is no longer accessible via direct links or webmentions from any sites listed by the personalwebsit.es "Personal website directory" sca^h^h^h, er, project, due to mean behavior from that project's maintainers. I don't know the unjustifiedly snobby maintainers of that project, nor have I ever spoken directly with them, but this past weekend, for some reason they felt the need to personally antagonize me by publicly insulting my art.

A few weeks ago, on a lark I showed a trivial whit of support to that project, by submitting my site's URL for inclusion in their little, obscure (less than 1k sites) purported "personal website directory". I then forgot about it entirely. Suddenly, this weekend, weeks later, out of the blue, one of the maintainers, one Duncan Chidlow, felt it necessary to make a public announcement insulting my art. He abruptly posted in their project repo that they won't include my site—which, of course, in and of itself, is totally fine, that's entirely their prerogative—but rather than just deny the request, he inexplicably felt it necessary to go further, and directly antagonize me, by declaring that the reason they would not be including my personal website in their directory is he feels my generative art is "poor". This person, who I have never met nor spoken to, felt the need to post this publicly on Github. That, I'm a little less fine with. (No word from this esteemed critic on my 30 years of writing, code, photography, music, free open-source tools and WordPress plugins, drawings, web demos, videos, new blog, etc. Apparently the 95% of this site's contents that have nothing at all to do with generative art somehow escaped Chidlow's keen aesthetic perceptions, what with them all being concealed behind a menu that is prominently splashed across the top of every single page.)

There are no content or aesthetic standards given in their submission guidelines. And it certainly didn't tell me that I was signing up for my art to be publicly insulted by a couple of just-out-of-college waddies who weren't alive yet when I'd already been exploring, creating, working at, and even teaching about the intersection of creativity and experimental technology for 20 years.

I kid. I don't know how often they've done this. But I can't see this as anything but deliberate antagonism, publicly directed for some reason at me. I don't know these people, never met them, never spoken to them other than to send them my website's URL. They could have declined and that would have been the end of it. But they saw a need to publicly declare that my art is "poor".

Obviously, they're entitled to their opinion—but they're also entitled to keep it to themselves, and not use their maintainership of a Github repo as a soapbox to publicly announce to the world that they think a complete stranger's art is bad.

Make no mistake: generative art processes (commonly mislabled "AI") are a tool, not pushing a button and letting a computer do the work. (I've also explored this in just a little more depth on my AI Policy page and an essay exploring the conflicted role of generative art technology in social ills such sexism.) While I will admit that occasionally I crank out a post featured image quickly, most of the generative art on this site took hours or days to create. And even if it didn't, I don't believe managing a Github repo grants you sufficient art criticism credentials to legitimize publicly insulting a stranger's work because the mood struck you to.

To say AI art is by definition "poor", if that was their issue, is the same as saying all photography is by definition "poor", because a lot of people use Polaroid cameras. I do not respect that viewpoint. And I do not appreciate them publicly slagging off my hard work, regardless of what they think of its quality.

That's just snobbery. And I don't like snobs, even when they aren't directly insulting my work.

So, there's a bit of a principle at play here. It's not a huge deal, but, I just don't really cotton to complete strangers thinking it's ok to publicly insult my work. I'm just a little bit not good with that. And my website is primarily for me, not for anyone else, and access to my resources for anyone else is a privilege, not a right. Not going to pretend it's some sort of amazing or valuable privilege, but, I don't need to provide it.

So, I'm going to demand the least modicum of respect, just the very bare minimum of not having my work publicly insulted by strangers. Any project that thinks it's a good idea to publicly insult my work, or anybody who supports that project more than they support my work, obviously doesn't need direct access to my work. And likely none of them will miss it. So I'm fine spending the about 5 minutes it takes to throw up a barrier to block their "personal website directory" list as referrers and webmention sources at the firewall level.

And I just sleep a little better, knowing that I have in some banal, superficial way asserted the value of my first-hand efforts, at least to myself.

Sorry, but, like the woman said, it's my site. It's my site. I ain't no hollaback dev. This site is bananas, B-A-N-A-N-A-S. This site is bananas. I ain't no hollaback dev.

I doubt it'll even happen, but, if anyone ever winds up unhappy with not being able to link to or webmention my site because of their association with that troll operation, they can just let me know when they disassociate their site from it, and I'll be thrilled to immediately unblock their site from direct access. TBH I kinda would not mind if someone was a good enough friend to join me in telling douchenozzles, no, while you're free to reject whoever you want, using it as an opportunity to publicly insult someone's art is kind of crass and rude and isn't acceptable. I kinda do think, if someone is going to go to the trouble to proactively alienate me, well, I'm not above a little schadenfreude if it costs them some support. But, whatever, I'm pretty good with just blocking their project and users from my world. Let 'em eat jellybeans.

For the real irony, get an idea of who thinks my site is too ugly to be seen: here is Duncan Chidlow's website. Yes, folks, beside being an authoritative visual art critic, the guy is such a genius web developer that he even knows javascript. This kid thinks he's a professional front-end engineer. Two whole years of web development under his belt, and his site looks almost as good as my 13 year old cousin's. But my art is so far beneath his aesthetic standards that he felt the world needed to know. Douchenozzle.

Sorry. For many decades I'd believed I firmly moved past the sarcasm of my teenage years; but here we see, even in encroaching senescence, a little snotty attitude still may occasionally be of momentary use. I appreciate you obliging me having my moment.

Primarily of interest to Indieweb folks and other web dev geeks, I've got the site integrated with Bridgy Fed, a utility that will help distribute some of my posts to the Mastodon, a decentralized social network, and Bluesky, another social network using decentralized protocols. I have no particular interest in being on those networks, except that it allows me to publish relevant articles from this site, not just to them, but on the developer-centric Indienews (news.indieweb.org) and Indieweb's #stream chat channel, to share them with the community.

I've also done some debugging on some of the heavy-weight under-the-hood scripts that were slowing the site down (technically, it was the script that generates those menus up top, man is that thing a bear.) Hopefully things will be a little faster and more performant now.

What a productive night I just had. Wrote a new blog post, created a whole new "blog post" internal post type so I can do more with blog posts if I decide to give them different features than normal articles, webmentions are up & running on an experimental basis, I cleaned up major bugs in the script that generates a lot of the post lists you see around (like in the right hand column or the post list on the blog feed page) and I packaged a small plugin from a github gist I found the allows you to override the default wordpress behavior and keep some tags & formatting in the automatically-generated post excerpts instead of compressing everything into a solid block of unformatted text, so now archive pages (like this) are reformatted to look more bloglike and readable.

What this has all led up to, is: I have a blog page now. Though this site was originally intended to be a static showcase of my creative work, my involvement with Indieweb folks has inspired me to want to get involved with the social web again and introduce some more timely/dynamic content on here just to get involved with the conversations happening all around me.

The webmention integration means folks hosting their own webmention-enabled websites can leave comments, replies, likes, and more on my site's articles by linking to them from posts on their own sites.

Had some interesting and helpful bug reports from gRegor Morrill today; the first being that the audio player on some pages was working in Firefox but not Chrome, and the second being, "Your music page is shaking. I went to your home page, and that's shaking too.

The first turned out to be a third-party caching system rearranging javascript load order in a way that Google hated and Firefox was ok with. The second was the "Earthquake" feature of my KupieTools Page Appearance Adjuster (Github repo), which I have yet to document on this site but is accessed through the gear tab along the left edge of the window and allows you to adjust visual settings such as brightness, contrast, dark mode, font size, and earthquake. Somehow his browser had kicked on the the earthquake setting.

So, I'm pleased to announce that Chrome users can once again play my albums and other audio playlists on this site, and whenever the earthquake setting is cranked up and the KTWP Page Appearance Adjuster controls are not open, you get a little visual notification which gives you a way to turn it off easily.

Thanks for the heads up, gRegor!

In what may be a first, I've added info about a creative project I had nothing to do with on one of my content pages. But I had to. I found a CSS project where a guy designed a system for creating CSS shadows and other appearance features by defining simulated lighting and other physical attributes. Kinda blew my CSS Point Lighting & Parallax Shadows demo out of the water. So I linked to it from that page. And I'm mentioning it here so I remember where I put the link!

Like a number of other friends in the Indieweb community, I have added a /Caw slashpage.

New Infrequently Asked Auestion. For the audio engineers: why does throwing a sine, square, of triangle wave 180 degrees out-of-phase with itself cause silence, but with a sawtooth wave, it creates a sawtooth an octave higher?

Also I discovered that my Jan 28 fix to the menus didn't take page scrolling into account when calculating the bottom, causing some menus to fly up off the top of the screen. Man, this stuff is complicated.

Minor change, I'm not sure anybody noticed this but me, but in this site's stunningly well-written original WordPress theme code, overly broad CSS caused submenus nested more than a few levels deep to always open to the right of their parent, so that eventually if they were deep enough, they'd appear almost all the way off the right edge of the screen. This has been fixed. Now submenus open in the same direction as their parent unless it would push them off one of the sides of the page, and only then do they reverse direction. Plus I had the javascript that lays out the submenus add a CSS transform to move submenus that go off the bottom of the window high enough not to get cut off. Whoop-de-doo!

Well, it's after New Years, so I've taken down the Pure CSS Interactive Holiday Lights again. You can still enjoy them year-round by clicking through that link to the dedicated article about them, though.

I've also been doing some heavy-duty javascript and CSS optimization. It's a lot of work, so as of this writing, you may run across occasional broken things, as mentioned on the new Jan. 2026 Under Construction notice. Your patience while I renovate, please—thanks! I'll have everything working again as soon as I can.

We have a first! Crystal Touchton (CuppaRex) has installed my WordPress CSS Interactive Holiday Lights Plugin (Github repo) on her site https://crystaltouchton.com - the first time I've seen my software running on someone I didn't know's website. Thanks, Crystal!

Also, I've fixed the code that generates my site's seldom-seen novelty 404 pages to overcome some technical obstacles. To say more would be giving it away.

Well, it's December, which means it's time for my Pure CSS Interactive Holiday Lights to go up on my site again. You can jostle these bulbs by dragging your mouse over them. Play with them on top of any page or read full technical info on https://michaelkupietz.com/pure-css-web-holiday-lights/ Watch out for the broken one!

For web developers among you, look under the hood: no event listeners, no javascript on the bulbs. It's all done in pure CSS for a touch of holiday magic.

New, for this year: they're available as a free WordPress plugin, for use on your own WordPress site. Grab the WordPress plugin from my github repo: https://github.com/kupietools/ktwp-wp-plugin-css-holiday-lights/

Posted a new old essay. I spent this afternoon updating an essay I wrote 7 years ago today about something that happened 32 years ago today, when a fortuitously-timed visit to Jimi Hendrix's gravesite resulted in a lot of morbid rumination but ultimately a grounding, life-affirming moment of realization: Forever In My Heart: Experiencing Jimi

Also put up an experimental generative art gallery, a character study experiment based friend of mine's online alter ego, Tuna Oddfellow.

Couple of notes. I've reshuffled some menus again...

Speaking of which, this isn't included in the site navigation yet, but I've got a new toy I've been working on: useful only to options traders, and likely just greek to anybody else (pun intented), I've been working on an interactive tool for seeing graphs of theta decay and delta change over time for stock options opened at a certain delta from the underlying.

New Blog feature: This site was originally intended as a static showcase of my creative art, but for while now I've considered adding more social-media-like features to the site. So now, I've added a Blog Feed page under the Home menu, presenting the site in more of a blog format. This will include all articles from newest to oldest, much like the /Latest slashpage and newest articles readout at the bottom of the home page, but also may include what I've called "blog posts", brief or timely posts not deserving to be permanently included in this sites collection of articles. This Blog Feed page is the only place those blog posts will appear.

The old technical article about how to add default featured images in WordPress has also been updated with minor changes to make the technique more flexible.

Unfortunately, I've turned off this site's Octothorpes integration (See Sep 14.) It just wasn't working as advertised, and I couldn't get any support. I did author some improvements to their WordPress plugin, if they ever open-source that plugin maybe I'll post my version.

You can't see this, but this site now has a back-end admin settings panel that gives you controls to turn on or off, view, or clear WordPress's debug logging feature. Check out the new KupieTools Debug Log Manager plugin at at https://github.com/kupietools/ktwp-wp-plugin-debug-log-manager.

The site now displays a "Mike is working on the site" banner in the upper right if I'm actively working on it (well, primarily, if the cache has been cleared within the last 15 minutes, something I do regularly while I'm working behind the scenes but rarely happens otherwise.) This is just so while I'm in the middle of fixing or changing something, and someone stumbles across it and it seems funky or broken, they'll know it's because I'm actively working on the site.

I've joined the Octothorpes program, an internet-wide hashtags protocol. Now the various tags & genres that are listed on my articles should, theoretically, be listed on the octothorpe directory https://octothorp.es/~, although they haven't shown up yet.

Personal news: I forgot to mention, a little ways back: I'm pleased to announce that I'm now a published artist! The UCSF Poetic Medicine program at the MERI Center for Palliative Care at Mt Zion selected some of my illustrations for the cover and one of the poems (p. 33) inside the most recent issue of their "The Poems That Flow Through us" anthology: https://drive.google.com/file/d/1UGE5ujeULhyMND4_Vas9uWOgElmFDDnP/view
These images were by request, after one of the editors (full disclosure, a cousin) saw my "Wild California Studies" series. If you'd like to see more, the full galleries I made for her to choose from still need to be pared down to just the best stuff for permanent display, but the full range of contenders is at Wild SF & Wild NYC .

There's a new "Turned it off" tag on the movie reviews page, indicating movies I turned off rather than finish watching, because, seems like there's become enough of those to call it out. Thanks, Tubi.

- A humans.txt file has been added to the site. For background, see https://humanstxt.org/.

Lots of new stuff this past month.
- The front page "hero" (that featured post section) background images are now capable of javascript interactivity... you may occasionally notice one of them moving, or reacting to your mouse movements. Right now I just only added this for a couple of my web demos that are listed on there.
- Performance, performance, performance! I have vastly improved the site performance by hacking away at redundant slow-motion database calls under the hood. From Pingdom's local SF server, my best recorded time so far has been the 4500-element front page loading in 2.2 seconds, and I'm regularly seeing it come in under 3.5 seconds, check it out: https://tools.pingdom.com/#6644658e2cc00000
- Speaking of which, my demo version of the most user-hostile homepage ever, which is one of the new Hero section animated backgrounds, no longer requires jQuery and is now plain javascript, removing one dependency from needing to be loaded. Just as annoying, though.
- The new IT Grimoire section continues to grow at an unreasonable rate. I keep my IT reference notes and troubleshooting logs there. Maybe useful to other people, maybe not.
- I haven't written this up or publicly announced it, but my new Big Diffr tool, a tool to catch LLMs in the act of destroying your code while they claim to be helping you troubleshoot, is online at https://michaelkupietz.com/demos/big-diffr/ . It's definitely still a work-in-progress, but it's usable.
- Also lookit my new CSS Point Light Source & Parallax Shadows web demo. Also features my neat pure CSS August Sun, not yet documented on this site but available in CodePen, as the light source. Fun!
- Pursuant to those things, I've started moving tools and demos you can actually play with to a new Demo & Live Tool Playground section in the Code & Algorithms section.
- On a personal note, this month I arrived back in San Francisco after a few months visiting family back east. That and more is documented on the new /Now slashpage, but you don't want to read that, seriously, it's really depressing.
- I have written my 1,000th mini movie review! For the record, my 1,000th review was for "Hosticide", a subpar-to-middling British thriller about the day-to-day life of a typical middle-class psychopath.

I've updated the Privacy Policy. I used to have a jokey one in there for some reason. Now it's a real one.

Also the Draggable Elements WordPress Plugin now works well on mobile. Or, at least, mobile Safari.

And I've added a few more 88x31 Website Buttons.

Along the left edge of the screen you'll notice a new "eyeball" tab. Check it out, it's fun.

Also I moved some of the 88x31 web share buttons to their own page at 88x31 Website Buttons.

The Draggable Elements WordPress Plugin demo has gotten a lot of rough edges sanded off and is working well.

I have also added an AI Policy page, mirrored for convenience at the /AI slashpage.

I've added a Petit Art gallery of Web Assets, including 88x31 buttons for this site and some other stuff.

The "Hire Mike" floater at lower right, and the Command Line Interface and Display Adjustments tabs on the left side of the screen, are now draggable, so you can move them around if they're blocking page text. Go ahead, play with it, and see a more complete demo (and eventually a technical overview, although it's not written yet) of the new plugin I wrote to accomplish this on the Draggable Elements WordPress Plugin demo page.

I've added a fun new section to the The Encyclopedia Of AI Apologies, showing examples of AI swearing at me and threatening to commit electronic suicide.

There's now a /Tests page, one place with a bunch of different scripts and technologies so I can monitor a single page for numerous kinds of failures. Not such a big deal for you as the reader, but a very big deal for me, and should mean less unplanned surprises as you wander around the site.

BTW Some image galleries that pulled from Flickr (not that you'd know the difference) weren't working recently. Fixed now.

Part of what I'm still working out with this site is how much to use it for updates/blogging/social media type uses. It really was intended originally just to be a static showcase for my art, but it's become a bigger part of my online identity, and will probably eventually transition at least partly to something more like a blog. .

As a stopgap measure, I've created this news page as a place to put more timely, current information, when I need to. Nothing now, but this is where it'll be when there is.

For convenience, this page will be mirrored under my slashpages as /latest.

Other pages showing timely site info:

Recent Site Updates - all recent edits to the site
Newest Articles - most recently created articles
/Devlog - developer log, technical notes so I an figure out what I was doing when something went wrong