The GitHub Action in the Deploy Obsidian to Netlify pipeline takes about 1m10s total, but almost all of that is spent setting up the Docker container. I bet I can improve it with judicious caching. OTOH I’ve got 3000 minutes a month to play with. Leave that one for later I think.



Fun game: Feed ChatGPT an image, ask it to describe it. Then ask it to generate a new image based on that description.

You can even feed the generated image back in, and build a chain:

This one’s relatively consistent - it’s producing variations on a theme. Other runs spin off into insanity, or collapse into a stable state. It makes me think of strange attractors.


Still tweaking the blog layout. Just a little. This function sorts the “Daily notes” folder in the Explorer component most-recent-first, while everything else stays with the default title sort. Can’t use the created date on the file because that’s the date it was checked out of the repo, so we’re relying on the notes all being named with the date.

sortFn: (a, b) => {
  const dailyNotesPath = 'content/Daily notes/';
 
if (a.file && b.file) {
    if (a.file.filePath.startsWith(dailyNotesPath) && b.file.filePath.startsWith(dailyNotesPath)) {
      return b.displayName.localeCompare(a.displayName, undefined, {
        numeric: true,
        sensitivity: "base",
      });
    }
  }
 
  if ((!a.file && !b.file) || (a.file && b.file)) {
    // Sort by title
    return a.displayName.localeCompare(b.displayName, undefined, {
      numeric: true,
      sensitivity: "base",
    });
  }
 
  // Directories bubble up, files bubble down.
  return a.file ? 1 : -1;
}