Today’s rainy afternoon project: kicking Google Analytics to the curb, and replacing it with GoatCounter for privacy-friendly analytics on this site. The service is free for non-commercial use and its author says he wants to “de-Google-fi the internet a bit, and make pervasive tracking less common.” I am extremely impressed with his creation so far!

I Made This: Introducing Seevooplay

screenshot of Seevooplay in action

screenshot of Seevooplay in action (unthemed)

Today I’m officially introducing a bit of software I crafted earlier this year. Seevooplay is a web app for online invitations and RSVPs, geared toward self-hosters. Throwing a party? Don’t give all your friends’ email addresses to Evite. Don’t expect your friends to be on Facebook. Embrace the indieweb, kick the corporate middleman to the curb, and let your copy of Seevooplay (running on your own website) send email invitations and collect responses for you! That’s the pitch, anyway.

Seevooplay is written in Python on the Django framework. It can be easily integrated into any existing Django site or project, but can also run as a standalone app.

I wrote Seevooplay specifically to scratch a personal itch. My old website, which launched in 2003, had Evite-like functionality provided by an ancient 2000-line Perl script called DaVite. I can’t say the script got heavy use, because I only …

read full post »

How to Enable Remote Desktop Logins on Ubuntu 20.04 When You Can Only Reach the Host Via SSH

Problem: You want to log in to a Gnome desktop on a remote Ubuntu 20.04 host.

Complication: You can only reach the host via SSH.

Further complication: A bug in Gnome currently makes it impossible to enable Gnome’s built-in screen sharing if you connect via SSH. ☹

Solution: Use TigerVNC and an SSH tunnel, and log into that desktop! Here’s how, minus the 2+ hours of head-scratching and swearing that accompanied my long trip down this short path today.

Caveats: This solution assumes you already have Gnome installed and working on the target host. It also assumes X11 provides the desktop on the host; if you’re using Wayland, these steps won’t work.

Step 1. Begin by SSHing to the remote host. Once you’re in, sudo apt install tigervnc-standalone-server to install TigerVNC.

Step 2. Run vncpasswd to set a password for your VNC sessions.

Step 3. Create a file at ~/.vnc/xstartup and fill it …

read full post »

Here I am visiting my favorite piece of art in the whole world: PH-247 by Clyfford Still. It’s nearly always on view at Denver’s Clyfford Still Museum, and no photo ever does it justice. As far as I know, these particular shades of blue don’t exist anywhere else — and they absolutely transfix me.

So I’ve been a lot quieter here than I expected to be this year, but a lot of work has been going on behind the scenes lately. Here’s the first new thing new to share: You can now sign up to be notified by email when there’s a new post here. This option is also available in the blog’s sidebar (or at the bottom of the page if you’re reading on a mobile device). More soon, people! More soon.

Belated thanks to everyone who left a comment during the site’s early days in January. It turns out that I wasn’t being notified of those, so I never knew about them, and therefore never allowed them to go live — until now. Everything’s fixed. Thanks again, friends.

Feeling pretty thrilled to have joined the ranks of the fully vaccinated today. Like others, I note one immediate side effect: more than a glimmer of hope inside that this will all be over soon.

A Dose of Chill

I discovered the EXPLORE.org Sheep Barn Cam before the pandemic began, but have been relying on it more lately for needed doses of chill. I find it extremely calming to watch the stream after the sun goes down, when it is quiet in the barn, half its occupants asleep, the other half awake and chewing cud. I am particularly fond of a mottled sheep with curly horns whom I’ve nicknamed “the Colonel.” Any night that I dial up the Sheep Barn and see the Colonel resting comfortably, perhaps enjoying a good long chew, I feel a little better.

One form of happiness is ordering a fifteen-year-old out-of-print used hardcover sight unseen, and having it arrive looking more or less like it is hot off the press.

The lemon tree in our backyard — which was a stump in the ground when we moved here in 2015 — just won’t quit this season.

May Joe Biden turn out to be exactly the sort of leader our country needs in this frightful historical moment.

In Remembrance: Aaron Swartz

It was eight years ago today that we lost Aaron Swartz, an exceptionally gifted hacker (in the original sense of the word), writer, and activist — a 21st Century renaissance man and a prodigy as well, much loved by people like me who spend our working hours pushing bits around. Aaron was confronted with the very real prospect of spending decades in federal prison for the “crime” of downloading too many academic journals, and ultimately decided, from within the fog of depression, that he could not live in this world any longer.

In the bubble I live in, a lot of people refuse to admit that the Obama administration did some truly heinous things. Hounding Aaron to suicide was one of them. When we remember Aaron, we are reminded that copyright laws in this country are badly out of whack, that our criminal justice system focuses on …

read full post »

Day 2: Found a Bug

Of course I noticed a rather complicated bug on this site the day after it launched. And of course it has to do with caching. Luckily it’s the sort of thing that only other web developers are likely to notice (and not even all of them).

No website is ever finished. Ever. Poor old mahnamahna.net 1.0, when it got frozen in carbonite in 2010, sported a label of “96% feature complete” on its home page because there were a few more niceties I fully intended to implement. Never got around to them. And sometimes things that are finished get unfinished by time. A couple of years back, the oldschool shared hosting that powers the old site imposed a PHP update that broke all the photo galleries in the museyroom. I never had time to sort that out. It is all decrepit, long-abandoned code anyhow, complete garbage by modern standards. A …

read full post »

It’s Time to Light The Lights (Again)

Very nearly eighteen years ago, I launched mahnamahna.net 1.0. That website was my personal online playspace until 2010. It was the place I expressed myself on what we (back then) still sometimes called the World Wide Web. No one calls it that anymore. I think that’s a loss, and there’s probably a whole ’nother post in me about why. But it’s a small loss compared to what so many of us lost when we abandoned our wacky personal playspaces and gravitated to Big Social Media. Hey, I’m not pointing fingers; I did it, too. I fell into Facebook, and less so, later, into Instagram. (Never took to Twitter much. Only a few dozen tweets — mostly retweets — over the years. That’s gonna change, but I’m getting ahead of myself.)

I’ve been mostly absent on social media for a few years now, and you know why. It’s fucking toxic, that’s why. …

read full post »