Skip to content

Latest πŸ—žοΈ

Tuesday, April 14

Git Commits

bsky-random commits 2 ohnsh/bsky-random
  • 10:45 pm β€” John Sherrell <dev@ohn.sh>

    Using huggingface inference client with llama-3.3 system prompt to fetch three astronomy- or shih tzu-related facts. I guess that'll be the bot's personality for now. Work is needed to reduce repitition. (Likely by keeping a list of N previous responses and inserting them into conversation history.)

  • 5:11 pm β€” John Sherrell <dev@ohn.sh>

    Switched bluesky profile/feed retrieval to page component instead of route handler. New Profile and Post components that just render the profile handle and post text so far.

YouTube

Monday, April 13

Git Commits

bsky-random commits 3 ohnsh/bsky-random
  • 11:40 pm β€” John Sherrell <dev@ohn.sh>

    Added OpenNext cloudflare adapter; deploying to workers. The page route shows a list of popular feed generators on BlueSky. And there are a couple of "bot" route handlers; /bot returns profile information for @bleepbloop.ohn.sh while /bot/ai runs a moderation model via HuggingFace to classify the given query text. Using Cloudflare KV binding to persist Bluesky/AT bot session across requests.

  • 2:58 pm β€” John Sherrell <dev@ohn.sh>

    Clean up markdown files left by create-next-app.

  • 2:56 pm β€” John Sherrell <dev@ohn.sh>

    Initial commit from Create Next App

days commits 1 ohnsh/days
  • 2:24 pm β€” John Sherrell <dev@ohn.sh>

    Bump dependencies.

YouTube

Sunday, April 12

Git Commits

scratch commits 3 ohnsh/scratch
  • 12:46 pm β€” John Sherrell <dev@ohn.sh>

    yolo demo: removed first-pass non-react implementation, plus a couple of vendor files that I'm no longer using.

  • 1:50 am β€” John Sherrell <dev@ohn.sh>

    Refactored VideoProcessor into custom hook.

  • 12:01 am β€” John Sherrell <dev@ohn.sh>

    yolo demo: use loadeddata event on <video> to (re-)initialize VideoProcessor whenever the first frame of a new video source is ready. Also turned off VideoProcessor's internal frame grabbing, which wasn't actually doing anything with the image data.

Saturday, April 11

Git Commits

scratch commits 4 ohnsh/scratch
  • 5:58 pm β€” John Sherrell <dev@ohn.sh>

    yolo demo: switching to live camera stream now works. Rebuilt as a React component. Swapped old <UserMedia> component for useUserMedia custom hook. It kind of works on my iPhone 15 Pro, but lots of room for improvement.

  • 10:51 am β€” John Sherrell <dev@ohn.sh>

    yolo demo: based on a tip from edge devtools, setting `willReadFrequently` flag for canvas rendering context created in VideoProcessor. Helps the browser optimize by storing bitmap on CPU when it's frequently read back into JavaScript (we're doing it 10 times per second).

  • 12:43 am β€” John Sherrell <dev@ohn.sh>

    Merge branch 'yolo'

  • 12:40 am β€” John Sherrell <dev@ohn.sh>

    Now importing onnxruntime-web via CDN to prevent vite bundling a giant WASM runtime that exceeds the asset size limit on Cloudflare Workers. Created typescript module declaration shim that references types in the still-installed npm package.

Friday, April 10

Git Commits

scratch commits 4 ohnsh/scratch
  • 11:21 pm β€” John Sherrell <dev@ohn.sh>

    First pass at a YOLO object detection demo. Currently using a static video hosted from an R2 bucket. Lots of work to do, but it works and runs pretty smoothly.

  • 11:41 am β€” John Sherrell <dev@ohn.sh>

    iCloud shared album viewer: new types revealed a bug accessing non-existent width/height properties of Asset object. Using CSS to make each image a square filling the available column width; `object-fit: cover` gives a cropped thumbnail.

  • 11:19 am β€” John Sherrell <dev@ohn.sh>

    iCloud shared album viewer: added types for API objects; center grid items with `place-items: center`.

  • 12:37 am β€” John Sherrell <dev@ohn.sh>

    iCloud shared album viewer: add play icon to videos.

