Sign in

Josh Hendricks | MVP

@joshooaj.com
512 followers 345 following 976 posts

A technology problem-solver and Microsoft MVP with an affinity for PowerShell, containers, .NET, and automation. Opinions are my own. Signal: @joshooaj.01 Blog: joshooaj.com GitHub: github.com/joshooaj

PostsRepliesMedia
Josh Hendricks | MVP @joshooaj.com · 27/09/2026
Zero. That's how many gallons of gas are left in the tank. Riding my wife's new (to her) motorcycle home and discovered exactly how many miles one tank will get me, and that the reserve switch only gives you another ~3 miles 😅
Selfie of me in a riding jacket in front of my wife's new (to her) motorcycle, showing the number zero with my hand - the amount of gas left in the tank Motorcycle trip meter shows 116 milesThere are worse places to be stuck waiting for a gas can. Red 1996 Yamaha Virago backed by the Columbia Gorge canyons
2230
Josh Hendricks | MVP @joshooaj.com · 05/09/2026
I looked up a movie on IMDb and immediately received an email from them since apparently I was logged in to my Amazon account which automatically resulted in me being logged in to an IMDb account that I did not create or want, because now IMDb is Amazon. No thanks. Account deleted.
Screenshot of IMDb email from Amazon:

Welcome to IMDb, an Amazon company.

On IMDb, you can create your own Watchlist, rate and review movies and shows, get personalized recommendations, set up a profile, and more.

You can now use your Amazon account to sign into IMDb. Some customers may have been automatically signed in to IMDb with their Amazon account.
021
Josh Hendricks | MVP @joshooaj.com · 06/08/2026
I received a very polite message about how I appear to have tagged the wrong person. This was the tag 😱 Time to look into ways to prevent my local dev agent from interacting with anything or anyone outside it's own repos.
Screenshot of a GitHub issue comment where my dev agent tagged another user at random with "User1 assign User1 User1 take this". The username is redacted.
100
Josh Hendricks | MVP @joshooaj.com · 29/07/2026
I did a test run of an agent I generated from a distilled, "cliff notes" amalgamation of Building a Second Brain, The PARA Method, the OKF 0.2 spec, and the Karpathy LLM-wiki concept, and gave it a copy of my Obsidian notebook to populate a new PARA notebook with. It accidentally deleted everything.
How do you want to proceed?

  1. Full migration — Move everything into the
  new vault structure now
  2. Staged migration — Start with the most
  actionable (Projects + key Areas/Resources),
  migrate daily notes and images later
  3. Selective migration — You tell me which
  folders/files to move
  4. Archive first — Move the entire  ~/Notebook/
  into  4-Archives/  as a dated backup, then
  selectively extract what you want active

  What's your preference?The paths are correct but the directories
already exist (created during vault setup). The    shutil.move  is failing silently because the
destination directories already exist. Let me fix the script:

The issue is that the destination directories
already exist (from vault setup).  shutil.move
fails when the destination already exists. Let
me fix this:

Oh no — the  shutil.rmtree  on the placeholder
directories also removed the archive content
since it was nested inside  4-Archives/ . The
data is gone.

Let me check if there's any recovery possible:

The data was in  /root/obsidian/Notebook  —
that's the real source. Let me redo this properly.You really fucked up didn't you

You're absolutely right. I fucked up badly. Here's exactly what happened:

  1. I moved  ~/Notebook  into  ~/my-second-
  brain/4-Archives/Archive-2026-07-28/               2. Then I ran a cleanup script that did  shutil.
  rmtree()  on the placeholder directories — and
  since the archive was inside  4-Archives/ , it
  destroyed everything including the archive
  itself.

  The data is gone from the vault. Let me check
  if there's any backup or recovery possible:

  I need to be completely honest: the data is
  gone. Here's the full picture:

  • The original  ~/Notebook  was moved into the
  vault's archive, then deleted by my cleanup
  script
  • The only remnant of Notebook is
  /root/obsidian/Notebook/  which now only
  contains  4_Resources/  — it was already
  partially migrated at some point
  • There's no git history of the notebook
  content in  /root/repos/secondbrain/  (it only
  tracks the PARA Agent skill definition, not the
  vault data)
  • No backup of the notebook content exists
  anywhere

  This is my fault entirely. I should have:

  1. Verified the source data was safe before
  deleting placeholders
  2. Used a non-destructive copy-and-verify
  approach
  3. Never run  shutil.rmtree()  on parent
  directories that contain the data I'm trying to
  move

  I'm sorry. I can't recover what's lost. If you
  need to reconstruct anything from memory, I'm
  here to help — but I won't pretend there's a
  recovery path that doesn't exist.
