Some Bits: Nelson's weblog

New weblog software: Flourish

Hello friends, big day on my little blog! If you’re reading this post you’re reading my blog via a brand new blog engine. I call it “Flourish.” If all goes well you won’t really notice a change. I tried to get the Atom feed right so posts don’t show up as new, but if they do be assured it’s a one-time thing.

Much love to Rael Dornfest and his Blosxom blog engine. I’ve been running that for 25 years. I may be the last person left who was running it, or at least the 2004 Perl CGI. Flourish is a static generator I custom built in Python with Claude Code / Opus. I’d spent several weeks hand-writing a prototype a couple of years ago and couldn’t ever get it launch-ready. The AI wrote and finished it in two days with a much better testing plan than I ever would have done.

The new blog looks more or less the same as the old blog. A few broken things fixed and some cosmetics improved. There’s a slick JavaScript page search now, try it! Once the new system proves itself I plan to modernize the visual design. Who knows, I may even start blogging more!

I cannot say enough about how great AI coding tools have been for me. In just a few weeks I’ve totally updated the server software infrastructure, launched a major new personal content site, built a new blog engine, and done a bunch of little projects. I know there’s a lot of tension about AI coding but I’ve found it very productive for my personal hobby projects. And fun too, I feel like my expertise still matters. I’m just not bogged down anymore in the scut work.

New server for somebits.com

Somebits.com has a new server. It’s been up for a few days and seems to be working great. Big things hosted here:

The new server is hosted at OVHCloud and runs on NixOS. For 20+ years I’ve been hand-managing servers like this. This time around I got an AI to build it for me. It was a very good experience and I’m quite satisfied with the result. Nix feels like a good match for AIs: the entire operating system is described declaratively so there’s no managing of running ssh commands and tracking their side effects.

Travel postcards

Major new product in the Nelsonsphere: my travel postcards. Our recent cruise to Italy, France, and Spain is a good example to start with. I plan to keep updating this going forward.

I collected social media posts for 41 different trips I’ve taken in the last fifteen years. I think of each post as a postcard: a little thought in the moment, hopefully an image. When collected each thread becomes a diary of a trip and the collection as a whole is a summary of much of the travel Ken and I have done. It’s a lot, some 1900 photographs!

I started tweeting travelogues back in 2009 or so but only got intentional about these as a sort of diary a few years ago. So the newer ones are better written.

I’ve got technical notes on how I built this using AI coding. It’s pretty straightforward with the recent Mastodon threads, it’s basically just a thread unroller. But for older posts I had to do some heroics with heuristics to identify travel tweets. And lots of image recovery involving using the Wayback machine and Flickr and Google Photos archives to find my originals. I might have managed the basic unroller on my own but I never would have done all the archive retrieval without an AI’s help.

Learning to break the rules

When I was a young boy I played cards with my friend and his Sicilian father. Dad would cheat. He’d palm cards, fudge the score, take extra turns. When I got to age 9 I realized he was cheating and I was so mad. Cheating was wrong! I realized much later that he was teaching us a lesson. That while it might be wrong, sometimes people will cheat you. He taught us to recognize being cheated.

When I was 15 I applied for a job at the local grocery store. Part of the hiring process was a test for produce codes. I had not memorized them, I went to the beach instead. I was screwed. But someone else had brought a cheat sheet and offered it to me. I was shocked, cheating was unethical! I declined and I did not get the job.

The finale of Heartstopper has a nice moment of queer solidarity. Charlie can’t get permission from the school to start an LGBT club. His art teacher offers to help and says “historically, us queers have never asked for permission to exist.” It’s an important lesson in surviving as an oppressed minority.

When I was 16 I started having sex with other guys. That was illegal in Texas then. Not so much my age (although maybe that too) but the fact that two young men loving each other was a crime. That was a law I joyfully broke as often as I could.

The US is currently falling into fascism because of a political movement empowered by its willingness to cheat and corrupt. I’m not advocating for that kind of wholesale ignoring of ethics. But it’s important to recognize when you are being cheated. And to know when you yourself can break the rules a bit, whether to get an advantage that harms no one, or for civil disobedience, or just to get laid in a place that has made you an outlaw.

Linkblog on linkding

A small update to my linkblog that you probably won’t notice: I’m now using self-hosted linkding as the backend instead of Pinboard.

I switched to pinboard back in 2011 and have appreciated having a hosted service all these years. But development on the product stagnated long ago and the last few years service quality has been erratic. Right now the service is down because the domain registration expired. It’s galling that I had to log in to Nazi Twitter to even see what’s going on with the service.

