Skip to content

Latest 🗞️

Thursday, July 2

Git Commits

days commits 5 ohnsh/days
  • 10:05 pm — John Sherrell <dev@ohn.sh>

    LatestVids: Added `include` prop to specify whether list should include only non-live videos, only live videos, or all videos. Now rendering both live and non-live versions on the latest route.

  • 10:04 pm — John Sherrell <dev@ohn.sh>

    Moved prettier config out of package.json, set up formatting support for .astro files in helix.

  • 7:40 pm — John Sherrell <dev@ohn.sh>

    DayContent and LatestPosts: Fixed bug where computing slugs to link to the main route for a day or post resulted in relative paths instead of absolute paths.

  • 7:35 pm — John Sherrell <dev@ohn.sh>

    Fixed date bug that caused the incorrect month to render in the sidebar when the day used to query it happened to be the first of the month.

  • 7:34 pm — John Sherrell <dev@ohn.sh>

    Added helix configuration to ensure use of prettier instead of Biome.

dev commits 6 ohnsh/dev
  • 6:42 pm — John Sherrell <dev@ohn.sh>

    Added custom font (DejaVu Sans for no particular reason) to mktitle with logic to find the .ttf on Alpine or MacOS.

  • 4:10 pm — John Sherrell <dev@ohn.sh>

    stream-utils: clean up new mkff.sh utility.

  • 7:09 am — John Sherrell <dev@ohn.sh>

    stream-utils: dramatically optimized strobe filter by dropping unused frames *before* the filter instead of after. As simple as adding an `fps` filter immediately after `setpts`. Squashed commit of the following: commit 98a78df0946facd2135c357cb494a9ab0d936cac Author: John Sherrell <dev@ohn.sh> Date: Thu Jul 2 07:01:38 2026 -0500 Optimization breakthrough. commit 82c30edbfd31392bb63d1a6e0afdece7a3672c67 Author: John Sherrell <dev@ohn.sh> Date: Thu Jul 2 06:48:30 2026 -0500 Optimizing strobe.

  • 5:31 am — John Sherrell <dev@ohn.sh>

    stream-utils: Some ffmpeg commands that utilize libavfilter to generate title cards.

  • 5:12 am — John Sherrell <dev@ohn.sh>

    stream-utils: Added vaapi hardware versions of timelapse/summary functions.

  • 3:04 am — John Sherrell <dev@ohn.sh>

    stream-utils: added utilities for creating summary videos from long videos by stitching together short segments at regular intervals.

YouTube

Wednesday, July 1

Git Commits

dev commits 8 ohnsh/dev
  • 6:27 pm — John Sherrell <dev@ohn.sh>

    stream-utils: added package.json to bring in youtube-client executable and define package scripts. Still feeling out how this should work.

  • 4:24 pm — John Sherrell <dev@ohn.sh>

    youtube-client: Added `broadcast ensure` command that returns an existing ready broadcast (one with `lifeCycleStatus: 'ready'` and `enableAutoStart: true`) or creates one if none exist. This is the core operation needed by the stream automation.

  • 2:53 am — John Sherrell <dev@ohn.sh>

    youtube-client: stream key in api sample has been refreshed. (This project is now on GitHub.)

  • 2:37 am — John Sherrell <dev@ohn.sh>

    stream-utils: Comments

  • 2:19 am — John Sherrell <dev@ohn.sh>

    youtube-client: an actual CLI is forming. Creating broadcasts and streaming without touching the web interface is now working (enableAutoStart and enableAutoStop properties are critical).

  • 2:17 am — John Sherrell <dev@ohn.sh>

    stream-utils: installed @aws-sdk/client-s3, consolidated some ffmpeg commands.

  • 2:16 am — John Sherrell <dev@ohn.sh>

    scripts: not sure about this package.

  • 2:15 am — John Sherrell <dev@ohn.sh>

    sh: Cleaning up ancient shell scripts.

Tuesday, June 30

Git Commits

dev commits 6 ohnsh/dev
  • 10:15 pm — John Sherrell <dev@ohn.sh>

    youtube-client: Refactored libs to use proper functions (with names in scope for sibling functions). The functions are returned as object keys (instead of methods).

  • 8:05 pm — John Sherrell <dev@ohn.sh>

    youtube-client: refactored into libraries (upload and live) with factory function exports

  • 7:31 pm — John Sherrell <dev@ohn.sh>

    youtube-client: renamed stream.tx -> live.ts; creating broadcasts is working.

  • 5:45 pm — John Sherrell <dev@ohn.sh>

    Documenting API samples

  • 5:04 pm — John Sherrell <dev@ohn.sh>

    added shebang to old scripts.

  • 5:03 pm — John Sherrell <dev@ohn.sh>

    youtube-client: storing token updates, exploring shape of API responses

Monday, June 29

Git Commits

dev commits 10 ohnsh/dev
  • 8:32 pm — John Sherrell <dev@ohn.sh>

    youtube-client: Implemented "desktop" OAuth client with loopback server. Should be able to make any API calls now.

  • 6:36 pm — John Sherrell <dev@ohn.sh>

    youtube-client: Keeping around old auth module as device-auth.ts

  • 6:34 pm — John Sherrell <dev@ohn.sh>

    youtube-client: Implemented device flow before realizing the allowed scopes are extremely limited. Saving state here but re-doing auth as a "Desktop" client (spin up a loopback server to handle the redirect).

  • 4:08 pm — John Sherrell <dev@ohn.sh>

    Re-organizing youtube client.

  • 1:47 pm — John Sherrell <dev@ohn.sh>

    dxif.sh: test whether files are currently open before moving them

  • 1:30 pm — John Sherrell <dev@ohn.sh>

    Streamlining path to executable scripts. No longer requires dependent package and installation.

  • 1:26 pm — John Sherrell <dev@ohn.sh>

    intermediate; re-organizing scripts

  • 12:32 pm — John Sherrell <dev@ohn.sh>

    Adding shell utilities

  • 6:23 am — John Sherrell <dev@ohn.sh>

    Housekeeping.

  • 1:44 am — John Sherrell <dev@ohn.sh>

    picture-in-picture proof-of-concept

days commits 1 ohnsh/days
  • 9:24 am — John Sherrell <dev@ohn.sh>

    Upgraded Astro to v7.0. Default HTML whitespace behavior changed (line breaks are removed from bundler output). I'm (not wisely) relying on the white space for spacing between inline elements, most noticably in the Latest Posts component. For now, I added a config option `compressHTML: false`) to change back to the old behavior.

YouTube

Sunday, June 28

Git Commits

dev commits 5 ohnsh/dev
  • 11:34 pm — John Sherrell <dev@ohn.sh>

    Documented ffmpeg error recovery using fifo muxer. not currently wired up.

  • 10:36 pm — John Sherrell <dev@ohn.sh>

    Redacting stream key from ffmpeg output. Doing so by filtering means losing tty formatting from ffmpeg (considering using `script` to work around this). For now, simply quiet ffmpeg with `-v warning`.

  • 8:57 pm — John Sherrell <dev@ohn.sh>

    stream_folder implementation for time-delayed stream from folder of mp4s

  • 3:57 am — John Sherrell <dev@ohn.sh>

    Added stream-utils projects.

  • 3:42 am — John Sherrell <dev@ohn.sh>

    renaming