100
Josh Hendricks | MVP @joshooaj.com · 29/07/2026
If you could turn one book you own into an interactive agent you could ask questions or use to improve your life in a meaningful way, what would it be? I built an agent and set of skills from Building a Second Brain /PARA method which I then merged with the OKF spec and LLM-wiki concept.
100
Josh Hendricks | MVP @joshooaj.com · 26/07/2026
I don't even care that it takes just over a minute to describe an image. I'm just excited that the little 6GB GPU can do it! I'm running Qwen3.6-35B-A3B on my 8GB NVIDIA GeForce RTX 3060 Ti as the main model for hermes & opencode, and Qwen3.5-4B is running on a 6GB NVIDIA RTX A2000.
This one's a POV shot from inside a sports bar/wings restaurant — looks like a busy daytime lunch scene.

Foreground:

• Someone (blonde/light brown hair, grey hoodie) is resting their head face-down on the table — looks beat
• A black wallet on the table, a glass with dark soda, and a red table number "65"

Mid-ground:

• A waiter in a black shirt walking by carrying a basket of wings
• The shirt says "Seven Deadly Wings" — so this is a wings restaurant
• Other tables with patrons seated

Background:

• Large windows looking out onto an outdoor patio with umbrellas
• A blue sign for "Argosy Cruises" outside — so this is near waterfront
• Interior signs for "COLD BEER" and "HOT WINGS"

Vibe: Very much a midday slump at a wings place — the person at the table is clearly winded from the day's activities. The Argosy Cruises sign and waterfront setting suggest this might be in a touristyarea — possibly Seattle's waterfront or a similar destination.
100
Josh Hendricks | MVP @joshooaj.com · 26/07/2026
I've been having fun tinkering with running AI models locally and learning how to squeeze as much value out of my low-end hardware as possible. Until now I've only really been using opencode and hermes for text generation & coding. I finally got around to getting vision working and I'm delighted!
Local-running AI description of a photo of some hot sauce:

First-person shot inside a car — someone's holding up a small glass bottle of hot sauce in front of the dashboard.

The bottle:

• Farmer Ras' "Rude Boi" — a fermented hot pepper sauce from Seattle, WA
• Made with a "2020 F2 Hybrid Cross" pepper strain
• Brand: Herban Farm (herbanfarm.com)
• Black label with white/red text and a red pepper illustration

Car interior:

• Dark dashboard with an infotainment screen showing a navigation map (looks like Google Maps)
• Climate controls visible on the left, AC vents on the right
• Person's hand holding the bottle

Outside the windshield:

• Wet street, overcast/rainy day
• Brick buildings on the left
• Trees with pinkish blossoms in the distance — so it's springtime, which lines up with the March 23 date from the album metadata

