Link: Kilmar Abrego Garcia is Back on American Soil, Facing Bogus Charges

Wrote a few words about the upcoming end of Glitch project hosting and missed opportunities. Then wrote way more words about a few specific personal projects that got their start there.

https://martymcgui.re/2025/06/07/glitched-out/

Glitched out

#glitch #hosting #shutdown #2025 #IndieWeb #projects

Link: Behind the Underwater Scenes of “Final Reckoning”

A handy note for future-me or any other WordPress plugin developers:

If you need a plugin admin link that performs a download (e.g. a CSV file), you will need to use a hook that is called earlier in the process, before WP sends HTTP headers/content to the browser.

With a typical plugin admin page that displays content, I would use:

add_action( 'admin_menu', 'foo_add_menu' );

Then in function foo_add_menu(), I would use add_menu_page like:

// my example is OO, so $this points to the object and calls the index() method
add_menu_page(
    'Plugin Page Title', 
    'Plugin Menu Title', 
    'edit_posts', 
    $this->plugin_name . '_index', 
    [$this, 'index'], 
    ''
);

If you try to do this with a method that starts a download, you will get errors like “Cannot modify header information.” This StackOverflow answer pointed me in the direction of the load-page hook to solve that.

That documentation is a bit slim, but what I figured out was add_menu_page() returns a hook name. You can take that hook name, prefix “load-”, and use the resulting string as the hook name in an add_action().

In my example above, let’s say the plugin name is “foo_plugin” and replace “index” with “download”. The resulting hook name would be:

load-admin_page_foo_plugin_download

Then I can use:

add_action( 'load-admin_page_foo_plugin_download', 'download' );

(Be careful with the hyphen vs underscores in that)

Finally, within the download() class method, I can safely modify HTTP headers to start a download:

header('Content-type: text/csv; charset=utf8');
// other headers and content...
📗 Want to read The Book of Alchemy by Suleika Jaouad ISBN: 9780593734636

Laying with the Dogs

Scheduled to get my pacemaker generator replaced soon. Here’s hoping the new one looks like Stark’s arc reactor.

Oceanside Ballroom

Link: Jeremy Engleman Has Always Been One of My Favorite 3D Artists

Mandalay Bay Convention Center

Silverton, an Oregon Town in the Cascades Foothills That’s Absolutely Worth the Extra Mile

Mind-blowing yellow color on the road from Sublimity to Silverton
#OregonExplored

Everything for Money

Mandalay Bay Convention Center

at Mandalay Bay Convention Center

Link: Tech Won’t Save Us (Recommended Episodes)

Why Do They Lie So Much?

May is/was ME/CFS awareness month

#ME/CFS #chronic fatigue #fibromyalgia #long COVID #disability

Link: Reflections on My Reflections

Sleep Phases

#videos #sleep #vlogbrothers