Sign in

Josh Hendricks | MVP

@joshooaj.com
510 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
Reposted by Josh Hendricks | MVP
Stephen Valdinger (aka steviecoaster) @steviecoaster.dev · 21/09/2026
This is a really great update!! I’ve been looking forward to these features for a long time.
011
Josh Hendricks | MVP @joshooaj.com · 20/09/2026
Hey, so I generally hate to shill for anything, but I want a free audiobook credit and if you sign up for a subscription with @libro.fm through this link, two equally terrific things happen: 1. I get a free audio book credit. 2. You somehow actually support your local book store.
libro.fm
Buy audiobooks & support local bookstores
Libro.fm makes it possible for you to buy audiobooks directly through local bookstores.
101
Reposted by Josh Hendricks | MVP
Oh My Posh @ohmyposh.dev · 05/09/2026
Oh My Posh is now part of Project Zenith, the new ready-to-code Windows experience for developers. A beautiful terminal, right out of the box.
1234
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 · 27/07/2026
I've been using an LLM memory / wiki tool built around the principles Karpathy shares here where you use the OKF markdown bundle structure as the substrate for a knowledge graph, and then expose very simple query/update/add methods for creating and maintaining that graph.
gist.github.com
llm-wiki
llm-wiki. GitHub Gist: instantly share code, notes, and snippets.
110
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 · 12/07/2026
I discovered the joy and pain of 010 Editor Templates while working on parsing XProtect media database BLK files and just about have a general purpose template for video & audio BLK files. But I really don't care for the proprietary syntax that lacks a CLI tool that works on a headless terminal.
sweetscape.com
010 Editor Manual - Introduction to Templates and Scripts
110
Reposted by Josh Hendricks | MVP
Zensical @zensical.org · 19/06/2026
Zensical Studio v0.1.1 just dropped, and it brings a wide range of improvements for highlighting! Update your VS Code extension, or enable auto-update to immediately benefit from future improvements. github.com/zensical/stu...
github.com
Release 0.1.1 · zensical/studio
Summary This version significantly improves Python Markdown highlighting in Visual Studio Code. It adds support for emphasis, strong emphasis, and mixed emphasis nesting, while fixing a broad range...
084
Reposted by Josh Hendricks | MVP
PSHSummit @powershellsummit.org · 15/06/2026
Does anyone use that parameter set? Which PowerShell versions are your users on? @joshooaj.com shows how App Insights telemetry answers it—done responsibly. Live: www.youtube.com/watch?v=DPaF... #PSHSummit #PowerShell #Azure
youtube.com
Intro to Telemetry: How to use App Insights in PowerShell by Josh Hendricks
Adding telemetry to your scripts and modules using Application Insi...
031
Josh Hendricks | MVP @joshooaj.com · 06/05/2026
Glad to see #oshkosh city council and PD listening to their constituents and cancelling the Flock license plate camera service renewal. public.destinyhosted.com/agenda_publi...
public.destinyhosted.com
Agenda - View Meetings (All)
000
Reposted by Josh Hendricks | MVP
Jessica Price @delafina777.bsky.social · 04/05/2026
Hey so if you’re a man with an XX partner or child that you care about, I need you to read this thread because shit is not going to change unless cis men start not being okay with this stuff.
361417713
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
Reposted by Josh Hendricks | MVP
mdgrs @mdgrs.bsky.social · 03/04/2026
Someone copied my GliderUI repo and rewrote the README. It leads the users to download a zip file and run a suspicious exe. It's really sad to see this. Already reported but not sure if any action is taken. Be careful, mine is mdgrs-mei/GliderUI and it's available on the PowerShell gallery.
2117
Reposted by Josh Hendricks | MVP
Technology Connections @techconnectify.bsky.social · 29/03/2026
mild take: we're watching silicon valley get very excited about their tools in the same way a guy with a huge wall of ryobi stuff thinks his collection is more important than what he does with the tools
631745138
Josh Hendricks | MVP @joshooaj.com · 28/03/2026
If you like audio #books, but don't want to support #Audible, I only just learned about @libro.fm. A portion of your purchases go to the local bookseller you designate, and you can download your books without DRM ❤ libro.fm/referral?rf_...
libro.fm
Buy audiobooks & support local bookstores
Libro.fm makes it possible for you to buy audiobooks directly through local bookstores.
122
Reposted by Josh Hendricks | MVP
Zensical @zensical.org · 28/03/2026
Zensical 0.0.30 adds a new floating table of contents menu on mobile/tablet, and ships support for our fork of "mike" – a tool that enables you to deploy multiple versions of your documentation to GH Pages. Checkout the 0.0.30 release notes: github.com/zensical/zen...
062
Reposted by Josh Hendricks | MVP
Marc-André Moreau @awakecoding.com · 11/03/2026
multi-pwsh 0.7.0 is out with initial #PowerShell virtual environment (venv) support, through runtime hooking of PowerShell, PowerShellGet and PSResourceGet! Try it out now, let me know what you think 👇 github.com/Devolutions/...
274
Josh Hendricks | MVP @joshooaj.com · 26/03/2026
Sometimes I wish password fields had a "close enough" feature. Something like... "You clearly know what your password is. The probability of being THAT close on the first try and NOT knowing it is astronomical. You may pass." (yeah yeah hashing makes this impossible and that's a good thing)
000
Reposted by Josh Hendricks | MVP
PSHSummit @powershellsummit.org · 19/03/2026
🚨 This conference will sell out. 🚨 And when it does… the only thing left is “I’ll go next year.” So the real question is… 👀 Are you going, or watching everyone else post about it?
powershellsummit.org
Tickets | PowerShell + DevOps Global Summit
Register for the PowerShell + DevOps Global Summit. Choose from General Admission or the On-Ramp program for beginners.
043
Reposted by Josh Hendricks | MVP
mdgrs @mdgrs.bsky.social · 15/03/2026
I decided to rename my module. Now it's called "GliderUI": github.com/mdgrs-mei/Gl... Cross-platform desktop GUI framework for #PowerShell built using Avalonia. - Runs on Windows, macOS and Linux - You can build GUIs by code or XAML - No more freezing GUIs
github.com
GitHub - mdgrs-mei/GliderUI: Cross-platform Desktop GUI framework for PowerShell powered by Avalonia
Cross-platform Desktop GUI framework for PowerShell powered by Avalonia - mdgrs-mei/GliderUI
3318
Josh Hendricks | MVP @joshooaj.com · 14/03/2026
Kia's Lane Keep Assist feature has this funny rule where if it can't detect your hands on the wheel it will eventually just turn off. They don't want people using it for "autopilot". I get that. But is shutting off the only thing keeping the car on the road the right move?
100
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
Reposted by Josh Hendricks | MVP
PSHSummit @powershellsummit.org · 05/03/2026
Early bird tickets available — but not forever. 🎟️ Lock in your spot at the PowerShell + DevOps Global Summit before prices go up. ☑️ Full conference access, meals daily, and expert sessions included. Register at the link below. ⬇️ 🔗 www.powershellsummit.org/tickets/ #PSHSUMMIT26
powershellsummit.org
Tickets | PowerShell + DevOps Global Summit
Register for the PowerShell + DevOps Global Summit. Choose from General Admission or the On-Ramp program for beginners.
023
Josh Hendricks | MVP @joshooaj.com · 03/03/2026
People keep personifying LLMs like ChatGPT and Claude, and I find myself imagining these models are like Bob in the "We Are Legion (We Are Bob)" book / Bobiverse series. Not sure if coincidence but also Robert (Bob) Daly in Black Mirror USS Callister episodes has digital clone enslaved in game.
000
Reposted by Josh Hendricks | MVP
Mike Kanakos [MVP] @mikekanakos.bsky.social · 01/03/2026
Join me online this Wednesday to learn how to stop drowning in log files and start extracting answers — this beginner-friendly session covers the essential PowerShell cmdlets for searching, filtering, and making sense of text and CSV logs. #PowerShell www.meetup.com/research-tri...
meetup.com
Log Parsing w PowerShell: A Beginner's Guide, Wed, Mar 4, 2026, 8:00 PM | Meetup
Learn how to stop drowning in log files and start extracting answers — this beginner-friendly session covers the essential PowerShell cmdlets for searching, filtering, and
196
Reposted by Josh Hendricks | MVP
PowerShell UserGroup InnSalzach Germany @psuginnsalzach.bsky.social · 25/02/2026
BlueSky: 🧑‍💻 PowerShell Meetup – Online on 12th March Join the Inn-Salzach PowerShell User Group Thursday, 12th March at 7:00 PM German Time 🕴️Andreas Bellstedt 📍 Where? Online, on Gather 🗓️ When? Thursday 12th March – 7:00 PM German Time 🔗 Registration: www.meetup.com/de-de/powers...
meetup.com
PowerShell UserGroup InnSalzach Meeting – 12th March 2026, Do., 12. März 2026, 19:00 | Meetup
Join us for an exciting PowerShell UserGroup InnSalzach session where we dive into the art of scripting! **Topic:** How much vibe is the coding **Speaker:** Andreas Bellste
032
Reposted by Josh Hendricks | MVP
PSHSummit @powershellsummit.org · 24/02/2026
Behind every great community are people who show up, serve, teach, and lead. 🙌 👥 The PowerShell Community Award nominations are open — and we want to celebrate those making a real impact. Nominate them. Honor them. 🎖️ Because community deserves recognition. survey.sogolytics.com/survey/form?...
099
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 · 20/02/2026
Thank you. I've been saying the same thing, just not as loudly lol... Filling your repo with markdown files with detailed instructions for all the things you want your coding agent to do well is exactly the kind of thing we should have been doing to ensure human developers could code well all along
121
Josh Hendricks | MVP @joshooaj.com · 13/02/2026
I just rediscovered a little #powershell module I wrote a few years ago. I originally wrote it for reading/writing from interactive processes like netsh but it comes in handy for kicking off installers and streaming their stdout too.
joshooaj.com
Welcome
Documentation for the BGProcess PowerShell module.
140
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 · 08/02/2026
Without naming your job, tell me something you say over and over again in professional contexts: "Actually yeah, there's a command in the module for that! Here's the docs page with examples, let me know if you have any questions!"
001
Josh Hendricks | MVP @joshooaj.com · 07/02/2026
Ever struggled with DllNotFoundException errors in #powershell? I had this problem in a #csharp module and solved it with a p/invoke call to SetDllDirectory. Saw a post in /r/PowerShell where the native assemblies used by Mime couldn't be loaded and wrote this. Works in PowerShell 5.1 and 7+.
gist.github.com
Easily call the SetDllDirectory Win32 API function from PowerShell
Easily call the SetDllDirectory Win32 API function from PowerShell - DllDirectoryManager.psm1
271
Josh Hendricks | MVP @joshooaj.com · 07/02/2026
Anyone else's "WiFi down" this morning? My daughter was interrogating me the moment I woke up this morning. I have three sync'd piholes and they all use cloudflared to proxy DNS requests for DoH. Turns out I missed the memo about the impending removal of the proxy-dns command last year.
developers.cloudflare.com
cloudflared proxy-dns command will be removed starting February 2, 2026
To address a vulnerability in an underlying library, the `cloudflared proxy-dns` command will be removed from new `cloudflared` releases. Users are advised to migrate to the Cloudflare WARP client or ...
110
Josh Hendricks | MVP @joshooaj.com · 31/01/2026
I'm gonna need every Technology Connections video from now on to include a call to #abolishice until it happens 🤘
011
Reposted by Josh Hendricks | MVP
Allison Gill @muellershewrote.com · 31/01/2026
THEY DID IT. EVERY SENATE DEMOCRAT just voted on an amendment to DEFUND ICE (rescind the BBB slush fund that keeps ICE open during a shutdown.) This amendment failed, but it shows broad support! KEEP CALLING and make it a demand to vote for the DHS funding bill!!
209101032941
Reposted by Josh Hendricks | MVP
PSConfEU @psconf.eu · 30/01/2026
@allwayshype.com will be on stage for #PSConfEU 2026 in #Wiesbaden (1-4 June)! 🎙️ From ConfigMgr to Manager of Configs 🎙️ IntuneStack - a CI/CD PowerShell workflow for managing Intune policy 🎟️ Tickets: psconf.eu #automation #IT #PowerShell #Conference #Europe #Germany
0126
Reposted by Josh Hendricks | MVP
Matthew Dowst @mdowst.dowst.dev · 30/01/2026
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
psweekly.dowst.dev
DOWST.DEV | January 30, 2026
043
Josh Hendricks | MVP @joshooaj.com · 30/01/2026
Am I the only one who looks at #llm "Agent Skills" and wonders why "documentation" needed a new name?
media.tenor.com
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 ! ''
011
Reposted by Josh Hendricks | MVP
Gilbert Sanchez (💻 HeyItsGilbert) @gilbertsanchez.com · 30/01/2026
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
021
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
Reposted by Josh Hendricks | MVP
PSHSummit @powershellsummit.org · 28/01/2026
🚨 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
053
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
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
Reposted by Josh Hendricks | MVP
Stephen Valdinger (aka steviecoaster) @steviecoaster.dev · 15/01/2026
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
Chocolatey Fest 2026 logo
042
Reposted by Josh Hendricks | MVP
Stephen Valdinger (aka steviecoaster) @steviecoaster.dev · 16/01/2026
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
steviecoaster.dev
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, ...
043