Showing posts with label Blogger. Show all posts
Showing posts with label Blogger. Show all posts

Feb 24, 2026

New Theme

Figure 1. Google Photos "Book & Magazine Covers" and "Posters" albums.
 Upon realizing that Google Photos had changed the format of the URLs that allow people to be directed to Photos albums such as my posters album (see Figure 1), I got help from Google's AI to learn how to edit the Theme file of the wikifiction blog. I needed an easy way to change the hundreds of links to my Photos albums that Google had broken (again).

Image generated by Grok.
The saga of dealing with Google's changes to my photo albums is a long tale of woes. Back in 2017 and 2018 I complained about the "new Google+" and how the demise of Google+ disrupted what had originally been my Picasa photo albums. Towards the end of 2018 I blogged about the ugly arrival of Google Photos. In 2020 I reflected on my 15 years of using Blogger, including the arrival of "the new Blogger". In 2025, I documented the fact that by old blogger photo albums had been taken out of Google Photos and placed withing Blogger itself.

The last time Google broke all of the existing links to my "Book & Magazine Covers" and "Posters" albums, I manually edited all of my blog posts and put in the new replacement URLs page by page. This time, I ended up editing my blog's Theme file so as to make a table of URL re-directs. Below is the discussion that I had with Google's AI in which I learned how to edit the Blogger Theme file.

CHATBOT HELP SESSION:

Me: Why is Google unable to maintain stable links to user content?

Google AI: Google's perceived inability to maintain "stable" links for user content often stems from security protocols, API lifecycle changes, and the fundamental design of how their cloud services generate shareable vs. direct URLs.

While a document's main "Share" link remains constant as long as the file exists, other types of links—especially direct image URLs or hosting links—are intentionally temporary for the following reasons: 

1. Security and Expiring Access

Image generated by Grok.
 For services like Google Photos, the direct URLs used to display images (often starting with lh3.googleusercontent.com) are frequently designed to be short-lived

  • Token Expiration: These deep links often contain security tokens that expire after a set time (e.g., 60 minutes for API-retrieved items) to prevent unauthorized "hotlinking" and protect user privacy.
  • Permissions Changes: If a user changes a file's visibility from "Public" back to "Restricted," Google immediately invalidates any previously active shareable links to ensure privacy. 
2. Infrastructure & Hosting Changes

Google has historically retired entire link formats as its infrastructure evolves: 

  • Deprecated Hosting: Google Drive's web hosting feature was officially shut down, breaking millions of links that used the googledrive.com/host/ format.
  • Security Updates: In 2021, Google applied a "Security Update" to Drive that added a resource key to many shared links. Old links without this key became broken for users who hadn't previously accessed the file, requiring the generation of new URLs. 
3. File Identity vs. Re-uploads

Image generated by Grok.
 Google identifies files by a unique ID string rather than by filename or content. 
  • New Uploads: If you delete a file and re-upload the same one, Google treats it as a brand-new entity with a different ID and a different link. To maintain a stable link while updating content, you must use the Manage Versions feature instead of re-uploading. 
4. Redirect Management When content is moved (e.g., a Google Site domain change), Google uses 301 redirectsto signal a permanent move. However, if the source account is deleted or the redirect is not properly configured at the server level, the original link will eventually resolve to a 404 error once Google's crawlers satisfy their "infinite recollection" of the old URL.

Would you like instructions on how to create a permanent "Direct Download" link for a Google Drive file that bypasses the viewer?


Me: I now have hundreds of dead links on my Blogger blog pages due to Google's inability to maintain stable URLs. Is there a tool for doing mass updates of broken URLs across multiple blog posts?

Google AI: Blogger does not have a built-in "find and replace" tool for post content, but you can achieve mass updates by manipulating your blog's backup file.

1. The Export-Edit-Import Method (Most Reliable)

Image generated by Grok.
 The most effective way to perform a bulk update across hundreds of posts is to export your entire blog as an XML file, use a robust text editor to find and replace the URLs, and then re-import it.
  1. Backup/Export: Go to Settings > Manage Blog > Back up content and download the XML file.
  2. Edit Locally: Open the XML file in a powerful code editor like Notepad++, Sublime Text, or VS Code.
  3. Bulk Find & Replace: Use Ctrl+H to find the old base URL (e.g., the dead Google Photos or Drive prefix) and replace it with the new one.
    • Tip: If you are replacing many unique URLs, you can use "Regular Expressions" (Regex) in these editors to target specific patterns.
  4. Import: Go back to Settings > Manage Blog > Import content.
    • Warning: To avoid creating duplicate posts, ensure you import the edited file back into the same blog. However, some users report that re-importing can occasionally change post permalinks, so test this with a single post or a test blog first
2. Identifying the Links

Image generated by Grok.
 Before you can update them, you need a full list of what is broken. Use these specialized crawlers to generate a report of every dead URL on your Blogger site:
  • Broken Link Check: A free online tool that scans your entire site and shows you the exact HTML "Src" (source) for every dead link.
  • Screaming Frog SEO Spider: A desktop application (free for up to 500 URLs) that can crawl your site and bulk-export a list of all 404 errors to CSV.
  • Dead Link Checker: Offers a "Multi-Check" feature that emails you a consolidated report of broken links across multiple pages. 
3. Alternative: Browser-Based Search and Replace

There is a shortcut for the Blogger editor itself, though its effectiveness across all historical posts can vary: 

  • Ctrl+Shift+R: In some versions of the Blogger post editor/dashboard, this shortcut triggers a "Find and Replace" dialogue for code or text. 

Summary of Workflow

Step 


Action

Tool Recommendation

Audit

Find every dead link and its location

BrokenLinkCheck.com

Export

Download blog data

Blogger Settings > Back up content

Update

Mass replace URLs in the XML file

Notepad++ or VS Code

Restore

