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 · 28/09/2026
Yep, '96 XV535, it's a great little bike! Too small for me and I would want more comfortable pegs for highway riding though. Still a great ride yesterday after not riding for ~14 years!
010
Josh Hendricks | MVP @joshooaj.com · 28/09/2026
Wife* 😬
010
Josh Hendricks | MVP @joshooaj.com · 28/09/2026
Lucky for me this was the best case scenario, wide was in the car 20 min behind me. Home safe and sound 😎
110
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 · 24/09/2026
Oof, yeah definitely not holding a hot-tub up with those old posts 😅
110
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
Actually, 4 terrific things happen: 1. I get an audio book credit. 2. You support your local book store. 3. You DONT support your non-local Amazon (audible) store. 4. You get DRM-free audio books. As in they are 100% well and truly yours to listen to any way you like!
000
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 gave it a dedicated account to avoid giving it any access to my account, but wasn't thinking about the potential for it to harass people with pushy, unwanted tags.
000
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
This only happened because I used yolo mode but I'm still doing a round of hardening on the agent & skills, and possibly adding pre-made scripts for the skills to use for scaffolding or migration so the agent is less likely to accidentally zap files 😅
000
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
And now I'm going to see what it looks like to do the same from Ray Dalio's book Principles. The PARA Method Agent I think I'll get a lot of utility out of as a personal knowledge management agent. I'm not sure yet about Principles but we'll see.
010
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
But while I've been exploring other implementations of the idea, I've noticed a pattern of content creators sharing prompts instead of software, and suggesting that everyone have their agents build their own agent memory and I'm not sure how I feel about the wastefulness of it.
000
Josh Hendricks | MVP @joshooaj.com · 27/07/2026
The implementation I've used the most so far is called Understory and it includes a built-in agent "librarian" and an MCP server as the primary external agent interface. Wire up any/all of the agents you use to the MCP and now they all have shared access to the same knowledge graph.
github.com
GitHub - thecodacus/understory: understory — memory that grows. Self-wiring, plain-markdown memory for AI agents (MCP + local models + a living graph).
understory — memory that grows. Self-wiring, plain-markdown memory for AI agents (MCP + local models + a living graph). - thecodacus/understory
110
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
Nice, sounds cool! I've sort of been doing a "learn to change the oil before driving the car" approach to local LLM stuff and have been taking my time trying to wrap my head around some of the lower level bits. Some of this guys videos have been helpful for me, it's where I learned of turboquant.
youtube.com
Codacus
Stop paying for AI you don't need. Most YouTube AI content is sponsored takes on tools you'll be subscribing to forever. This channel goes the other way. Codacus is about running real AI on hardware...
010
Josh Hendricks | MVP @joshooaj.com · 26/07/2026
I'm using Qwen3.6-35B-A3B-UD-Q3_K_XL.gguf at the moment with turboquant for the kv cache. I wouldn't rely on this for work, but for a little hobby coding it's been fun. The low end hardware forces me to find ways to improve the results through context management and linting/test guardrails.
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 · 12/07/2026
Then I ran into KaiTai Struct and I'm taking a swing at translating the template to their YAML format. The KaiTai CLI will generate parsers for different languages from the YAML so not only does the CLI validate the syntax but it gives me the ability to use the generated parser in any language.
kaitai.io
Kaitai Struct: declarative binary format parsing language
Kaitai Struct is a formal language for binary format specification that can be compiled into parser code
010
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
I don't know tbh, I've never tried to setup auto-accept. It sure didn't need to be solved with copilot though. A simple "if sender is X and available at Y then accept" could be done without involving artificial intelligence 😂
100
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
Josh Hendricks | MVP @joshooaj.com · 09/04/2026
Seems to be a chronic issue with psgallery. I know they're aware of it but not sure what the plan is to resolve it for good.
000
Josh Hendricks | MVP @joshooaj.com · 07/04/2026
You're not alone. It feels strange and wrong to talk about and do normal things while the leaders of this country are doing war crime. It feels like I'm endorsing this shit by living life as if things are normal. I'm disgusted by Congress doing fuck all about this.
010
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
With LibroFM I can just... download my books. I don't know if EVERYTHING is DRM-free but this was. And now it's available in my selfhosted audiobookshelf server and backed up to my NAS & external HDD with all my other books. But you can just use their app too. libro.fm/audiobooks/9...
libro.fm
The ADHD Field Guide for Adults Audiobook on Libro.fm
An Instant National Bestseller! From the social media sensations and mental health advocates Cate Osborn (@Catieosaurus) and Erik Gude (@ErikGude) comes a modern and refreshingly honest guide to manag...
010
Josh Hendricks | MVP @joshooaj.com · 28/03/2026
I have had an Audible account for many years, but I don't like renting access to my books, so I've been using Libation to download and DeDRM my audible purchases. getlibation.com
getlibation.com
Libation
Libation: Liberate your Library - A free application for downloading your Audible audiobooks
100
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 · 27/03/2026
I really dig this, definitely trying it out soon. Thanks!
110
Josh Hendricks | MVP @joshooaj.com · 27/03/2026
Cool! I don't do a lot of python dev but when I use venv there I'm used to creating a .venv/ folder at the root of the workspace/repo (and adding it to .gitignore). It looks like the primary usage pattern here is to create a named env under ~/.pwsh right?
110
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
Josh Hendricks | MVP @joshooaj.com · 21/03/2026
Right there with you. Vegas does nothing for me. They have lots of hotel rooms and event spaces so I get why it's a popular destination for conferences, but I'd like to see planners get more creative.
100
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
Josh Hendricks | MVP @joshooaj.com · 18/03/2026
I have a TMNT powershell shirt 😅
030
Josh Hendricks | MVP @joshooaj.com · 18/03/2026
First year, A. B ever since ✌
001
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 · 15/03/2026
This looks beautiful, nice work!
010
Josh Hendricks | MVP @joshooaj.com · 15/03/2026
Nice! Opinion - AI is to coding like the digital camera was to photography. It makes it easy for anyone to start building great things with little to no prior experience. And just like with photography, the more experience you have, the better the results, no matter what tools you use.
001