The fourth quarter

When I was at art college one of my classmates, Stuart, did a film project where he got two of us to eat a whole chocolate cake each. He set up two cameras, one on each of us filming continuously as we ate the cake. These cakes were family sized cakes, extremely rich, chocolatey cakes with multiple kinds of chocolate all over the outside.

We started to eat the cakes, they were really delicious cakes, sweet and tasty. We both devoured the first quarter of the cake, no problem, this was an amazing thing to eat, super tasty.

The second quarter of the cake tasted great too, it was still nice to eat, by the end of this piece I was starting to feel quite full of cake.

On to the third quarter it started to feel slower going, chewing the cake was taking longer, the taste was a little too sweet now, my taste buds were no longer excited by the sugary taste. There was now a bit of reluctance when it came to putting mouthfuls of cake into my mouth, I would most definitely have been more than happy to stop eating cake at this point.

The fourth quarter, starting this piece I was definitely forcing myself to eat it, every spoon felt like putting something horrible into my mouth, the rich, sweet, sugar now making me feel sick the more I ate of it. My body reacting with every bite, as I chewed what was once tasty chocolate that now was like the grossest thing I could be putting in my body. Swallowing was slow, fighting the rising urge in my body to throw up. This fourth quarter took a long time to eat, there was no joy in the eating now, compelled to eat it as the aim was to finish the whole cake and get it done.

This experience describes how work projects seem to go sometimes, I enjoy the work I do, but every so often there’s a “fourth quarter” and it becomes extremely hard going, trying to get through those final mouthfuls of cake.

What if I bought Apple stock instead?

This little tool is something I threw together after realising that it was 20 years since I bought my first iPod, it was a 40GB iPod and cost about £3001 at the time if I recall correctly. The thought occurred to me, “what if I had invested that £300 in shares in Apple instead of buying that iPod?” The result2 is this tool:

apple
2004
2024
What if I bought Apple stock instead?

What if instead of buying that Apple product in 2004 you had bought stock in the company instead? Enter the price you paid in 2004 for the product you bought to see how much money the stock would be worth in 2024:

$
$

How is this calculated? Using approximate data from historical stock prices sources such as Yahoo Finance and Digrin.

  • In October 2004 the cost of 1x Apple share was approximately $60
  • In October 2024 the cost of 1x Apple share is approximately $231
  • The cost of the product entered is divided by the 2004 amount to give us a number of shares, this is rounded down to get a whole number of shares for simplicity
  • The stock split three times between 2004 and 2024, 2:1 in 2005, 7:1 in 2014 and 4:1 in 2020, so the amount of stocks is adjusted based on these splits to get the total amount for today.

  1. This converts to approximately $540USD at the exchange rate of that time, the cost of the 40GB iPod was about $400USD (+ taxes) at that time. ↩︎
  2. The result is this slightly depressing thought exercise! 🤦🏻‍♂️ I’ve used USD at it was easier to get historical share prices in USD, but you get the idea. ↩︎

AI Bots: Disallow

I wrote a post recently “Should WordPress block AI bots by default?” with some thoughts about whether WordPress should be blocking AI bots via the robots.txt file by default.

Since writing that I decided that rather than just talking about it I should go ahead and submit some updated code to the WordPress project that does exactly that. I’ve done WordPress development for 14+ years, whilst I’ve created my own plugins and added them to the WordPress plugin repository I’ve never submitted anything to the core codebase before, so it was an interesting process to go through to get a bit of experience of that.

I’m not going through the various steps in detail to do this, but basically it involves forking the WordPress codebase on Github, making the changes in a local development environment, pushing some code to Github and making a Pull Request for those changes.

Whilst the code change is pushed to Github you also need to make a ticket in WordPress Trac ticketing system that is used to track code issues like bugs, updates and feature requests. I created a new Trac ticket for the PR but as it turns out a similar idea had been previously suggested in this Trac ticket so mine has been marked as duplicate to this original one.