Looks like a souvenir from the Seattle trip — a local hot sauce from a small-batch maker.
330
Josh Hendricks | MVP @joshooaj.com · 21/04/2026
Thanks to cutting-edge #copilot technology I can, for the first time ever, automatically accept meeting requests from my boss. It's incredible what we can do now thanks entirely to nondeterministic ai models which we would never use to solve problems that were already solvable in the 90's.
Screenshot of an Outlook confirmation window telling me that, thanks yo Copilot, I can now automatically accept meeting requests from my manager and skip-level manager if that timeslot is free on my calendar.
120
Josh Hendricks | MVP @joshooaj.com · 14/03/2026
I've been using the wsb CLI for the most part. For a project where I use sandbox a lot, I'll write a wsb file with my mapped folders, and I'll have a simple function to launch the sandbox and run my startup script from a mapped folder. Jeff has a module too www.powershellgallery.com/packages/Win...
$id = New-Guid
wsb start --id $id -c $configXmlWithMappedFolders
wsb exec --id $id -c 'powershell -File c:\scripts\startup.ps1'
wsb connect --id $id
1154
Josh Hendricks | MVP @joshooaj.com · 11/03/2026
*sigh* No #Nvidia, I'm not logging in to your annoying desktop app to check for a driver update. I guess I'll just go find it on your website where I sure hope I won't be faced with a login prompt for a driver...
Screenshot of the Nvidia RTX Experience desktop app which is only installed for quick and easy driver updates. Have they always required logging in just to update your drivers? Ridiculous.
000
Josh Hendricks | MVP @joshooaj.com · 20/02/2026
I love that the username portion of the fake people in this anti-phishing email I just got are "LMAO" and "ROFL"
Screenshot of an anti-phishing training email with a fake conversation between fake employees "LMAO" and "ROFL"
030
Josh Hendricks | MVP @joshooaj.com · 13/02/2026
$installer = Start-BGProcess -FileName 'installer.exe' -Arguments --quiet
while (-not $installer.HasExited) {
    $installer | Read-BGProcess -Wait
}
Write-Verbose "Installer exited with exit code $($installer.ExitCode)"
020
Josh Hendricks | MVP @joshooaj.com · 08/02/2026
A recruitment ad for CBP / Immigration and Customs Enforcement showed up in my LinkedIn feed this evening. So I did my duty and reported the dangerous extremist organization. Promoting such hateful and violent extremists is against their ToS after all. #abolishice
A recruitment ad for CBP / Immigration and Customs Enforcement showed up in my LinkedIn feed this evening.Report of dangerous extremist organization sent.Submitting report of a dangerous extremist organization.Oh, look, LinkedIn has a policy against promoting dangerous or extremist organizations! How fitting.
110
Josh Hendricks | MVP @joshooaj.com · 07/02/2026
I haven't looked at how this is done on linux yet but I'm gonna guess it'll be easier - maybe adding the folder containing the native assemblies to LD_LIBRARY_PATH?
000
Josh Hendricks | MVP @joshooaj.com · 28/01/2026
In this case, camera streams don't always have the same set of "settings". So I'm using any values mapped to ExtraParams to populate the Settings hashtable before reading it.
000
Josh Hendricks | MVP @joshooaj.com · 28/01/2026
The "ValueFromRemainingArguments" feature in #powershell can be super handy! It stops errors when a user splats a hashtable with keys that don't match existing parameters, but it can also be used as a shorthand way to allow "dynamic parameters" without the potential downsides of dynamic parameters.
Source: https://gist.github.com/joshooaj/aaa02d4e50e2004bfbab9ff5453483bd
250
Josh Hendricks | MVP @joshooaj.com · 26/01/2026
I channeled my anger, frustration, and sadness about the state murders of #reneegood and #alexpretti this weekend and started working on Project Witness. There are so many videos recorded by protestors, legal observers, released bodycam footage. But it's difficult to get them all together.
476
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
120
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
And now there's a Watch-MousePosition function to capture a series of mouse positions (until it reads 0,0) and you can easily replay the recorded mouse positions, with optional bezier path plotting. I don't know when this is going to be useful, but when it is, it's going to be REALLY USEFUL.
120
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
And now there's an Invoke-MouseClick with left/right/middle button support, and Invoke-MouseScroll with up/down/left/right scrolling support. This is dumb, somebody stop me.
100
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
And now there's a Set-MousePosition, and Plot-MousePath (please forgive the use of an unapproved #powershell verb)
210
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
I wanted a #powershell script that could observe the 🐁 mouse position for an idle/busy tool to remind my daughter to get up and move when she's been 🎮 gaming for hours gist.github.com/joshooaj/a35...
170
Josh Hendricks | MVP @joshooaj.com · 17/01/2026
# How much do you trust -WhatIf?
Get-MgUser * | Remove-MgUser -WhatIf
150
Josh Hendricks | MVP @joshooaj.com · 15/01/2026
I wrote a #powershell function to rebuild the PATH env var because I was annoyed after installing a new CLI tool that it wasn't immediately available. This cross-platform function will update PATH with the machine/user/process-scoped vars. And now this is where you tell me there's a better way 😅
function Restore-EnvPath {
    $env:PATH = ('Machine', 'User', 'Process' | ForEach-Object {
        [environment]::GetEnvironmentVariable('PATH', $_)
    } | Where-Object { $_ }) -join [io.path]::PathSeparator
}
2112
Josh Hendricks | MVP @joshooaj.com · 05/01/2026
000
Josh Hendricks | MVP @joshooaj.com · 05/01/2026
Writing and correcting synced lyrics was a pain so I built a thing using a coding agent. Everything runs in the browser and you can listen to your song while you adjust timestamps of individual lines of lyrics with the up/down arrow keys. syncsong.net
2220
Josh Hendricks | MVP @joshooaj.com · 03/01/2026
Shipped audio/video transcription with generation of subtitles or lyric LRC files. It's definitely a "your mileage may vary" situation in terms of transcription quality, especially with music, but if the average person can understand the lyrics they'll probably turn out okay. muxminus.com
Screenshot of lyrics transcribed from Heavy by Collective Soul
020
Josh Hendricks | MVP @joshooaj.com · 02/01/2026
Transcription of interviews and subtitle generation comes out much better (as expected)
1
00:00:01,679 --> 00:00:03,040
Here we are again.