Upload the fixed XML

Blogger Settings > Import content

Image generated by Grok.
 Are these broken links primarily pointing to images (like Google Photos) or to external websites? I can provide specific Regex strings to help you target those patterns in your XML file.

Me: It seems like it would be trivial for Google to put into Blogger a feature that allows for users to create and maintain a short list of known broken URLs on their blog pages and their redirects to functioning URLs.

Google AI: While it would be highly practical, Google Blogger currently restricts its

Custom Redirects feature to internal URL management. It does not offer a global "link-remapping" database for external content. 

Limitations of Current Tools

  • Internal Scope Only: The Blogger Custom Redirects tool only allows you to map a path within your blog (e.g., /old-post.html) to another path within your blog. It cannot intercept a request for an external link like ://photos.google.com and redirect it to a new location.
  • Manual Entry: Even for internal links, each redirect must be added one by one. There is no native bulk-upload feature for this list.
  • Hardcoded Links: When you publish a post, the HTML contains the static URL. Browsers follow that URL directly; they do not check a Blogger-hosted "redirect list" unless the link first points back to your own domain. 

Why This Feature Doesn't Exist

Image generated by Grok.
 Implementing this for external links would require Blogger to act as a URL shortener (like Bitly or TinyURL) for every link you post. If Blogger "wrapped" every external link in a redirect, it could manage them from a central list, but this would: 

  • Add latency to every click for your readers.
  • Potentially hurt your SEO, as search engines prefer direct links to authoritative content. 

Current "Best" Workarounds

If you frequently use links that you expect to break, the most stable long-term strategy is to use a URL Shortener with "Edit" capabilities: 

  1. Use a Service: Create links through a tool like BetterLinks or Sniply.
  2. Point to the Source: Use the shortened link in your Blogger post.
  3. Update Once: When the source URL changes, you update it in the shortener's dashboard once, and every blog post using that short link is instantly fixed. 


Me: "Implementing this for external links would require Blogger to act as a URL shortener (like Bitly or TinyURL) for every link you post." I don't believe that. What could be done is to allow a user like me to build a table with the specific URLs that google failed to maintain and the corresponding newer URL that replaces the old one. Each time someone clicks the broken URL on my blog page, it could redirect to the new functional URL.

Google AI: While Blogger doesn't offer a built-in table for external link remapping, you can effectively build your own using a custom

JavaScript snippet in your blog's theme. This allows you to maintain a "mapping table" that automatically redirects broken URLs to functional ones whenever a reader clicks them. 

How to Implement Your Own URL Mapping Table

Image generated by Grok.
 Instead of waiting for a native feature, you can inject a script into your Blogger theme that intercepts clicks on specific links. 

  1. Go to Theme Settings: In your Blogger Dashboard, go to Theme > click the arrow next to "Customize" > Edit HTML.
  2. Insert the Mapping Script: Find the </body> tag (usually at the very bottom) and paste the following script right above it:
<script type='text/javascript'>
// YOUR CUSTOM MAPPING TABLE
const urlMap = {
  "https://old-google-link-1.com": "https://new-functional-link.com",
  "https://old-google-link-2.com": "https://new-storage-service.com",
  "https://broken-link-3.com": "https://fixed-link-3.com"
};

document.addEventListener('click', function(e) {
  let element = e.target.closest('a');
  if (element && urlMap[element.href]) {
    e.preventDefault(); // Stop the browser from going to the dead link
    window.location.href = urlMap[element.href]; // Redirect to your functional link
  }
}, true);
</script>

Use code with caution.

Image generated by Grok.
 Why This Works

  • Centralized Control: You only have to update this single script in your theme to fix every instance of a broken link across all your hundreds of posts.
  • No "URL Shortener" Needed: The script runs in the user's browser. It checks the link at the exact moment they click it; if it's on your "broken list," it instantly swaps the destination for the functional one.
  • Mass Replacement: You can even use more advanced scripts to automatically scan your page and replace all matching URLs in the HTML as soon as the page loads, so the user never even sees the dead link in their status bar. 

Limitations to Consider

  • Maintenance: You still have to manually populate the urlMap table with your known dead/new links.
  • SEO: While this fixes the experience for human readers, search engine crawlers often don't execute JavaScript. To search engines, the links will still appear broken unless you use the Blogger XML export method to permanently replace them in the post content. 