This original ticket has some good ideas in it, although no code has been written so I’m glad to have submitted a PR along with it. I do also think my argument for this are a bit more forceful in my ticket compared to the original, I really do think this should be added. However, I am approaching this from the perspective of trying to create some discussion around this, so I don’t at all expect that the code in my PR is exactly the way this feature should work. In the original Trac ticket the suggestion is to have another checkbox in the “Reading” options in WordPress, “Discourage Al services from indexing this site” which I think makes perfect sense.

I did wonder whether there should be any specific way to manage the list of AI Bots though, whilst the “discourage search engines…” option is similar there is a difference. In the ‘robots.txt’ file it only takes a couple of lines to block all search engine user agents:

User-agent: *
Disallow: /

So if you wanted to block all search engines and AI bots you could use just those couple of lines, but presuming you still want search engines to index your site1 you need to specifically list all of the AI bot user agents to be blocked, something like this should block most known AI bots (at the time of writing in October 2024 anyway):

User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: AlphaAI
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: cohere-ai
User-agent: Diffbot
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: FriendlyCrawler
User-agent: GPTBot
User-agent: Google-Extended
User-agent: GoogleOther
User-agent: GoogleOther-Image
User-agent: GoogleOther-Video
User-agent: iaskspider/2.0
User-agent: ICC-Crawler
User-agent: ISSCyberRiskCrawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: Kangaroo Bot
User-agent: Meta-ExternalAgent
User-agent: Meta-ExternalFetcher
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
User-agent: Sidetrade indexer bot
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: Webzio-Extended
User-agent: YouBot
Disallow: /
2

It’s possible users might want to allow certain ones, and disallow others so the original Trac ticket also suggests that this list could be filterable so that plugins etc could modify this list.

I don’t think adding any kind of UI beyond the checkbox to core would be desirable as it’s exactly the kind of extension of functionality that plugins are intended for. The basic feature of blocking AI bots will work and if users need more they can find a plugin or write their own code to do what they need. One consideration is whether this list of default AI bots should get updated outwith the regular core WordPress development cycle, but the amount of new AI bots appearing probably(?) isn’t that frequent and there are fairly common interim point updates in the WordPress development cycle that would allow this block list to be updated.

If you’re reading this and think it’s an enhancement worth supporting then please do leave a comment on the original Trac ticket if you can, or reshare this post anywhere you think might help draw attention to it.


  1. I acknowledge there is a lot of discussion about whether blocking AI bots will one day have the same impact that blocking search engines from your site does now in that you basically won’t show in any search engine results. The intention of blocking AI bots by default is so that users can make an informed choice about how their content is used. ↩︎
  2. These are the droids we are looking for? ↩︎

Dookie Demastered

I’m not particularly into Green Day but this is pretty great, “Dookie Demastered” is their response to the usual “remastering” and re-release of albums when they reach certain age milestones, in this case it’s 30 years since their album “Dookie” was released:

https://www.dookiedemastered.com

Basically the album was “re-exploded onto 15 obscure, obsolete, and otherwise inconvenient formats“, from a wax cylinder to game boy cartridge, floppy disk and an electric toothbrush.

I love the Handheld heroes-esque nature of this, including the great line drawing near the bottom of the site which shows all of the formats.

Should WordPress block AI bots by default?

I’ve been thinking a lot about AI recently, there’s definitely a lot of great uses for it and I use ChatGPT quite regularly. Despite it being a useful tool I’m very aware that a lot of content used to train AI models has just been slurped up without any user consent being given.

Microsoft’s AI CEO Mustafa Suleyman said at a conference back in April:

“With respect to content that is already on the open web, the social contract of that content since the 90s has been that it is fair use. Anyone can copy it, recreate with it, reproduce with it. That has been freeware, if you like. That’s been the understanding,”

So his perspective is that content which has been shared publicly on the web is available to be used for AI training by default, unless the publisher specifically says otherwise that it should not be used. I’m pretty sure copyright law disagrees with his take but there you go.