I’ve been running my linkblog since 2003 and have rearchitected it a few times. The last big change was about four years ago when I built a custom static site generator to format the link database as a web page. I got that code right, I haven’t really had to touch it in four years. It may be the last piece of substantial software I ever write without AI tools. I had Jules make the minor linkding code changes yesterday.

The Year of Linux on My Desktop

For the first time in about 25 years I’m running a Linux desktop. It’s great!

I used to use Linux all the time. But even back in the early ’00s all I was running for work was ssh terminals and a web browser and Windows did that just fine. And for gaming you had to have Windows. I had a few years of using a Mac, then switched back to Windows once WSL got good enough to have a local Unix.

But I liked to try Linux out every couple of years. Last month I installed Bazzite on an external drive to test it out. I liked it so much I’m now converting entirely. I even bought a new computer and monitor for it.

A key factor in switching is that Bazzite is a particularly well-engineered consumer product. It installs simply with a bunch of codecs and drivers so that my fancy HDR monitor simply worked. Bazzite is a gaming-oriented OS and it only exists because Valve put a lot of effort into making Linux gaming work with the Proton compatibility layer. These days Linux plays most games better than Windows itself does and thanks to the success of the SteamDeck, a lot of devs are testing on Linux.

KDE Plasma is another key part of my good experience. It took 27 years but Linux finally has a pretty usable desktop environment out of the box. Multiple monitors work, display scaling works, HDR even works! There’s still some rough edges but all in all it’s pretty good. A lot of things work better than they do on Windows.

I’ve been having a lot of fun tinkering with stuff. Quieting fan noise, getting wake-on-LAN working, streaming Plexamp to my Sonos... Some of these things are probably doable in Windows too but it’s sure a pleasure figuring it out in Linux. Having AIs to ask questions of is a big help too, I wouldn’t have found this so easy two years ago.

Bazzite was a great first date but I’ve since switched to Nobara Linux. They’re very similar, both Fedora variants. Bazzite is an immutable OS which is great for an appliance like a TV PC but not so good for tinkering. Nobara is a more traditional “install what you want” setup. I could also just use Fedora directly but the extra customizations and drivers add enough value add I am glad to have it.

net.motss founding statement

In 1983 Steve Dyer created the Usenet group soc.motss, possibly the first-ever online LGBT community. It was an important part of my life in the early 1990s. There’s a couple of good retrospective histories of motss: Avery Dame-Griff and David Auberach.

I wanted to re-post Steve Dyer’s original October 1983 post from when motss was first created. At 1AM!

Subject: Net.motss is born!
From: sdyer@bbncca.ARPA (Steve Dyer)
Path: watmath!utzoo!linus!decvax!genrad!wjh12!bbncca!sdyer
Date: Fri, 7-Oct-83 01:05:04 EDT

Net.motss is a forum for the discussion of gay-related issues of interest to all members of USENET. Its name is an acronym for “members of the same sex”, coined by contributors to net.singles as an analogue to MOTOS–“member of the opposite sex.” It is therefore, unfortunately, a euphemism of sorts–an alternative to the preferred ‘net.gay’. Nevertheless, the proponents of the group have gladly passed on this minor issue so that the group should be swiftly formed.

It is designed to foster discussion on a wide variety of topics, such as health problems, parenting, relationships, clearances, job security and many others. Gay members of USENET will find this a supportive environment for the discussion of issues which have immediate impact on their everyday lives. Those who aren’t gay have an opportunity to be informed by the discussion, and are encouraged to read the news items and contribute their own questions and opinions.

Net.motss is emphatically NOT a newsgroup for the discussion of whether homosexuality is good or bad, natural or unnatural. Not is it a place where conduct unsuitable for the net will be allowed or condoned. Rather, like every USENET news group, it is an opportunity for people all across the world to express their opinions, exchange ideas, and come to appreciate the diversity within the USENET membership.

/Steve Dyer
decvax!wivax!dyer
decvax!genrad!wjh12!bbncca!sdyer
…!ima!bbncca!sdyer

I like a few things about this. The statement this was a safe space for LGBT people, not a forum for debate about our existence. That it was a world-wide community. The inclusion of health as a topic, this at the start of the AIDS crisis. And the fact that the name was a below-the-radar euphemism. The phase members of the same sex has a history going back to Kinsey and the 1970 US Census!