Me: This is an old URL that used to allow people to access my Photo Album {https://photos.google.com/b/107059216299718970166/share/AF1QipNjb8t3gofnVKgIzGfgyC5LtXC-z0gveQrrFf55ScOFUiSgyFIkSXtK8ajDwjd4ig?key=cEFYMzRpVnhRZEZNa2J5WnZOT2x1RzdOWklLRWRR} And this is the new URL format {https://photos.app.goo.gl/Tkja717BmFLLyrEm6}

Image generated by Grok.
 Google AI: Because Google changed its underlying photo sharing infrastructure, your old URL (the "legacy" format) and the new URL (the "shortened" format) have no mathematical relationship. You cannot "convert" one into the other using code because the new URL is a randomized alias generated by Google's servers. 

However, you can use the JavaScript Mapping Table method to fix these links across your blog instantly.

The Solution: Instant Redirect Script

You can add this script to your Blogger theme. It will watch for clicks on any of your old, dead Google Photos links and silently redirect the user to the correct new album.

  1. In Blogger, go to Theme > click the arrow next to "Customize" > Edit HTML.

  2. Scroll to the very bottom and paste this right before the </body> tag:

<script type='text/javascript'>
// YOUR REDIRECT TABLE
const photoRedirects = {
  // Copy exactly the old URL inside the quotes, then the new one
  "https://photos.google.com/b/107059216299718970166/share/AF1QipNjb8t3gofnVKgIzGfgyC5LtXC-z0gveQrrFf55ScOFUiSgyFIkSXtK8ajDwjd4ig?key=cEFYMzRpVnhRZEZNa2J5WnZOT2x1RzdOWklLRWRR": 
  "https://photos.app.goo.gl/Tkja717BmFLLyrEm6",
  
  // Add more pairs here as you find them, separated by commas
  "OLD_URL_2": "NEW_URL_2"
};

document.addEventListener('click', function(e) {
  let link = e.target.closest('a');
  if (link && photoRedirects[link.href]) {
    e.preventDefault(); // Stop the dead link from loading
    window.location.href = photoRedirects[link.href]; // Go to the new one
  }
}, true);
</script>

 

Image generated by Grok.
Use code with caution.

Why this is your best option:

  • Zero Link Rot: Even though the link in your post is "dead," it will work perfectly for your readers because the script swaps it out at the moment of the click.

  • Centralized: If Google changes the format again in five years, you only have to update this one table in your theme settings, rather than editing hundreds of individual blog posts.

  • Legacy Issues: Google has historically deprecated various link formats (like the b/ prefix you see in your old URL), and they have recently announced that even some "goo.gl" short links may stop working unless they are "actively used". This script protects you from future changes. 

Do you have a list of these old and new URL pairs ready, or would you like a tool to help you crawl your blog and find all the dead ones at once?


Me: I don't see </body> near the end of bu Blogger blog's Theme file. These are the last 5 lines of code in the file: <b:include name='quickedit'/> </b:includable> </b:widget> </b:section-contents><b:section-contents id='footer-1'/><b:section-contents id='footer-2-1'/><b:section-contents id='footer-2-2'/></html>

Image generated by Grok.
 Google AI: The </body> tag is missing because Blogger's modern XML themes often use compressed or "folded" code. To find the correct spot for your redirect table, do not scroll manually; use the editor's built-in search tool. 

1. Locate the Hidden Tag

  1. In the Blogger HTML Editor, click anywhere inside the code area.

  2. Press Ctrl + F (or Cmd + F on Mac) to open the editor's internal search bar (do not use your browser's search).

  3. Type <body (without the closing bracket) and hit Enter.

  4. If it still looks like your snippet, click the black arrow next to the line numbers to "expand" the code. The </body> tag is often hidden within these collapsed sections near the end. 

2. If the Tag is Truly Missing

Image generated by Grok.
 If you cannot find </body>, you can place the script directly before the </html> tag you see on your last line. However, the most "Blogger-friendly" way to add this without breaking your theme's XML structure is to use the Layout tab instead. 

  1. Go to Layout in the left menu.

  2. Scroll to the very bottom and click Add a Gadget in the "Footer" or "Sidebar" section.

  3. Select HTML/JavaScript.

  4. Leave the Title blank and paste your script into the Content box: 

<script type='text/javascript'>
const photoRedirects = {
  "https://photos.google.com": 
  "https://photos.app.goo.gl"
};

document.addEventListener('click', function(e) {
  let link = e.target.closest('a');
  if (link && photoRedirects[link.href]) {
    e.preventDefault();
    window.location.href = photoRedirects[link.href];
  }
}, true);
</script>

Use code with caution.

  1. Click Save and then click the Save icon (floppy disk) at the bottom right of the Layout page. 

Image generated by Grok.
 This method is safer than editing the theme XML directly and ensures the script runs on every page of your blog.

Would you like me to show you how to expand the script so it also automatically updates the "src" of images that might be broken, or just the clickable links?


Me: line 1911 has the </body> tag. Lines 1900 to 1911 are: <div class='cap-left'/> <div class='cap-right'/> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace(&#39;loading&#39;, &#39;&#39;); }, 10); </script> </body>

Google AI: Perfect. Since you already have a

<script> block there, you can tuck your mapping table right inside it. This keeps your code clean and ensures it runs as the page finishes loading.

Updated Implementation

Replace lines 1906 to 1910 with the following code. I’ve merged your redirect logic with the existing "loading" class removal script:

Image generated by Grok.
html

  <script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);

    // YOUR URL REDIRECT TABLE
    const photoRedirects = {
      "https://photos.google.com": 
      "https://photos.app.goo.gl"
    };

    document.addEventListener('click', function(e) {
      let link = e.target.closest('a');
      if (link && photoRedirects[link.href]) {
        e.preventDefault();
        window.location.href = photoRedirects[link.href];
      }
    }, true);
  </script>

Use code with caution.

A Pro-Tip for Maintenance

As you find more dead links, just add a comma after the last URL pair and add the new one.

  • Format: "OLD_URL": "NEW_URL",

  • Case Sensitivity: Make sure the "OLD_URL" exactly matches what appears in your browser's address bar (or the status bar) when you hover over the broken link on your blog.

Why this is better than the XML export method:

Image generated by Grok.
 If you use the Blogger XML Export to do a "Find and Replace," you are permanently changing your content. If you make a mistake, it's hard to undo. With this Javascript Table, if you ever want to change a link back or fix a typo, you just edit this one section of your theme.

Do you have a batch of other URLs you need to add to this list right now, or should we verify if this first one works on your live site?

Me: I got this message:

org.xml.sax.SAXParseException; lineNumber: 1919; columnNumber: 17; The entity name must immediately follow the '&' in the entity reference.

Google AI: The error

org.xml.sax.SAXParseException occurs because Blogger treats your theme file as an XML document. In XML, the ampersand (&) is a reserved character that starts an "entity". Because your old Google Photos URL contains ?key=..., the XML parser is looking for an entity name like &amp; but finds the "k" in "key" instead. 

To fix this, you must wrap your JavaScript code in a CDATA section. This tells Blogger's parser to ignore everything inside that block and treat it as raw text, rather than XML code. 

The Fixed Code