So with this stance in mind I have been giving it some thought and wondering if any consideration had been given to including any AI bot blocking in the standard ‘robots.txt’ file for WordPress? It might seem a little like “closing the gate after the horse has bolted” seeing as so much content has already been consumed, but people are still publishing content, more and more every day.

An AI bot image generated by AI? 1

My perspective is that having AI bots blocked by default in WordPress would be a strong stand against the mass scraping of people’s content for use in AI training without their consent by companies like OpenAI, Perplexity, Google and Apple.

I’m aware that plugins already exist if people wish to block these but this is only useful for people who are aware of the issue and choose to block it, whereas consent should be requested by these companies and given rather than the default being that companies can just presume it’s ok and scrape any websites that don’t specifically say “no”.

Having 43%+ of websites on the internet suddenly say “no” by default seems like a strong message to send out. I realise that robots.txt blocking isn’t going to stop any of the anonymous bots that do it but at least the legitimate companies who intend to honour it will take notice. With the news that OpenAI is switching from being a non-profit organisation to a for-profit company I think a stronger stance is needed on the default permissions for content that is published using WordPress.

So whilst the default would be to block the AI bots there would be a way for people / publishers to allow access to their content by using the same methods currently available to modify ‘robots.txt’ in WordPress, plugins, custom code etc.

That’s my perspective / thought process anyway, I’m curious to see what other’s thoughts are.


  1. The potential irony of using partially AI generated imagery as the main feature image in this particular post is not lost on me. The mass-scraping of images and video is possibly an even bigger issue than content-scraping of websites in regard to mass-copyright violation. ↩︎

iPhone: sweet solution, evolution and disruption

When the iPhone was announced in 2007 Steve Jobs introduced it by saying that Apple was introducing three revolutionary products:

  1. Widescreen iPod with touch controls
  2. Revolutionary mobile phone
  3. Breakthrough internet communications device

At the time this seemed to cover the main functions that people would find useful on mobile phones, applications or “apps” were not yet a thing that most people cared about as most mobile phones of the preceding era had pretty clunky interfaces and getting hold of apps was controlled pretty firmly by the mobile networks.

The iPhone didn’t initially support a way for developers to make native apps, instead offering only the “sweet solution”1 of web apps in Safari. Before too long a native SDK was released in 2008, the App Store opened for business in July of that year and allowed developers to release native apps, and the beginnings of the initial app boom era started.

So those “three revolutionary products” were joined by a fourth one: a “handheld game console“. In December 2008 Apple announced the top 10 paid apps in the App Store, of those 10 the top 7 of them were games:

  1. Koi Pond2
  2. Texas Hold’em
  3. Moto Chaser
  4. Crash Bandicoot: Nitro Kart 3d
  5. Super Monkey Ball
  6. Cro-Mag Rally
  7. Enigmo
  8. Pocket Guitar
  9. Recorder
  10. iBeer
This image shows app icons from these 10 iPhone apps: Koi Pond, Texas Hold’em, Moto Chaser, Crash Bandicoot: Nitro Kart 3d, Super Monkey Ball, Cro-Mag Rally, Enigmo, Pocket Guitar, Recorder, iBeer.
These are a blast from the past!

One notable thing about the first iPhone that may seem odd now was that the camera was only a stills camera, no video support, no flash, no exposure compensation; not only that but the camera used a tiny 2 megapixel sensor. Prior to the iPhone release phones such as the 2006 Nokia N95 came with a 5MP camera, supported video and had a flash. So this aspect of the iPhone was really only providing the bare-bones, minimal requirements for taking photos. You definitely couldn’t add “Digital SLR quality camera” to that initial trifecta of devices that Steve introduced the iPhone with.