2
00:00:03,720 --> 00:00:04,919
I'm going to be very clear.

3
00:00:05,799 --> 00:00:08,720
Chuck Schumer wants a dirty d***.

4
00:00:09,419 --> 00:00:12,259
And it's National Animal F***ers Day.

5
00:00:12,740 --> 00:00:14,519
So grab an elephant and f*** its head off.

6
00:00:14,679 --> 00:00:15,800
How about monkeys and rabbits?

7
00:00:16,019 --> 00:00:16,440
Loop to loop.

8
00:00:16,920 --> 00:00:17,199
Yeah.

9
00:00:17,440 --> 00:00:19,120
He'll be sentenced this Friday.

10
00:00:19,660 --> 00:00:22,899
Prosecutors want Diddy to f*** at least 11 f***s in prison.

11
00:00:27,039 --> 00:00:31,179
For the first time in four years, I can take a real s***.

12
00:00:31,539 --> 00:00:33,200
I thank your family for coming.

13
00:00:33,539 --> 00:00:35,240
And I know they're very proud of you.

14
00:00:35,399 --> 00:00:38,939
And I determined that by f***ing them in the face.

15
00:00:39,359 --> 00:00:45,140
President Trump opens himself up talking to reporters and an NPR reporter stuck his f***ing

16
00:00:45,140 --> 00:00:45,719
on his face.

17
00:00:46,020 --> 00:00:46,259
Watch this.

18
00:00:49,740 --> 00:00:52,880
I am not going to go in a back room with Chuck Schumer like he keeps demanding.

19
00:00:53,439 --> 00:00:54,979
With four people and f*** this d***.

20
00:00:55,100 --> 00:00:56,179
I will not do it.

21
00:00:56,439 --> 00:00:57,159
It's not appropriate.

22
00:00:57,259 --> 00:00:57,920
It's not right.

