3228338d f61d 49c8 8239 d1fd35fefc1c
3228338d f61d 49c8 8239 d1fd35fefc1c

An early viewer asked some questions about the art I use on my site, so I thought I would put together a page of Q&A about the site and the materials on it.

Who are you, now?

I’m Mike Kupietz. You can be forgiven for not knowing who I am. Although I do have to admit I privately hoped I’d make more of a splash. I’m a musician, artist, and by day a FileMaker consultant and web developer based, strictly due to an accident of fate, in San Francisco.

Where did you get _____ image? / Did you do all this art?

Mostly all the images on this site are my own art. There are a few public domain images on this site. As of this writing the images I didn’t create are:
– the poo emoji on the BS Detector post
– Cezanne’s “House with Red Roof”, which I used a detail of as the cover of my perpetually under-construction album “Five Themes In Uncertain Times” as a symbolic representation that I’ll try to get around to explaining if I ever get that album finished and released
The ornate “K” stamp logo (in the background of the header and used as a default featured image for posts without a custom one), which is a logo I’ve used for many years, from an actual rubber stamp that I bought in the stamp store in Northgate Mall in Seattle in probably 1995. It’s originally from the decorative typeface “Cloister Initials” created in 1918 by renowned typographer Frederic W. Goudy, and nowadays available online as LTC Goudy Initials, which is (sometimes) used for the ostentatious drop caps at the beginning of each post page of the site. (Goudy was also the designer of the dreadfully overused Copperplate Gothic, which will be familiar to anyone who was anywhere in the 1990s.)
– Also, when reviewing equipment or apps, I may include a screenshot or image from the author’s site, as I did with my post about the Bento Box synthesizer… I hope this is alright.
– This list may not be exhaustive. There may be others here and there as I work on the site.

All other images are by me. As of this writing, AI generative art has been a recent fascination, so many of the images were created that way, but a few older ones, particularly album covers of older pieces and recordings, are my own photography, photoshop manipulations, or done in iOS apps such as Sketch Club, Art Set, or Snapseed. For a while I was doing a lot of abstracts in Sketch Club and then punching them up using Google’s original Deep Dream AI image enhancer.

The written and audio content of this site is all yours?

All mine. Except, where music is clearly marked as cover songs, in which case it’s my original arrangement of somebody else’s music.

Did you code this whole site yourself, or use a canned WordPress theme?

This site runs on WordPress and is built on my own every extensive code customizations to the free Sinatra theme. If you click that “Sinatra” link and hit the “preview” button to look at their demo, anything you see on this site’s design that isn’t in their demo, I wrote myself in PHP. It was not fun, I can tell you that. I hate PHP.

But, I’m a code cowboy, and distrusting of other software developers, so anything not super-complicated, I’d prefer to code myself than use a plugin for.

How about those awesome menus up top? Did you write the code that creates those? Surely you just get those from a canned plugin, right?

No such luck. What I did was take the free version of the Hierarchical HTML Sitemap plugin and customize the PHP code of it almost beyond recognition to get it to generate usable menus in the way I wanted. On my list of things to do is a post showing the customized plugin code that creates the menus.

Come on. I’m a geek. Give me the full technical details of how the menus work.

The menus are built on-the-fly by analyzing WordPress’s built-in hierarchical post category feature, it reads the tree of post categories and and subcategories and builds the menu directly from it. There is an invisible topmost category, “MenuCategories”, which contains the categories “About / Meta”, “Writing”, “Visual Arts”, etc., which are displayed as the menu titles, then recursive levels of submenus are built from the subcategories and posts each category contains. The entire process is very painful.

The modified Hierarchical HTML Sitemap output is called by a WordPress shortcode, which I found some code on StackOverflow to allow me to use shortcodes as menus. So, internally, the entire menu structure of this site is just one single custom menu entry, with a description similar to ‘[sitemap startcat=”MenuCategories”]’.

What fonts do you use on this site?

I was very gratified when someone complimented my display font on this site, because I attacked choosing that font with brutal, neurotic, perfectionistic determination. When I first had the idea of this site, I knew what I wanted the “KUPIETZ|ARTS+CODE” to look like, right down to the font, and I spent a long time going through Google Fonts trying to find it. Ultimately I couldn’t find an exact match to what I had in my head, but the web font Red Hat Display came closest.

Smaller headings and body text are my old standby Open Sans, which is probably my favorite body typeface of all time, possibly excepting whatever they used in that ’80s paperback edition of “Dream Park” by Larry Niven, which I’ve never been able to find a digital recreation of. (Yes, design geeks, Sunset Serial Regular is very similar. I know that. You think I don’t know that?)

What WordPress plugins do you use?