Image generated by Grok.
 Replace the entire script section (from lines 1906 to 1910) with this version:

  <script type='text/javascript'>
  //<![CDATA[
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);

    // YOUR URL REDIRECT TABLE
    const photoRedirects = {
      "https://photos.google.com": 
      "https://photos.app.goo.gl"
    };

    document.addEventListener('click', function(e) {
      let link = e.target.closest('a');
      if (link && photoRedirects[link.href]) {
        e.preventDefault();
        window.location.href = photoRedirects[link.href];
      }
    }, true);
  //]]>
  </script>

Use code with caution.

Why this works:

  • //<![CDATA[: This marks the start of the "Character Data" section.

  • //]]>: This marks the end of the section.

  • The // (JavaScript comments) prevent the browser from trying to execute the CDATA tags as actual code, while the XML parser uses them to safely skip over your ampersands. 

Image generated by Grok.
 Once you save this, the error should disappear and your redirect will be live. 

Would you like me to add a line to this script that automatically highlights these "remapped" links in a different color so you can easily spot them on your blog?

Me: That worked. Thank you.

Google AI: Sweet success! I'm glad that worked. Dealing with

XML parsers is always a bit of a headache when you just want to paste a URL.

Now that the system is live, you can keep adding to that photoRedirects list as you find more broken links. Just remember to add a comma after each closing quote (except the very last one) to keep the JavaScript happy.

Image generated by Grok.
 If you ever run into a situation where you have hundreds of links following a predictable pattern (e.g., if Google just changed one part of the URL string but kept the unique ID the same), we can actually upgrade that script with a Regular Expression (Regex) to fix them all automatically without you having to list them one by one.

Would you like to see how to verify which of your blog posts still contain these old dead links so you can add them to your table?

___

I saved my original Blogger Theme file for wikifiction.com.

The following new code...

  <script type='text/javascript'>
  //<![CDATA[
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);

    // YOUR URL REDIRECT TABLE
    const photoRedirects = {

"https://photos.google.com/b/107059216299718970166/share/AF1QipNjb8t3gofnVKgIzGfgyC5LtXC-z0gveQrrFf55ScOFUiSgyFIkSXtK8ajDwjd4ig?key=cEFYMzRpVnhRZEZNa2J5WnZOT2x1RzdOWklLRWRR":

"https://photos.app.goo.gl/Tkja717BmFLLyrEm6", "https://photos.google.com/b/107059216299718970166/share/AF1QipN6bOFeiYsOYoRt0tU9oW_0hs_QMDAaOQpDn2fwrxu-0wpqb6ToY7m3ep_2peNwCQ?key=Q3BpazRrWmZ1aXpxNVF4NzlOX3M3NFk3ZVIzMnln": "https://photos.app.goo.gl/3sBFuqxXyZkyEktN9"

};
document.addEventListener('click', function(e) { let link = e.target.closest('a'); if (link && photoRedirects[link.href]) { e.preventDefault(); window.location.href = photoRedirects[link.href]; } }, true); //]]> </script>

replaced the following original code in my Theme file:

<script type='text/javascript'>