Fast-forward to 2024, the iPhone cameras have improved amazingly, the front-facing “selfie” camera alone on the iPhone 16 (first added with the iPhone 4) now takes 12MP photos and can shoot 4K video. Depending on which version of the phone you get two or three main cameras, with the iPhone 16 Pro sporting 48MP sensors with regular, ultra-wide and telephoto lenses. The iPhone is now one of the most popular cameras in the world, not just “phone cameras” but cameras in general. The iPhone, along with other smartphones, disrupted the camera industry3, even with the much poorer quality cameras in the earlier phones.

Whilst the camera(s) on the iPhone have been incrementally improving, year-over-year with each new model, this year sees an interesting new addition to both the regular and pro versions of the phone; the new “Camera Control” button. The Camera Control button is found on the side of the phone and is specifically for controlling the camera functions and provides a way to quickly access camera tools like exposure, depth of field and zoom4. The button is both a physical button and touch-sensitive control so you can press and slide sideways to navigate, adjust and select settings.

Apple has been touting their new “Apple Intelligence” AI-based features along with the release of these new phones, but I think the Camera Control is the most interesting feature on these new iPhones5. The camera has been an important feature of the iPhone for some time now and has become many people’s only camera that they use for taking photos and shooting video (even being used for making actual movies). But the addition of the Camera Control seems significant to me, in that Apple increasingly views part of its core functionality to be an actual camera, not just a phone with a camera on it.

So it seems that alongside the earlier addition of “handheld game console” to the initial three products that comprised the first iPhone we can now definitely add “High resolution mirrorless camera” to that list of “products” that makes up the iPhone.

Steve Jobs had a clear idea of the three core products that the iPhone was going to disrupt when he introduced the original iPhone, but I think the introductory slide would be something more like this had he envisaged gaming and photography becoming such a core function of the device6:

This image shows Steve Jobs on stage introducing the original iPhone with a slide saying "iPod", "Phone", "Internet" and the additions of "Gaming" and "Camera".

  1. MacStories wrote a good article looking back at the “sweet solution” back in 2018. ↩︎
  2. Ok, some might nit-pick that Koi Pond isn’t a game, but it’s definitely not a productivity app :) ↩︎
  3. Estimated to be an 87% drop in digital camera sales since 2010! ↩︎
  4. At the time of writing Apple has said additional functionality is coming in a future software update: “Camera Control will introduce a two-stage shutter that lets you automatically lock focus and exposure with a light press“. ↩︎
  5. Also, Apple Intelligence technically isn’t out at the time of writing, only with iOS 18.1 and subsequent point updates will it incrementally become available. ↩︎
  6. Is a “phone” still a core part of a smartphone device now? Arguably “internet communication” has replaced much of the traditional phone usage now. ↩︎

Stories

Stories can be either bacteria or light; they can infect a system, or illuminate a world.

Birds of Heaven, Ben Okri

I had forgotten what a great book “Birds of Heaven” by Ben Okri is. It is a short book focused on the power of words and also the role of storytelling in the world. I guess it contains stories about stories.

Nations and peoples are largely the stories they feed themselves. If they tell themselves stories that are lies, they will suffer the future consequences of those lies. If they tell themselves stories that face their own truths, they will free their histories for future flowerings.

PS5 Pro – Have games console prices jumped the shark?

Sony recently announced the PS5 Pro games console which had been long rumoured and I, like many people it seems, was a bit shellshocked to see the price to be $699 / £699.

My initial reaction was definitely a bit incredulous (and I probably still am to be honest), but it did also give me pause to consider whether this price is actually as extremely high as it seems. I was curious about the relative costs of games consoles since the 1980s and whether the prices have always been priced relative to inflation. So after a bit of Googling and also a bit of querying via ChatGPT I came up with these approximate costs for a few consoles over the years:

ConsoleLaunch YearOriginal Price (USD)GBP Equivalent at LaunchInflation-Adjusted Price (2024)1
Atari 26001977$199£115£505
Nintendo Entertainment System (NES)1985$199£185£500
Sega Master System1986$200£133£350
Super Nintendo Entertainment System (SNES)1991$199£114£230
Sega Genesis (Mega Drive)1989$189£118£260
Sony PlayStation1995$299£187£330
Nintendo 641996$199£128£225
PlayStation 22000$299£200£310
Xbox2001$299£206£315
PlayStation 32006$499-$599£277-£332£425-£510
Xbox 3602005$299-$399£166-£222£245-£330
PlayStation 42013$399£257£300
Xbox One2013$499£322£370
Nintendo Switch2017$299£230£250
PlayStation 52020$499£384£390
Xbox Series X2020$499£384£390

So looking at those prices it does seem like the cost of the PS5 Pro isn’t so far above the rate of inflation. It’s also worth noting that the PS3 launched with a pretty high price that had similar reactions from people. Even so, the cost is quite a bit higher than people expected, and it does seem really expensive to me (and as many people have pointed out at that price it still doesn’t come with a disc drive by default).

So, why have Sony priced it this way? There are a couple of factors to consider. The first is a point a friend of mine made to me when discussing it, perhaps Sony looked at the fact that many people are happy to spend £700 – or way more – for the latest smartphone, and they might do that every 2 or 3 years or so on average. If people see the value in spending that money for a phone then surely £700 for an extremely powerful games console is worth it? I can certainly acknowledge that logic and it certainly did make me think again when my friend suggested that explanation.

The second factor is market trends and consumer willingness to spend. Over time the cost of consoles has gone up along with the technical capabilities of the consoles, additionally the price of AAA games for consoles has also increased. Prior to 2020 the average cost of a AAA game in the US was $59.99, after then this rose to $69.99 alongside special / collector’s editions priced from $70 up to $150 in some cases. Despite those high (very high in my opinion!) prices people still buy them, so market forces seem to dictate and support Sony’s price.

One reason cited for the high cost of AAA games is that consoles (Sony’s at least) are sold at a loss and the cost of these games offsets this. But perhaps now Sony is trying to charge closer to the actual cost of the PS5 Pro?

So there are certainly some valid reasons as to why the PS5 Pro should cost so much, but it is interesting to see how Sony’s competition prices their newer consoles. XBox Series S and X both show pretty good value for money, the S in particular can be purchased for around £200 and can basically play the same AAA games as the PS5 Pro. There is also the long rumoured Nintendo “Switch 2”, Nintendo doesn’t tend to care about the high end of gaming performance but instead is focused on making great playing games, albeit mostly with the same $60+ price tag.

Sony has generally been seen to be winning the current console wars (at least against XBox), but I wonder if the price of the PS5 Pro will end up further reinforcing the Nintendo Switch (or the upcoming sequel) as the most attractive option for more casual gamers?


  1. This inflation adjusted price is based on conversion of the USD amount rather than the actual UK cost. ↩︎

Recalling 9/11

I remember watching tiny embedded video streams from news channels and reloading web pages over slow dialup internet in my old office. Strange to think that there was no Facebook then, no Twitter, no iPhones. News websites were still the way to find out about breaking news.

It was strange to see all of those events taking place somewhere I’d visited on an art college trip just a few years prior.

Apple <-> elppA

Apple had their September “It’s Glowtime” keynote event yesterday announcing updated products like Apple Watch, AirPods and iPhones.

The new iPhone Pro phones have a new cinematic slow motion filming mode which records at 120FPS 4K video, they demonstrated this mode with a music video for the band “The Weeknd” where they had them sing the song at 4x so that when it is played at the slow motion 24FPS rate the vocals are played in realtime:

(There’s also another behind the scenes video with a bit more about how it was shot).

It reminded me of the video for the song “Drop” by The Pharcyde which was directed by Michel Gondry. The whole video was shot with them performing everything backwards, so the band had to learn to sing the words as they would sound in reverse so that when the video is played in reverse it looks like they’re singing normally, kind of wild!

(Here’s a link to watch the Pharcyde “Drop” video on YouTube in case the embed isn’t working properly).