Josh Hendricks | MVP
banner
joshooaj.com
Josh Hendricks | MVP
@joshooaj.com
A technology problem-solver and Microsoft MVP with an affinity for PowerShell, containers, .NET, and automation. Opinions are my own.

Signal:
@joshooaj.01

Blog:
https://joshooaj.com

GitHub:
https://github.com/joshooaj
Pinned
Hello Bluesky!

I’m a one-eyed Dad, husband, Oregonian, and software engineer. I used to be a licensed skydiver and scuba diver.

These days I’m a principal engineer for Milestone Systems, maintaining the MilestonePSTools #powershell module, and some devops and devx.
Reposted by Josh Hendricks | MVP
Your favorite newsletter is here! PowerShell Weekly for January 30, 2026 is packed with the latest automation gems. Ready to boost your skills?
#PowerShell #Automation #TechNews
psweekly.dowst.dev?p=8579
DOWST.DEV | January 30, 2026
psweekly.dowst.dev
January 30, 2026 at 4:24 PM
Am I the only one who looks at #llm "Agent Skills" and wonders why "documentation" needed a new name?
a man wearing glasses is making a funny face and says `` am i the only one that sees it ! ''
Alt: a man wearing glasses is making a funny face and says `` am i the only one that sees it ! ''
media.tenor.com
January 30, 2026 at 5:24 PM
Reposted by Josh Hendricks | MVP
Build tools are hard to learn, but psake's patterns work across .NET, Node, Docker, and CI/CD pipelines. Learn once, use everywhere.

We just released an Agent Skill to help you level up faster - works in Claude and Copilot.
psake.dev/blog/intro...

#psake #powershell #build
January 30, 2026 at 3:59 PM
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.
January 28, 2026 at 10:54 PM
Reposted by Josh Hendricks | MVP
🚨 CFP NOW OPEN — Chocolatey Fest 2026 🚨

Presented by our Platinum Sponsor, @chocolatey.org

A special Windows automation track at the PowerShell + DevOps Global Summit

Submit your session by February 13th:
👉https://lnkd.in/eagFwZma
January 28, 2026 at 10:35 PM
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.
January 26, 2026 at 8:17 AM
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...
January 17, 2026 at 4:38 AM
Reposted by Josh Hendricks | MVP
I've been keeping a secret.....

CHOCOLATEY FEST IS COMING BACK!!!!!

This is running alongside @powershellsummit.org as a dedicated track.

One ticket. Two events.

More details soon, including a CFP.

Tickets @ powershellsummit.org
January 15, 2026 at 9:44 PM
Reposted by Josh Hendricks | MVP
Thanks to @joshooaj.com for the inspiration, I wrote a blog post about @chocolatey.org's refreshenv command; a super-helpful utility to refresh your PATH post package operation.

Hope you find it useful!

steviecoaster.dev/blog/refresh...

#Chocolatey #PowerShell
Sweet Tip! Automatic PATH refresh with Chocolatey
One of Chocolatey’s little hidden gems is the refreshenv command. When run, this handy helper refreshes your PATH — useful after installing software that adds a command-line tool (git, PuTTY, dotnet, ...
steviecoaster.dev
January 16, 2026 at 1:49 AM
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 😅
January 15, 2026 at 10:44 PM
Reposted by Josh Hendricks | MVP
"The Party told you to reject the evidence of your eyes and ears. It was their final, most essential command."
January 7, 2026 at 1:50 AM
I added a silly ai-generated country song about getting lyrics wrong as a demo song for the ai-generated lyric-syncing app I made yesterday.
SyncSong
Create and edit synced lyrics in LRC format
syncsong.net
January 5, 2026 at 11:41 PM
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
January 5, 2026 at 8:49 AM
Reposted by Josh Hendricks | MVP
It’s a good thing Congress isn’t alive to see this
June 22, 2025 at 12:47 AM
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
January 3, 2026 at 8:25 AM
🎵 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 🙃
January 2, 2026 at 7:09 AM
Reposted by Josh Hendricks | MVP
My #PowerShell Universal cookbook app got an upgrade today. Categories display as chips only if RecipeCount > 0! Also added ability to delete a recipe from its edit modal. Navigation now collapses as well, making use on mobile a much nicer UX. Repo:

github.com/steviecoaste...
January 1, 2026 at 8:37 PM
Okay this has been a lot of fun. I spent the day using vscode with the Claude Opus model to rebuild the Mux Minus site using Django. The audio players now render the waveforms, and everything looks a lot better.
Mux Minus | AI Audio Stem Separation
Separate vocals, drums, bass, guitar, piano and more from any song using AI-powered stem separation.
muxminus.com
January 1, 2026 at 8:48 AM
Check out my latest side quest (aka distraction), 🎚️ Mux Minus! Split a music file into multiple tracks or stems. Great for making a vocal-free track for karaoke.

A while back I was messing with the python-based Facebook Research "demucs" project and I decided to write a web application around it.
Mux Minus - Professional Audio Source Separation
muxminus.com
December 30, 2025 at 2:23 AM
Reposted by Josh Hendricks | MVP
They don’t make a commercial here management software that’s simple enough for my dad to use. Thankfully, I fake it as a developer and know what #PowerShell Universal is, so I wrote him one.

Naturally, it’s open source. (But not yet on the gallery. )

Explore what it can do at:
GitHub - steviecoaster/PowerShellUniversal.Apps.HerdMgr: A herd management app for PowerShell Universal
A herd management app for PowerShell Universal. Contribute to steviecoaster/PowerShellUniversal.Apps.HerdMgr development by creating an account on GitHub.
github.com
December 19, 2025 at 6:42 PM
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.
December 17, 2025 at 11:09 PM
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...
December 16, 2025 at 11:04 PM
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.
December 15, 2025 at 9:16 AM
Reposted by Josh Hendricks | MVP
⭐ New YouTube Video ⭐

You wrote your first Terraform file, but what are all these other files? 🤔 This video breaks down provider versioning, lock files, and the Terraform state file so you understand how Terraform tracks your infrastructure and keeps deployments consistent.
Terraform for Beginners | Providers & State File
Jeff Brown Tech
youtu.be
December 12, 2025 at 4:32 PM
I worked on this a little more today. Made it so the landing page lists all music being played (from a local Navidrome server in my case) and provides a "Copy URL" button for a ready-to-use URL to drop into OBS as a Browser source.

nowplaying.madeye.dev
December 11, 2025 at 7:17 AM