window.setTimeout(function() {

document.body.className = document.body.className.replace(&#39;loading&#39;, &#39;&#39;);

}, 10);

</script>

Next: plans for Chapter 3 of "Plūribus ē Spatium".

Images generated by Grok. Visit the Gallery of Movies, Book and Magazine Covers

Dec 4, 2025

Dominoes

Image source.
 Back in 2012, Google's Knol project collapsed and I used WordPress to make the Encyclopedia of Future Science.

When I began experimenting with WordPress blogs in 2012, I had been using Blogger since 2005. I found the WordPress user interface to be annoying, so I've done far more blogging by means of the Blogger platform.

In the old days, it was possible to archive Blogger blog content using a Google-generated XML file. Those Blogger "backup files" could be easily imported into WordPress (see the Exodemic blog for an example where I moved blog posts from Blogger to WordPress). In 2013, all of HTML code for the contents of the wikifiction blog fit into a 3.6 MB XML file. By 2016, the wikifiction archive file had grown to 13.7 MB. With the passing years, there was a trend towards more and longer blog posts and more images in each blog post.

Google is creating a copy...

During 2025, Google changed the way that Blogger blogs are saved and archived as a set of files (see this description). I used the new Google Takeout method and ended up downloading over 20 GB of files for all of my Blogger blogs.

As shown in the image to the left, Google apparently has no way of providing users like me with a quick estimate of how long it will take to prepare Blogger data files for download. I was told that the process could take "hours or days" to complete.

In my case it took about 4 hours for Google's Takeout system to prepare my Blogger backup files for download. The next question was how quickly Google would send the archive files to my computer as a download.

My internet service provider can supply me with download speeds over 100 Mbps, but it still took about half an hour to download the nearly 20 GB of zipped files for my blogs.

64,998 files for the contents of my Blogger blogs.


Four folders for the exported files.

Google provides options for the size of the zipped files that Takeout generates. I asked for 10 GB files and I got two of them.

One of the most confusing aspects of using Takeout for archiving Blogger content is that Google treats images and videos differently. Blogger has a "mediamanager" that deals separately with the images and videos from blogs.

Blogger's "mediamanager". Sample videos.
The image to the left is a screenshot from Blogger's "mediamanager". This "mediamanager" can be accessed within a Blogger blog at Settings > Manage Blog  by clicking on the link for "Media from your blog". I have relatively few videos in my blogs (44 videos).

Under "Albums", there is usually one image album for each blog (such as Trysta and Ekcolir), but through the years, I ended up accumulating six different albums for the wikifiction blog (see the image below).

Some of my Blogger image albums. There are six different albums for the wikifiction blog.


image source

 Musical Albums. For many years, Blogger stored images as Picasa albums and some of those albums eventually became available for viewing through Google Photos. A couple of years ago, those old Picasa albums were taken out of Google Photos, but they are accessible now through Blogger's "mediamanager". One of the more mysterious image albums that is accessible through "mediamanager" is called "Blogger Pictures" and it has 215 images from the early years of my use of the Blogger service (see the image at the very bottom of this blog post). I believe that the "Wiki Fiction" album that currently has 19,800 items holds my most recent images.

Backing up WordPress blogs.
The old XML files for archives of a Blogger blog made use of urls to the image files such as https://4.bp.blogspot.com/-8bCGSMwfMTA/V97gHx5pp0I/AAAAAAAAbH4/Koubm66S4jcSvGhuUPmD0D17Ek0xrRHoACLcB/s1600/c_telastid.png. Those old urls are still functional.

When a blog post from Blogger is transferred to WordPress (example) the image urls are switched to this format: https://exodemic.wordpress.com/wp-content/uploads/2009/07/kalidstructure.png.

WordPress still uses XML files for exporting blog content. I just archived the contents of the Encyclopedia of Future Science in a 269 KB XML file. Back in 2013, that was a 195 KB file, indicating how little I have added to the encyclopedia since it was first created.

Image made by Gemini.
 I asked ChatGPT: Can WordPress import the content of Blogger service blogs that are backed-up in the new format using Takeout?

Image made by ChatGPT.
 ChatGPT: "Yes — in many cases, WordPress can import blog content from Blogger that was backed up using Google Takeout (i.e. the “new format”). What’s more — there are plugins and tools to smooth the process. Google Takeout’s Blogger export includes a file — typically named feed.atom — which encapsulates your blog’s posts, pages, comments, etc. There is a WordPress plugin — BtW Importer — designed specifically for this scenario. It accepts the .atom file from Takeout and migrates content into WordPress. It imports posts (with their original dates), embedded images, links, formatting, and more. The plugin can optionally download and store images from your Blogger posts in WordPress’s media library, and convert old Blogger URLs to WordPress-friendly links. After import, your blog content — posts, metadata, images tied to posts — should appear in WordPress as native content.

I've long expected Google to discontinue the Blogger service. If that happens, I could migrate my existing blog content to another service such as WordPress. Would I bother to do that? I use Blogger as a personal diary of my interests in science fiction. I'd be just as happy with alternative software that ran on my own computer, independent of the internet.

Next: An interview by Claude about AI.

From the "Blogger Pictures" album in Blogger's "mediamanager".

Aug 17, 2025

The Day the Page Views Changed

Figure 1a. Summer Surge. ~200,000 page views per day for wikifiction.
 Eight months ago I had a blog post called C3 👁 in which I took note of the fact that after 15 years the wikifiction blog had surpassed 1,000,000 page views. Five years ago, in a blog post called 500k Pageviews, I showed 
Figure 2. Free Gemini options.

that there have been some times in the past when this blog got an unusually large number of page views then returned to a more normal level of traffic. There was even a time I recall when some of the unusually large number of page views being reported by Google analytics were eventually retroactively "erased" or rescinded. 

Something changed on August 4th 2025 and in just the past ten days there have been almost 2,000,000 new page views (see Figure 1a).

Figure 1b. End of the surge in wikifiction traffic.
 Update. Towards the end of August, after about three weeks, the increased traffic to this blog ended as suddenly as it had begun (see Figure 1b). Lately, there have been major changes made to various types of Google software such as Whisk and Gemini. For example, see the 2.5 Pro option shown in Figure 2.

Figure 3. Whisk entry page as viewed by Firefox.


Figure 4. Whisk entry page 2.0
 Google tea leaves. I have no idea what has caused this sudden unprecedented increase in wikifiction blog traffic. I have begun to wonder if one of the Large Language Models, possibly Gemini, has recently been given the opportunity to crawl through Blogger blogs. Lately, there have been almost daily changes to the Gemini user interface.

Gemini user options as of August 14th. Inset:
the "+" button options for file uploads to Gemin are shown.
One of the most interesting recent changes to the free version of Gemini was the availability of "2.5 Pro" (see Figure 2). When using this "reasoning" option, Gemini can check its "raw output" against the content of websites, in real time.

Image upload menu.
 Whisk Evolution. Back in April, I blogged about Whisk Animate. More recently, there have been changes to the Whisk user interface. Now, when I launch Whisk, my Firefox browser loads a page that fails to correctly display its embedded Whisk Animate videos (see Figure 3). At the location of each video there are flashed brief views of parts of the videos and large regions of black.

click again
If I then scroll down the page, then the Whisk Animate video examples fall into a new pattern and the videos play correctly on the webpage (see Figure 4). I usually just click on the "enter tool" button and then I see the actual Whisk user interface as is shown below in Figure 5.

As part of Jimmy the Intern's never ending quest to make an annoying user interface, the options for providing Whisk with reference images have all be hidden in the current Whisk user interface. However, if you know to click on the little arrow button, then a menu opens with the image upload options (see the image that is shown to the right.

upload image button
 Click again, sucker. Of course, opening that menu does not allow you to upload a reference image. You have to also click again on a hidden button. And even then, the user is only provided with yet another mysterious icon on yet another button. If the user somehow knows to hover over that button then they finally get to see the upload image button.
Figure 5. Google's Jimmy the Intern™ is the king of user interface white space and hidden user options.

A car named Stacy.
 Shown in Figure 6 (below) is the Gemini user interface in all of its white space glory. I asked Gemini to make an illustration for the science fiction story "The Metamorph Intervention". Gemini continues to sometimes display one image in the user interface while allowing you to download a different (but similar) image. 

Also, Gemini is currently being quite stupid about the text that it inserts into images (see the image to the right), In this case, adding a title and an author that I did not request as well as labeling the woman in the image with her name.

Figure 6. The Gemini user interface. Please sir, I want more white space.

The PDF
 Speaking of stupidity. I had been experimenting with a style of science fiction story-writing collaboration in which I was allowing Claude and Gemini to take turns drafting chapters of the story. However, I was so disappointed with Gemini's (the default 2.5 Flash) performance in drafting Chapter 5 of the story (shown here) that I also gave Claude a chance to make a version of Chapter 5.

In all fairness, I decided to give the "2.5 Pro" Gemini option a try on exactly the same task (see below on this page). I provided Gemini 2.5 Pro with a PDF that had: 1) some backstory information, 2) the full text of Chapters 1 - 4 of "The Metamorph Intervention" and my suggestions for what plot elements should be in Chapter 5 of the story...