Thursday, April 9

Git Commits

scratch commits 2 ohnsh/scratch
  • 11:47 pm β€” John Sherrell <dev@ohn.sh>

    Astro.rewrite wreaks havoc with SSR, at least on Cloudflare. Removing index.astro, which aliased the iCloud shared album demo via Astro.rewrite. Not sure if the problem has anything to do with it being the / route, but Cloudflare was returning a server error. For now, back to empty index.mdx for the root. I should be able to go back to Astro.rewrite when I have a statically generated demo worth featuring.

  • 11:44 pm β€” John Sherrell <dev@ohn.sh>

    Remove deprecated `baseUrl` option from tsconfig.json

days commits 1 ohnsh/days
  • 5:05 pm β€” John Sherrell <dev@ohn.sh>

    More complete og:image sorting algorithm in route middleware. Doggos come first.

Wednesday, April 8

Git Commits

days commits 1 ohnsh/days
  • 10:03 am β€” John Sherrell <dev@ohn.sh>

    Update post to reflect new, dynamically rendered iCloud shared album viewer.

scratch commits 2 ohnsh/scratch
  • 10:00 am β€” John Sherrell <dev@ohn.sh>

    Move iCloud shared album viewer to .astro page and disable prerendering. Gallery should now stay in sync with image URLs extracted from iCloud.

  • 9:47 am β€” John Sherrell <dev@ohn.sh>

    Added cloudflare SSR adapter, which required nodejs_compat in wrangler.jsonc due to postcss using node APIs. Preparing to disable prerendering for iCloud shared album viewer.

Tuesday, April 7

iCloud Shared Album

I’m testing out a new content loader/custom viewer for iCloud shared albums at https://scratch.ohn.sh/icloud-viewer. It’ll likely be integrated into this blog in the near future.

Note: image URLs extracted from the shared album expire every day or so. I need to add an SSR adapter and disable prerendering for pages using the gallery component so that galleries can be rebuilt without re-deploying the entire site. For now, galleries will break periodically; please use the β€œView on iCloud” link. UPDATE: done.

View full post…

Git Commits

scratch commits 3 ohnsh/scratch
  • 10:01 pm β€” John Sherrell <dev@ohn.sh>

    iCloud shared album viewer: add temporary note explaining URL expiration.

  • 9:46 pm β€” John Sherrell <dev@ohn.sh>

    iCloud shared album viewer: make `token` a prop, add album title and link to icloud.com interface.

  • 9:36 pm β€” John Sherrell <dev@ohn.sh>

    Add photoswipe to iCloud shared album loader; also photoswipe-video-plugin.

days commits 2 ohnsh/days
  • 10:03 pm β€” John Sherrell <dev@ohn.sh>

    Add note about expiration of image URLs extracted from iCloud shared albums.

  • 9:56 pm β€” John Sherrell <dev@ohn.sh>

    Post 4/7/2026: link to icloud shared album viewer.

Monday, April 6

Git Commits

scratch commits 6 ohnsh/scratch
  • 8:33 pm β€” John Sherrell <dev@ohn.sh>

    New branch for YOLO demo development. For now, run test video instead of camera.

  • 8:32 pm β€” John Sherrell <dev@ohn.sh>

    Add object detection test videos to .gitignore.

  • 8:26 pm β€” John Sherrell <dev@ohn.sh>

    Capture metadata from iCloud shared album JSON. Renamed icloud-demo.mdx -> icloud-latest.mdx.

  • 3:29 pm β€” John Sherrell <dev@ohn.sh>

    Add new iCloud shared album demo to sidebar. Also rewrite index route to the new demo (otherwise, it's blank).

  • 3:09 pm β€” John Sherrell <dev@ohn.sh>

    Bump dependencies.

  • 3:06 pm β€” John Sherrell <dev@ohn.sh>

    iCloud shared album gallery demo. Pulling in image/video URLs from the album's public website. Currently, the UI is minimal.