Here’s an auto-generated PHP dump of plugins which are active right now. Some of them might not be in use on the site even though they’re active. A few have been blocked from appearing in this list so as not to give away my site security measures.

  • Advanced Database Cleaner PRO - Clean database by deleting orphaned data such as 'old revisions', 'old drafts', 'orphan options', etc. Optimize database and more.
  • Advanced TinyMCE Configuration - Set advanced TinyMCE options for the classic block and classic editor.
  • Child Themes Helper - Tool to aid the child theme developer. Copies files from the parent theme to the child theme, duplicating the folder structure in the child theme. Directly edit the child theme's files. Create a new child theme from any template theme.
  • Classic Editor - Enables the WordPress classic editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.
  • Classic Widgets - Enables the classic widgets settings screens in Appearance - Widgets and the Customizer. Disables the block editor from managing widgets.
  • Custom Taxonomy Order - Allows for the ordering of categories and custom taxonomy terms through a simple drag-and-drop interface.
  • Disable Comments by click5 - Disable comments on your website and protect yourself from spammers.
  • embed-githubin - Shortcode for a box with a github project.
  • Favicon by RealFaviconGenerator - Create and install your favicon for all platforms: PC/Mac of course, but also iPhone/iPad, Android devices, Windows 8 tablets, etc.
  • Gallery Lightbox Lite - Displays your images gallery into the awesome and responsive lightbox slider with very easy
  • Health Check & Troubleshooting - Checks the health of your WordPress install.
  • KupieTools Add Class To Link - Adds a custom class to all external links in content except for image links.
  • KupieTools Caching Toolkit - Functions for developers to implement Wordpress function caching for performance.
  • Kupietools Debuggery Toolkit - My custom debugging helper functions.
  • KupieTools Editor Code Folding - Adds code folding disclosure triangles to Plugin File Editor and Theme File Editor admin screens.
  • KupieTools Editor Developer Log - Bells and whistles for theme and plugin editor pages.
  • KupieTools Editor File Manager - Add Create New, Rename, and Download file options to Plugin File Editor and Theme File Editor admin screens.
  • KupieTools Embed Page - Adding embeddable pages with /embed/ or ?embed URLs.
  • LiteSpeed Cache - High-performance page caching and site optimization from LiteSpeed
  • Login No Captcha reCAPTCHA (Google) - Adds a Google CAPTCHA checkbox to the login, registration, and forgot password forms, thwarting automated hacking attempts
  • MB Custom Post Types & Custom Taxonomies - Create custom post types and custom taxonomies with easy-to-use UI
  • MK Custom Shortcodes - My custom shortcodes.
  • MK debugging additions - Dump queued scripts into a comment.
  • mk Hierarchical HTML Sitemap - MK modification of plugin. Generates menus from category hierarchies. Original description: Generates hierarchical HTML sitemap wich displays hierarchically sorted categories with posts links. You need add [htmlmap] shortcode at any page. It's working easy and fast. Super lightweight PHP code, without external CSS/JS files.
  • MK Multi-column Tag Map - MK customized plugin, used to generate pages of movie reviews, fragrance reviews, etc. Original description: Multi-column Tag Map displays a columnized and alphabetical (English) listing of all tags used in your site similar to the index pages of a book.
  • MK Sinatra Additions - My custom Sinatra theme code.
  • Photonic Gallery & Lightbox for Flickr, SmugMug, Google Photos & Others - Extends the native gallery to support Flickr, SmugMug, Google Photos and Zenfolio. JS libraries like BaguetteBox, BigPicture, Gie Lightbox, LightGallery, PhotoSwipe, Spotlight, Swipebox, Fancybox, Magnific, Colorbox, PrettyPhoto, Image Lightbox, Featherlight and Lightcase are supported. Photos are displayed in vanilla grids of thumbnails, or more fancy slideshows, or justified or masonry or random mosaic layouts. The plugin also extends all layout options to a regular WP gallery.
  • Post Type Switcher - A simple way to change a post's type in WordPress
  • Preserve Code Formatting - Preserve formatting of code for display by preventing its modification by WordPress and other plugins while also retaining whitespace.
  • WebSub (FKA. PubSubHubbub) - A better way to tell the world when your blog is updated.
  • Regenerate Thumbnails - Regenerate the thumbnails for one or more of your image uploads. Useful when changing their sizes or your theme.
  • Search Regex - Adds search and replace functionality across posts, pages, comments, and meta-data, with full regular expression support
  • Shortcode in Menus - Allows you to add shortcodes in WordPress Navigation Menus
  • Simple Local Avatars - Adds an avatar upload field to user profiles. Generates requested sizes on demand, just like Gravatar! Simple and lightweight.
  • Simple Location - Adds Location to WordPress
  • TaxoPress - TaxoPress allows you to create and manage Tags, Categories, and all your WordPress taxonomy terms.
  • Syndication Links - Add Links to Syndicated Copies of Your Posts
  • Transients Manager - Provides a familiar interface to view, search, edit, and delete Transients.
  • UpdraftPlus - Backup/Restore - Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
  • Webmention - Webmention support for WordPress posts
  • Yoast SEO - The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more.
  • Asset CleanUp: Page Speed Booster - Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
  • WP Crontrol - Take control of the cron events on your WordPress website.
  • WP Last Modified Info - Ultimate Last Modified Plugin for WordPress with Gutenberg Block Integration. It is possible to use shortcodes to display last modified info anywhere on a WordPress site running 4.7 and beyond.

Wait a second, hold up. How did you get WordPress to cough up a live list of active plugins?

It’s not hard. It’s a little PHP function I wrote. I promise I will write a post about that. It’s on my list.

I notice some of your image galleries work differently than WordPress’s default galleries. Please tell me you didn’t recode their entire built-in gallery function.

What do you take me for? Yeah, of course I did.

Well, I extensively modified it to do what I want, I didn’t rewrite it 100% from scratch. But, yeah, things like having one caption stretch across multiple images, different numbers of images on each row, etc., WordPress’s default gallery doesn’t let you do those. Mine does. It was tricky, and another thing I’ll make a post about at some point to explain how it all works.

I also had to make sure it still worked with the Gallery Lightbox plugin’s functions, a little plugin for creating the interactive fullscreen gallery display when you click on an image in a gallery, which is simple and efficient and works very well but in no way expects some of the wierd kinds of stuff I throw at it. It was all a little bit of a pain.