MePlans for Chapter 5. Collaborating with Marda, Ovidius crafts a science fiction version of the Daedalus flight/wings story that is both 1) destined to be wildly popular as a play (with actors sailing across the stage on wings) but also 2) offensive to conservative religious authorities (by depicting a god as being a space alien). In this new science fiction story about Daedalus, Daedalus is taken to the spaceship of the pek Overseer, which continuously hovers high over the Aegean. Daedalus learns about the conflict between the pek and the bumpha over the fate of Earth. Daedalus learns about hang gliders and builds one using pek nanites. Daedalus jumps out of the pek spaceship and sails back home.

Gemini, process the file that I just uploaded and then discuss with me our additional plans for crafting Chapter 5 of the science fiction story "The Metamorph Intervention". My intention is that the Gemini LLM will generate a first draft of Chapter 5 of the story. However, Gemini, first share with me any questions or suggestions that you have about the story.

Ovidius: first contact with Manny the bumpha.
 Gemini: Commencing Analysis of Text

I've initiated a thorough analysis of the provided text, focusing on the first four chapters of "The Metamorph Intervention." I'm carefully examining the backstory, character details, and the plans laid out for future chapters, particularly Chapter 5. This will help me gain a comprehensive understanding.

Delving Deeper into Plot

I've further analyzed the text, concentrating on the interplay of backstory, character development, and future plot directions. I'm noting the intricacies of world-building, paying close attention to elements like bumpha, pek, Sed ron Domain, and zeptites. I'm also synthesizing the author's intended themes, especially those related to free will and technological transcendence.

Unpacking Chapter 5 Details

I'm now focusing on the specific "Plans for Chapter 5," dissecting the seven key elements meticulously. My attention is centered on fleshing out the interplay between Ovid and Marda, the mechanics of the Daedalus story within the story, and the intricacies of the pek's technological offering to Daedalus. I'm building a framework to formulate pertinent questions and suggestions for the user, ensuring clarity and enriching the narrative.

Synthesizing Chapter Five Strategy

I'm now fully immersed in the "Plans for Chapter 5," dissecting the seven key elements meticulously to create a strategic outline. I'm focusing on crafting specific questions for the user to clarify areas such as the religious authorities and their impact, Ovid's emotional state as he partners with Marda, and the technical details of the pek nanites. I'm also considering the balance between detail and summarization in the Daedalus story, as well as Marda's active role. This will provide a solid framework for refining the chapter plan.

A subject provided to Whisk.
 Of course. I have processed the file containing the first four chapters of "The Metamorph Intervention" and the detailed backstory and plans. This is a fascinating and complex science fiction narrative, weaving together advanced concepts like time travel, artificial life, and the nature of consciousness with a compelling historical setting. I particularly appreciate the detailed exploration of the bumpha-pek philosophical conflict and Marda's struggle with agency, which aligns with your interests in technologically assisted telepathy and the implications of advanced AI.

Before I proceed to generate a first draft of Chapter 5, I have some questions and suggestions to ensure the chapter aligns perfectly with your vision. This will help us collaboratively refine the direction of the story.

Questions for Clarification:

Ovid's "Madness" and Motivation: In the backstory, you mention the idea that Ovidius might develop a "madness" from his experiences with Manny and Marda. In Chapter 5, as he writes this revolutionary and potentially blasphemous Daedalus story, how should this "madness" manifest? Is it a frenzied, prophetic inspiration that makes him a more brilliant writer? Or is it a paranoid obsession that isolates him from his peers even as his work becomes popular? Understanding his mental and emotional state will be key to portraying his collaboration with Marda.

The "Conservative Religious Authorities": Who, specifically, are these authorities in Augustan Rome? Are we talking about the established state priesthood (the Pontifical College), traditionalist senators who see this new mythology as a threat to Roman values (mos maiorum), or perhaps followers of a specific mystery cult? Defining the opposition will help shape the nature of the conflict and the risks Ovidius and Marda are taking.

The Pek's Role in Daedalus's Story: The plan states Daedalus learns about the pek-bumpha conflict and uses pek nanites to build a hang glider. How does this happen?

  Do the pek intentionally educate Daedalus, perhaps seeing him as a potential pawn against the bumpha's plans? This would seem to violate their own rules about non-interference.

Or does Daedalus cleverly trick the pek or steal the nanites? This would portray him as exceptionally resourceful.

Does the pek Overseer, Kenth, appear in Ovid's story-within-a-story as himself or as a traditional god?

Marda and Korinna's Internal Dynamic: Now that Marda's femtozoan is dominant, how does the original Korinna femtozoan interact with her during this intense creative process? You noted Korinna could be "endlessly nagging Marda from within". Is Korinna a helpful creative consultant, a worried voice of caution about Roman societal norms, or a resentful prisoner who occasionally sabotages Marda's efforts?

Suggestions for Your Consideration:

The Play's Staging: To make the play wildly popular, we could emphasize the spectacle. You mention "actors sailing across the stage on wings." We could describe how Ovidius, with Marda's futuristic insights, devises unprecedented stagecraft—using sophisticated counterweights and rigging to create a truly magical effect of flight that captivates the Roman audience and makes the play a must-see event.