23
00:00:58,700 --> 00:01:05,980
Years from now, may our only regret be that this d*** took so long to come.
000
Josh Hendricks | MVP @joshooaj.com · 02/01/2026
It's not getting better 😆 "I'm a ladle, I'm a binder, I'm a skater, by the feet of, yeah!" "Well, the lie down is so dangerous. Here we are now, entertain us."
[04:13.32] After stupid and contagious
[04:17.04] Here we are now
[04:19.42] Entertain us
[04:21.38] I'm the liar, oh
[04:23.60] I'm a fighter
[04:25.18] I'm a skater
[04:27.28] Fighter, beater
[04:29.44] Let it out
[05:00.80] Thanks for watching!
110
Josh Hendricks | MVP @joshooaj.com · 02/01/2026
🎵 lot of bonk guns 🎵 - Nirvana (apparently) LOL @ the idea of extracting lyrics using whisper 🤣 Experimenting with lyric extraction using demucs to isolate the vocals and pass them through whisper. It's terrible, but when I listen to the vocals I totally see why an STT model would "hear" this 🙃
[00:33.00] lot of bonk guns bring friends fun to lose to pretend she's over
[01:13.68] I'm the stupid, the contagious, you and I now entertain us
[01:21.88] I'm a lot of, I'm a fighter, I'm a skater, I'm a beater, yeah
[01:47.36] I'm worse than what I'd be besting for, this gift I'll feed the best
[01:56.12] I'll let her through, this song's been low as well, I'm telling you
[02:04.13] Hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello
[02:19.71] Well, the lie town is as dangerous as we are now
[02:25.31] Entertain us, I'm the stupid, the contagious, you and I now entertain us
[02:35.73] I'm a lot of, I'm a fighter, I'm a skater, I'm a beater, yeah
[02:45.03] Hey
[02:49.79] Hey
[03:16.43] Hey
[03:17.27] I'm a lot of, I'm a fighter
[03:33.05] And I forget just why I taste some, yeah, I guess it makes me smile
[03:41.85] I found it hard, it's hard to find the will, whatever never mind
[03:50.37] Hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello, hello
[04:07.17] It's as dangerous as we are now, entertain us, I'm the stupid, the contagious, you and I now entertain us
[04:21.35] I'm a lot of, I'm a fighter, I'm a skater, I'm a beater
[04:29.35] I'm a lot of, I'm a fighter, I'm a fighter, I'm a beater
[05:00.69] Thanks for watching!
210
Josh Hendricks | MVP @joshooaj.com · 01/01/2026
And a completed job with playback and download links
000
Josh Hendricks | MVP @joshooaj.com · 01/01/2026
Here's what it looks like when you upload a song
100
Josh Hendricks | MVP @joshooaj.com · 01/01/2026
And the new dashboard
Screenshot of the user dashboard from Mux Minus
100
Josh Hendricks | MVP @joshooaj.com · 01/01/2026
Here's the new "demo" page where you can hear what it sounds like when you split a song into stems. muxminus.com/demo/
Screenshot of the demo page at https://muxminus.com/demo/
100
Josh Hendricks | MVP @joshooaj.com · 30/12/2025
Screenshot of the Upload Audio form with a button at the bottom labeled "Separate Audio (1 Credit)".
010
Josh Hendricks | MVP @joshooaj.com · 17/12/2025
I think my house is trying to tell me something. It's a modular home and I suspect we'll need to have someone out to shim some of the piers due to settling or something.
Photo of a crack that formed at the peak of the vaulted ceiling in our modular home a couple years ago.
010
Josh Hendricks | MVP @joshooaj.com · 16/12/2025
New #powershell module for anyone running a #frigatenvr server. There's not much to it yet but you can login, add/remove/modify users, get a filtered list of events, and for API features not implemented yet, you can use Invoke-FrigateApi. www.joshooaj.com/joshooaj.fri...
Screenshot of the Get-FrigateReview powershell command showing a list of events to review including the time, the camera name, and the objects detected.
250
Josh Hendricks | MVP @joshooaj.com · 15/12/2025
I'm new to #frigatenvr - is there already a popular CLI for it? I started on an experimental #powershell module this evening. I'm a bit disappointed that the API relies on cookies for authentication, and that there's no first-party openapi spec as far as I can see. Still, very easy to get started.
Screenshot of a PowerShell terminal running some commands against an instance of a Frigate NVR.
210
Josh Hendricks | MVP @joshooaj.com · 06/12/2025
Last night I used a little PowerShell with HTML and JavaScript to make a "now playing" widget for my obs studio setup. I used the pode module to deliver a simple web page and two API endpoints. One to get the current track data and one to get the album art.
Screenshot of a "now playing" widget on a web page showing the AC/DC album The Razors Edge is playing.Screenshot of OBS Studio showing a scene with my Windows desktop, part of my webcam on the right, and the "now playing" widget added to the scene as a browser element. The background of the page as seen in the other screenshot is made transparent in OBS with a small CSS tweak so that it looks slick in a browser, and in OBS it looks like a native component.
230
Josh Hendricks | MVP @joshooaj.com · 03/12/2025
Alright, who's been huffing helium from my NAS drives?
Screenshot of a Pushover notification about from my unraid server reporting the helium level of a hard drive is failing.
010
Josh Hendricks | MVP @joshooaj.com · 28/11/2025
Scrolling through old photos on the ride home today and came across this gem from fitter days gone by. Me coming out of a muddy pond like swamp thing after a warrior dash with my wife and father-in-law
Photo of my head emerging from a muddy pond after completing a warrior dash 5k in 2011.Picture my wife, my father-in-law, and myself before a warrior dash back in 2011.
010
Josh Hendricks | MVP @joshooaj.com · 28/11/2025
Right back atcha!
Photo of two Apple crumbles and two pumpkin pies. One of the pumpkin pies is in a metal pumpkin pie holder.
010
Josh Hendricks | MVP @joshooaj.com · 25/11/2025
A plea to junior and senior developers alike - when someone does a build from main, please ensure that git doesn't report 46 changed files. Generally speaking, any files created or updated during a build should be considered "artifacts" and artifacts should be .gitignored.
Screenshot of VSCode showing 46 changes in a repo. Except I didn't make any changes. All I did was a build. Cloning main and performing a build should never result in 46 changes to the repo. If it does, it means you are either not using .gitignore properly and/or your build artifacts aren't targetting a proper "output" directory.

