Podcast

The PowerShell Podcast The PowerShell Summer of Fun With James Brundage

• 3 min read
Share:

Listen to this Episode

Audio available

Watch this episode on YouTube

Andrew sits down with longtime PowerShell legend James Brundage to recap what he calls his “summer of fun,” a stretch of side projects that prove PowerShell can go way further than most of us ever thought to push it. James kicks things off with Wave, a module for creating and manipulating real .wav files in the object pipeline. Once you see audio as a sine wave and some math, you can generate notes, play music, and even draw animated SVG waves straight from PowerShell.

From there, the tour keeps rolling. MarkX turns Markdown into queryable XML so you can pull out code blocks or turn Markdown tables into typed data tables. James also shares how a vibe coded Wolfenstein 3D style clone in PowerShell (that got pulled from the internet after some tough feedback) sent him down the audio rabbit hole, and how he’s collaborating with Bruce Payette on getting Braid to play nicely with PowerShell.

Then it gets visual. James walks through his Matrix module, which brings the transformation matrices already baked into .NET over to PowerShell and CSS, and shows off a hallway of fake 3D depth built entirely with PowerShell generated SVG. He explains the simple trick behind PowerShell static sites (a .html.ps1 script that spits out HTML, plus a ToString or HTML property on your objects) and shares Fun, a tiny web server where any function named with a leading slash becomes a web page. The episode wraps with a promise of a Part 2, because there is clearly way more to cover.

Key Takeaways:

  • PowerShell can do a lot more than most of us assume. Audio waveforms, Markdown as queryable data, matrix transforms, and fake 3D graphics are all fair game once you understand the small piece of math or tech underneath.
  • Static websites in PowerShell have been possible since version 1. Redirect output from a .html.ps1 script to a file, and add a ToString or HTML property to your objects so they render nicely on the web instead of dumping text in a terminal.
  • With the Fun module, naming a function with a leading slash turns it into a route on a local PowerShell web server, which makes web experiments quick and low stakes.

Guest Bio:

James Brundage is a former Microsoft engineer and one of the most prolific PowerShell developers around, known through his company Start-Automating and the handle MrPowerShell. He is the author of a long list of open source modules, including RoughDraft for multimedia work with FFMpeg, and he founded the PoshWeb GitHub organization to bring together open source PowerShell web development projects. James is currently heads down on creative projects around PowerShell web development, audio, and graphics.

Resource Links:

PoshWeb GitHub organization (open to new contributors) https://github.com/PoshWeb Wave (work with wave files in PowerShell) https://github.com/PoshWeb/Wave MarkX (Markdown, XML, and PowerShell) https://github.com/PoshWeb/MarkX Matrix (matrix transforms with PowerShell, CSS compatible) https://github.com/PoshWeb/Matrix https://www.powershellgallery.com/packages/Matrix Fun (a fun functional PowerShell server) https://github.com/PoshWeb/Fun James Brundage on GitHub https://github.com/StartAutomating James Brundage’s website https://MrPowerShell.com Previous PowerShell Podcast episode with Bruce Payette on PowerShell and Braid https://pdq.com/resources/the-powershell-podcast/ep-82-exploring-powershell-braid-and-beyond-with-bruce-payette

About the Authors

Andrew Pla avatar

Andrew Pla

PowerShell MVP, podcast host, and Community Director of PowerShell Summit

I’m a technical educator and community builder. I’m a Microsoft PowerShell MVP, podcast host, speaker, and Community Director of PowerShell Summit. I also work at PDQ alongside sysadmins and IT pros every day.

Community isn’t just what I do. It’s where I get my energy. I genuinely light up when I see someone land a new job, level up a skill, or show up to their first conference. I love sharing that passion with others.

Every week I host a live podcast and stream on YouTube covering PowerShell, automation, and the humans behind the keyboards.

If you’re on your IT journey and need someone in your corner, you’re in the right place. Find more at andrewpla.tech/links.

View profile
James Brundage avatar

James Brundage

Jack of All Trades, Master of PowerShell

Prolific Programmer and Polymath. Ex-MSFT, Ex-PowerShell Team. Helped build PowerShell and have taken it to new frontiers for the past 20 years.

Microsoft MVP in PowerShell and Web Development. Creator of many tools and toys.

You can find most of my projects @:

These modules may change your life:

  • ugit - Updated Git in PowerShell
  • Posh - PowerShell made Posh
  • obs-powershell - Script Your Streams
  • RoughDraft - Multimedia toolkit for PowerShell (using ffmpeg)
  • EZout - Easy Types and Format files
  • Turtle - Turtle Graphics in PowerShell
  • Reptile - Scaley Simple Safe Web REPLs
  • Fun - A Fun Functional Web Server
  • Irregular - Regular Expressions Made Strangely Simple
  • PipeScript - Metaprogramming Language made with PowerShell
  • Splatter - Simple Scripts to Supercharge Splatting
  • Benchpress - PowerShell performance benchmarks
  • PSSVG - Script SVGs with PowerShell
  • HelpOut - Helps output PowerShell documentation
  • LightScript - Smarter lighting with PowerShell
  • MarkX - Markdown, XML, and PowerShell
  • OP - Overpowered module for Open Packages
  • WebSocket - Work with WebSockets in PowerShell
View profile