Parallel Themes: The story Daedalus learns aboard the pek ship could directly mirror Marda's own dilemma. Daedalus is presented with two paths for humanity: the pek's offer of managed, safe transcendence and the bumpha's path of risky, self-directed biological evolution among the stars. Daedalus's choice to escape and return to Earth with a new technology (the hang glider) would serve as a powerful mythological endorsement of the bumpha's philosophy, which is exactly what Manny wants to instill in Roman culture.

Whisk wants Romans to have
better technology for writing.
 Augustus's Reaction: Emperor Augustus was a religious conservative and social reformer who exiled Ovid in the original timeline. This new, provocative work could bring Ovid to the Emperor's attention far sooner. We could introduce a scene where Augustus hears of the play. Is he intrigued by its popularity or angered by its subversive theology? This would raise the stakes for Marda and Ovid considerably, tying their personal story directly to the highest levels of Roman power.

I believe that discussing these points will allow me to draft a Chapter 5 that is not only faithful to your detailed plan but also rich with the thematic depth and character dynamics you've already established. I look forward to your thoughts.

MeGemini, you asked about the idea that  Ovidius might develop a "madness" from his experiences with  Manny and Marda and you asked if this "madness"  manifests either as a frenzied, prophetic inspiration that makes him a  more brilliant writer or as a paranoid obsession that  isolates him from his peers even as his work becomes popular. When an  artist is creating works that are truly revolutionary, other people  who observe the artist might be forced to view what is happening as a  wonderful kind of "madness" that has been inflicted upon  the inspired artist. In the case of Ovidius, I imagine that he cannot  stop himself from speaking to other Romans about the FACT that he has  been "abducted by aliens" and taken into outer space to see  the inside of the alien spacecraft Many Sails. It could then become  MADDENING for Ovidius that he has no physical evidence to prove that  he has had personal contact with space aliens nor can he provide  evidence to support his belief that his wife "changed" and  now has knowledge from the future. Rather than continue to rant at his friends  about space aliens in an effort to get them to believe the truth, Ovidus would learn to be satisfied by the act of  creating his "science fiction stories", calling them fiction even if those stories include  actual factual information about the pek and bumpha. The other Romans will only be able to understand what Ovidius writes about the bumpha and the pek as being science fiction.

Romans who compute.
 Gemini, you asked about the "Conservative Religious Authorities": are they the established state priesthood (the Pontifical College), traditionalist senators who see this new mythology as a threat to Roman values (mos maiorum), or perhaps followers of a specific mystery cult? I know nothing about actual Roman culture. One of my main motivations for collaborating with a Large Language Model to write "The Metamorph Intervention" is my hope that a LLM can provide some details about Ovid and ancient Rome that will not be viewed as silly or offensive by people who actually know something about these topics.

