words on words on words
One of the reasons I'm trying to blog regularily is to find my way around words again. There's one big reason why: ✨️ precision ✨️ My brain is less-than-good at handling ambiguity. I tend to get…
Note on The Last Quiet Thing
Just yesterday I was looking at my wristwatch and appreciating the fact that it just sits there, telling me the time.
Turn and Face the Strange
In 1999, David Bowie sat across from Jeremy Paxman on BBC Newsnight and told him the internet was going to change everything. Paxman pushed back — it was just a tool, he said. Bowie shook his head.…
Always ‘Copy Clean Link’ when possible on Firefox, with userChrome.css
A userChrome.css guide for ensuring that Firefox always copies a 'Clean Link' if available, while only showing the default 'Copy Link' button on right-click.
How I Made the Typewriter Effect for the Search Section
Adding a little “extra” to a blog often makes it feel more alive. For my search page, I decided to implement a typewriter effect that cycles through my post titles as placeholder text in…
The End of an Era
Today marks the first time everything I host on the Internet has moved away from a dedicated Linux VPS. This blog had moved to Cloudflare Pages in 2022, and previously it had been hosted on a…
Updated Homepage
updated my homepage to have a link to the newest Laura Quest chapter
🫧 On Bubbles
Why does everyone in Hawaiʻi speak Japanese? For the same reason everyone only ever talks about the latest AAA video games, which is to say: to experience reality, you need to leave your bubble and…
Modern CSS is fun
I’ve been doing a bunch of CSS tweaking recently, and keep being surprised by how nice modern CSS is to work with. As someone grey-haired enough to remember writing HTML without CSS, it’s amazing to…
i got featured!
my little ol' post got traction! i've been meaning to do a blurb about this. end of february, i logged on to see if i had a draft idea saved since i couldn't find it elsewhere. literally just…
tidying up, and some changes
hey, it’s been a while, hasn’t it? i’m not gonna do the whole self-deprecating song and dance worrying over “not posting enough”—i just didn’t feel up to making blog posts for a while. life happens,…
Web Weekly #187 (#blogPost)
Guten Tag! Guten Tag! 👋 Have you heard of focusgroup ? Did you try aliases in Node.js imports already? Or do you know that CSS is available in JavaScript? Turn on the Web Weekly tune and find some…
Struggles
It's been almost 2 months since I started this blog. Excitement, ideas on what this blog will be about, on what I'll write and of course how often. As it is, initially It went as I imagined. I've…
The freedom stack
There is a sentence near the beginning of Arielle Roth’s remarks to the Media Institute’s Communications Forum luncheon, delivered in Washington on 25 February, that is worth sitting…
March 2026
Finally emerging from my cave to post this month's What Else Is On! I've been a very busy little bee for the past few weeks in the job search mines, updating my portfolio, updating my resume, working…
The Day My Blog Felt Real
Originally I was going to stay off the website for a bit. But… things have changed. I don’t really mind not seeing the effects my life journey might have on others. But boy do I squeal with joy when…
Find magical places with openstreetmap
I love places that evoke magic sans effort. Places like Mt. Saint Michel and Konstanz. Fortresses on waters. Where nymphs who hand out swords as basis for rulership definitely dwell. My latest…
Mandy hacking (March December Adventure day 1/2)
It's the first day of March December Adventure (really the second day, but I was busy yesterday), and my goal for this week is to learn more about how Jessica Tallon's Mandy prototype works so that…
SCaLE 23x
Last week I had the pleasure of attending SCaLE 23x in Pasadena, California. I love SCaLE, it’s probably my favorite conference. It’s big, but it still feels so local, and I always walk…
New Artwork: Another Day in Paradise
Subscribe via RSS :: Email me :: Support for 1$/month :: Browse the blog archive
What Else Is On? March 16th, 2026
'What Else Is On?' is a collection of things from elsewhere on the web that I want to share. Finally emerging from my cave to post this month's What Else Is On! I've been a very busy little bee for…
Updates OpenTK: alerts voor antwoorden op kamervragen, betere kamerstukdossiers en meer!
Hallo allemaal, Vorige maand mailde ik over wat verbeteringen, waaronder dat als kamerstukken verwijzen naar andere kamerstukken, OpenTK daar nu klikbare links van maakt. Hier is een boel fanmail…
Most are cosplaying: they're not worth listening to.
If you look at tech broadly as it stands today and you listen to a "loud majority" of voices coming from X, reddit, and other media, you'd get the impression that there are some ground truths that if…
You and Your Spinner Can Go to Hell
There’s a new cancer on the web. It’s been around for at least 20 years, but recently it’s gotten to unprecedented ubiquity. I’m talking about the spinner.
IndieWeb Carnival: Museum Memories
<p>It seems like fate that <a href="https://jamesg.blog/">James</a> chose <a href="https://jamesg.blog/2026/03/01/indieweb-carnival-museum-memories">Museum…
Radicle
Radicle is an open source, peer-to-peer code forge built on Git.
a couple quotes
Goose: I gotta make a quick getaway! I'll use the vents! playing together: Goose: This is aurora! Snap: gravely baby roar I suddenly realize: au-roar-a: we are delighted
mucho, poco, nada.
This is supposed to be my fifth blog post. The truth is, every time I sit down to write, I find no words despite the swirl of them endlessly in my brain. Sometimes, they combine to form mixtures of…
The "small web" is bigger than you might think
The small web is growing, and getting more active. Good news.
SimpleStreet: A Chrome Extension for StreetEasy
I built a Chrome extension to make NYC apartment hunting on StreetEasy less painful by showing move-in dates, hiding noise, and adding notes/tags/ratings.
Alabama Photo: Montgomery Bookstore in 1977
I've done a lot of postings about bookstores on this blog, including a few I've never visited since they are no longer around. Many of the earlier ones are listed in this post from April 2022. In…
I am human, hear me vouch!
A couple of days ago I found out about human.json - a protocol for people to claim the human authorship of their site and to vouch for others. Post by @EvanHahn@bigshoulders.city View on Mastodon So…
Color theme changer & radio
So You don't like these brown on the website, right? Or want to use a dark mode skin? Then why not use our fresh color theme changer?! Login, and You can set your very own colors within our…
Openness, transparency and reach: three reasons why public institutions should embrace the Fediverse
An article making the case that the Fediverse is a fantastic communication platform for public institutions - because of its openness, transparency and reach.
Code blocks in your books, finally
Your programming books deserve better than monospace blobs. Merrilin renders code beautifully in EPUBs and PDFs now.
getting back on track
I have been carried away posting on my secondary blog, to the point of neglecting my main blog, which is the reason I was blogging in the first place. For that, I owe anyone that has been waiting for…
The Brand Age
Importance : 7 | # | pg , enshittification Paul Graham : Branding isn't merely orthogonal to good design, but opposed to it. Branding by definition has to be distinctive. But good design, like math…
Rosieland Roundup 307
14 links to get you ahead in community
QueeringTheMap.com & The Life I Might Have Had
My experience with Queering the Map, and how it made me confront queer grief, lost time, family pressure, and missed chances.
Photos of Web Day Out 2026 in Brighton
I had a fantastic time. In Many ways. Here are my photos of Web Day Out 2026 in Brighton. (#WebDayOut) Reply via Email
Short Note
I’ve got a new page on my site! Just for fun! Hats !
Blogging in the Age of AI
This blog has been a part of my life for over fifteen years ago. When I first started, I was inspired by Patrick McKenzie’s article Don’t End The Week With Nothing. This post left a memorable…
Sporadic March Update
New Blog Post. I kind of want to take a bit of a break from social media.
How to Stream Global Television With VLC
How To Stream Global Television With VLC Media Player A quick how to article to supplement my previous post How To Remove Ads From Youtube on All Devices. When I offer free media alternatives,…
The 46er - March 2026
A month has passed yet again and I have continued to track my favorite blog posts from across the RPG blogosphere this month. There's a lot of great writing to read, think about, and use in your…
Ways of Seeing the Web
Leica Double-Gauss Lens Design The news about Cloudflare’s new pay-per-crawl API caught my attention for a few reasons. Read on for why, a bit about what the results look like, and what I learned…
Native JSON modules are finally real
JSON imports finally work natively. Learn how import ... with { type: 'json' } changes runtime behavior, caching, and makes bundlers optional.