Jeremy Keith

Jeremy Keith

Making websites. Writing books. Hosting a podcast. Speaking at events. Living in Brighton. Working at Clearleft. Playing music. Taking photos. Answering email.

Journal 3114 sparkline Links 10467 sparkline Articles 85 sparkline Notes 7631 sparkline

Wednesday, November 27th, 2024

The Free Web - The History of the Web

I am going to continue to write this newsletter. I am going to spend hours and hours pouring over old books and mailing lists and archived sites. And lifeless AI machines will come along and slurp up that information for their own profit. And I will underperform on algorithms. My posts will be too long, or too dense, or not long enough.

And I don’t care. I’m contributing to the free web.

Reading Tomorrow, and Tomorrow, and Tomorrow by Gabrielle Zevin.

Buy this book

Monday, November 25th, 2024

Sunday, November 24th, 2024

Syndicating to Bluesky

Last year I described how I syndicate my posts to different social networks.

Back then my approach to syndicating to Bluesky was to piggy-back off my micro.blog account (which is really just the RSS feed of my notes):

Micro.blog can also cross-post to other services. One of those services is Bluesky. I gave permission to micro.blog to syndicate to Bluesky so now my notes show up there too.

It worked well enough, but it wasn’t real-time and I didn’t have much control over the formatting. As Bluesky is having quite a moment right now, I decided to upgrade my syndication strategy and use the Bluesky API.

Here’s how it works…

First you need to generate an app password. You’ll need this so that you can generate a token. You need the token so you can generate …just kidding; the chain of generated gobbledegook stops there.

Here’s the PHP I’m using to generate a token. You’ll need your Bluesky handle and the app password you generated.

Now that I’ve got a token, I can send a post. Here’s the PHP I’m using.

There’s something extra code in there to spot URLs and turn them into links. Bluesky has a very weird way of doing this.

It didn’t take too long to get posting working. After some more tinkering I got images working too. Now I can post straight from my website to my Bluesky profile. The Bluesky API returns an ID for the post that I’ve created there so I can link to it from the canonical post here on my website.

I’ve updated my posting interface to add a toggle for Bluesky right alongside the toggle for Mastodon. There used to be a toggle for Twitter. That’s long gone.

Now when I post a note to my website, I can choose if I want to send a copy to Mastodon or Bluesky or both.

One day Bluesky will go away. It won’t matter much to me. My website will still be here.

Thursday, November 21st, 2024

CCC | Ban tracking and personalised advertising

YES! THIS!!!

A ban on tracking-based personalised advertising will provide an incentive to reinforce sustainable alternative models and, in fact, will be a condition for making them viable. The advertising industry already has sustainable, proven concepts for effective online advertising that do not require targeted tracking and personalisation (e.g. contextual advertising).

I don’t have time to learn React - Keith Cirkel

React is a non-transferable skill.

React proponents might claim that React will teach you modern UI, but from what I’ve seen it barely copes with modern UI. autofocus is broken, custom elements don’t work in all but the experimental version, using any “modern” features like dialog or popovers requires useEffect, and the synthetic event system teaches you so little about how DOM actually works. This isn’t modern UI, it’s UI from 2013 at its inception. I don’t have the time left in my career to pick up UI paradigms that haven’t evolved much beyond from when Barack Obama was in office.

When I mentor early career developers and they ask me what they should learn, I can’t say React, they don’t have time. I mean sure, pick up enough React to land you the inevitable job doing it, but it’s not going to level up your career.

Wednesday, November 20th, 2024

Looking up the translation for the word “cute” in another language, it’s listed in a dictionary as “cute, a.F” where “a.F” stands for “adjective, Familiar” …but that is not how I read it at first!

Tuesday, November 19th, 2024

A screenshot of the posting interface on my website showing a form field with this note written it. Below there are two selected buttons: Mastodon and Bluesky.

I’ve updated my website’s posting interface to allow me to selectively POSSE to Mastodon and/or Bluesky (previously I was using RSS-to-micro.blog for Bluesky syndication)

Sunday, November 17th, 2024

Sitting in the front row at the Duke Of York’s to see Danny Boyle’s Sunshine projected on the big screen.

It’s daylight saving time!

Thursday, November 14th, 2024

Wednesday, November 13th, 2024

Replying to

Super Toilets were supposed to last all summer long.

Genuine LOL—I reckon Brian Aldiss would approve!

I reckon Musk should’ve been put in charge of mass deportations—I mean, just look at the amount of people he’s already managed to get to leave Twitter.

Tuesday, November 12th, 2024

Older »