Gemini, you asked about my plan for Chapter 5 which includes Ovidius crafting a science fiction story in which Daedalus learns about the pek-bumpha conflict and uses pek nanites to build a hang glider. I imagine that Ovidius will combine plot elements derived from two experiences that he and Marda have had: 1) Ovid's memories of his visit to Many Sails and 2) the what Marda shares with Ovidius about the time when Kenth appeared inside the headquarters of the Metamorph project to chastise Manny the bumpha. The science fiction story about Daedalus could begin with Manny providing Daedalus with information that helps him invent new things. Then Kenth the Overseer of Earth could "abduct" Daedalus and take him to Observer Base and tell Daedalus that he has been used as Manny's tool which has resulted in violations of the Rules of Observation. Daedalus begins to live at Observer Base, a place near Earth where other humans have been taken in the past. I imagine that there could be a mixed population of Neanderthals, Denisovans, Prelands, Anatomically Modern Humans and various human hybrids living inside Observer Base where they have access to some advanced nanotechnolgy. While living inside Observer Base, Ovidius could learn to use clothing nanites (that generate clothing), food nanites (that automatically bring nutrients to residents of Observer Base) and information nanites (that carry useful information and knowledge into a person's zeptite endosymbiont), facilitating human learning and understanding of alien technology. Ovidus could learn how to program nanites and use nanites to make a hang glider. In the story, Observer Base would be depicted as a spaceship that is positioned high above the Aegean. Ovidus jumps out of the spaceship and uses the hang glider to sail back to Athens.

 Gemini, you asked about the Marda and Korinna Internal Dynamic; I imagine Korinna as a helpful creative consultant and a useful source of information about Roman societal norms and how to work constructively with Ovidius.

Gemini: Thank you for that detailed and insightful clarification. Your answers provide a fantastic blueprint for moving forward. I now have a much clearer picture of Ovid's psychological state, the nature of the societal conflict, and the specific mechanics of the story-within-a-story. The idea of Ovid's "madness" being a rational frustration that he channels into creative genius is particularly compelling.

Based on your guidance, I can confidently proceed. I will portray the "Conservative Religious Authorities" as a combination of the traditional state priesthood and influential senators who champion mos maiorum. Their opposition will stem from the story's challenge to the established divine order—depicting gods not as transcendent beings to be worshiped, but as physical, fallible aliens from other worlds, which they would view as a grave impiety that threatens Roman stability.

I will craft the internal dynamic between Marda and the Korinna femtozoan as a seamless, productive partnership. Korinna will be Marda's indispensable guide to Roman culture and Ovid's creative temperament, offering advice and insights that allow Marda to help shape the Daedalus story without anachronistic missteps.

The Daedalus story itself will be the centerpiece, written as you've outlined: a mythic retelling of Ovid's own experiences with Manny and Kenth, transposing them onto the Daedalus character. This structure allows Ovid to embed the factual truths of his encounters into a format that Roman society can digest, even if only as fiction.

I am now ready to generate a first draft of Chapter 5. I will synthesize all these elements to create a chapter that shows Ovid's maddening frustration, his brilliant creative partnership with Marda/Korinna, the crafting of the revolutionary Daedalus play, and the initial tremors of the conservative backlash it is destined to create.

 Here is a first draft of Chapter 5:


 A Mythology for the Future

The weeks following Manny’s visitation became a crucible for Ovidius. He was a man possessed, but not by a divine muse in the way his fellow poets claimed. He was possessed by a truth so vast and unbelievable that it had shattered the comfortable confines of his reality. He tried, at first, to speak of it plainly.

"She was here," he’d told his friend, the poet Propertius, his eyes wide with fervor. "A goddess, yes, but not from Olympus. From the stars! She showed us her vessel, a ship that sails the void between worlds."

Propertius had simply clapped him on the shoulder, a pitying smile on his face. "Publius, my friend, your imagination has finally consumed you. Save such brilliant madness for your verses. It will make you immortal."

The condescension was maddening. Every Roman he spoke to had the same reaction. They saw his frantic conviction not as a factual account, but as the raw material for a new kind of poetry. His wife, Korinna—the new Korinna—was the only one who understood. She was his anchor, the only other witness to the impossible. The change in her was undeniable; she now possessed a depth of knowledge about history, politics, and human nature that was simply astonishing. But that, too, was a truth he could prove to no one. The frustration became a constant, simmering fire in his gut, a pressure that had only one outlet: his writing.

"If they will only accept it as a story," he said to Marda one evening, pacing their small atrium under the watchful eye of the household gods, "then we will give them a story that changes the very way they think about the gods."

He’s ready, whispered Korinna’s femtozoan from the quiet depths of Marda’s shared mind. He has found the path. Guide him gently.

 Marda, feeling more at home in Korinna’s body each day, placed a calming hand on his arm. "Exactly. We won't try to convince them of our truth. We will wrap it in a myth they already know. We will reshape it."

And so they began to craft the new Daedalus. Marda drew upon her memory of Kenth's stark arrival at the Metamorph facility, describing the severe, obsidian-carved figure of the pek Overseer. Ovidius, in turn, wove in the cosmic awe he’d felt aboard Manny’s ship, Many Sails. The story they outlined was a radical departure from the traditional tale.

In their version, Daedalus is not merely a brilliant inventor; he is a man touched by a "goddess" from the stars named Minerva (Manny's chosen Roman persona), who shares with him whispers of advanced knowledge. This attracts the attention of a rival god, a stern and unforgiving being named Custos (the Watcher), who sees this interference as a violation of cosmic law. Custos "abducts" Daedalus, taking him not to a prison on Crete, but to a vast, hovering citadel high above the Aegean—a place called the ‘Observatory’.

"He needs to see the inhabitants of this place", Marda suggested, relaying the details of the Prelands and the other human variants she had learned about.

Ovidius’s stylus flew across the wax tablet. He described the Observatory as a world unto itself, populated by strange and ancient forms of humanity—burly, strong-boned folk with heavy brows and silent, gentle people with an unsettling calm, all living together under the Watcher's stern gaze. Here, Daedalus learns the purpose of the Observatory: to protect the world below from the dangerous ambitions of its own children.

 In the story, Daedalus is given access to the Watcher's technology. Ovidius wrote with feverish intensity, describing technologies Marda had only hinted at. Nanites became "fabricator mites"—tiny, invisible servants that wove clothing from thin air and synthesized food directly into a nutrient paste. Daedalus, the ultimate craftsman, learns to command them. He studies the principles of aerodynamics not from birds, but from information mites that flow directly into his mind, granting him an intuitive understanding of lift and drag.

Korinna, is the language right? Is this too much for them to believe, even as fiction? Marda projected internally.

No, it’s perfect, Korinna’s essence replied. He frames it as divine magic, but describes it with the precision of an engineer. It is both myth and manual. The audience will be captivated.

The climax of their story was Daedalus's escape. Using the fabricator mites, he doesn't build wings of feather and wax. He weaves a massive, winged cloak from spun diamond fiber, a structure of stunning lightness and strength. He builds a hang glider. In the final scene, he leaps from the Observatory's edge, not as a desperate father fleeing a king, but as a defiant mortal who has stolen knowledge from the gods, sailing silently down through the clouds to return to the world of men.

 When Ovidius read the completed draft to a small group of actors, they were silent, stunned. It was blasphemous, thrilling, and utterly original.

"To stage this..." the lead actor breathed, "the spectacle of the flight alone would fill the theatre for a year."

The first performance was a sensation. The theatre was packed. When the actor playing Daedalus, suspended by a clever system of ropes and counterweights Marda had helped design, soared across the stage on his magnificent wings, the audience gasped as one. But as the play's philosophical implications settled in, a different murmur began. In the shadows of the portico, a stern-faced senator named Cato Secundus stood with two members of the Pontifical College.

"This is not art," one of the priests said, his voice tight with disapproval. "It is poison. He portrays the divine as mere travelers from the Moon, fallible and factional. He strips them of their majesty, their mystery."

Cato nodded grimly. "It is a corruption of the mos maiorum. It encourages men to look to the stars for answers instead of to the gods of Rome. It is a dangerous fantasy, and Ovidius is a dangerous man."

Ovidious triumphant: image by Gemini.
 Up in the stands, Ovidius heard the roar of the crowd, a sound of pure adoration. He squeezed Marda’s hand, a triumphant, manic glint in his eyes. For the first time, his madness felt not like a curse, but like a glorious, terrible weapon. He had their attention now. He was satisfied, for the moment, that his fiction was being heard, unaware that the story he had just begun to tell would soon have very real and very powerful enemies.

 

___End Chapter 5______

Figure 7.
At this point, I got the message shown in Figure 7.

Next: Which of the AI-generated versions of Chapter 5 is best?

Visit the Gallery of Movies, Book and Magazine Covers