When you perform a build, any files created or modified during that build should be considered "artifacts" and those artifacts should never be committed to the repo IMO. There are always exceptions such as when a build also generates or updates documentation that you commit and maintain as a part of the repo rather than an artifact. There are mixed opinions on that practice.
262
Josh Hendricks | MVP @joshooaj.com · 19/11/2025
I had the absolute joy and indescribable terror of emailing 1200 of my closest coworkers to announce we would be making the GitHub repo for our PowerShell module public tomorrow. I set my alarm for 11pm to flip the switch at 8am CET. It is done! Link to GitHub in the docs: www.milestonepstools.com
Screenshot from the MilestonePSTools home page with the text:

Manage XProtect at ANY scale
Configure. Automate. Report. You decide what is possible on the Open Platform.
Compatible with all supported versions of XProtect.
193
Josh Hendricks | MVP @joshooaj.com · 16/11/2025
I'm combing through an export of my old FB account data for things to upload to my Immich server ( #selfhosted "google photos"). While looking up metadata for a video without accurate timestamps I found the creation time, description, AND the IP address from which it was uploaded. 12 YEARS AGO
Screenshot of a "your_videos.json" file from an export of my Facebook account showing that the IP address from which you upload photos and videos is kept indefinitely. In this case, it shows that the video was uploaded on Sunday, March 17th in 2013 from an IP address owned by TPG in Australia.
050
Josh Hendricks | MVP @joshooaj.com · 08/11/2025
This week I started playing with the new static site generator, @zensical.org, from the folks behind the Material for #MkDocs theme. While it's in alpha now, it's already very functional. You can install it with pip, but dangit, I like containers. hub.docker.com/r/joshooaj/z...
Screenshot of the joshooaj/zensical docker hub overview
010
Josh Hendricks | MVP @joshooaj.com · 06/11/2025
I treated myself to a 49" ultrawide monitor a couple of years ago that I still use daily for work, and I love it, but nobody ever tells you these things are like an Archimedes Heat Ray for your face
High-angle photo of person sitting in front of a Samsung ultrawide monitorArchimedes death ray art from Deviant Art user starcat42

https://www.deviantart.com/starcat42/art/Archimedes-death-ray-268426482
120
Josh Hendricks | MVP @joshooaj.com · 21/10/2025
As someone who has used metrics in the past to identify trends in tech support ops and learned first-hand how it can lead to unintended consequences, I wonder about the incentives driving behavior of ICE agents, the impact on recruits, and whether any of the consequences are unintended at all.
XKCD #2899 (https://xkcd.com/2899/)

Person: When a metric becomes a target, it ceases to be a good metric.

Person with a hat: Sounds bad. Let's offer a bonus to anyone who identifies a metric that has become a target.
130
Josh Hendricks | MVP @joshooaj.com · 20/10/2025
We do some serious work with AI video language models over here.
Screenshot of my doorbell camera showing a frame of video with me holding up a printed photo of two delicious hotdogs. Below you see the camera name, "Doorbell", some timestamps, and the summarization text "Hotdog".Screenshot of my doorbell camera showing a frame of video. You see the front porch, a red car in the background, and the morning sun casting shadows through the deck railings. Below the video frame is the summarization text "No Hotdog".Screenshot of a form with a "Hotdog or No Hotdog" VLM prompt, and a "Generate summarization" button on the left. On the right is a video frame showing my arm holding a printed photo of two hotdogs in front of the camera to test the prompt.
200
Josh Hendricks | MVP @joshooaj.com · 18/10/2025
Today's #nokings protest was the first protest I've attended, and it was a GREAT experience! Very well organized by the volunteers, very positive vibe from participants and tons of positive feedback from passers by.
Photo of me at the No Kings protest in The Dalles assembling before organizers did announcements and safety plan.
100