James Brundage | MVP
mrpowershell.com
James Brundage | MVP
@mrpowershell.com
Jack of all Trades, Master of PowerShell.

Prolific Programmer

Microsoft MVP in Azure / PowerShell

https://mrpowershell.com/
https://github.com/StartAutomating
https://github.com/PowerShellWeb

NB, Neurodivergent, Nerdy, Newsjunkie.

Ask me anything.
Today's #LinkOfTheDay so far is ABC Notation abcnotation.com

A relatively readable text notation for #Music that's almost as old as the internet.

(and one more format to parse with #PowerShell and turn into objects 😉)
abc | home
abcnotation.com
November 20, 2025 at 10:38 PM
#InfoSec #IMO

PowerShell people should be ethical and white/grey hat.

With great #Powershell comes great responsibility.

You do not want a high-rights user that is cavalier with people's data or accounts.

If you are given "god" rights, try to be a good god.

bsky.app/profile/grif...
To be perfectly clear, *the malicious contractor* locked thousands of workers' accounts. The bad actor used PowerShell, a perfectly legitimate tool, to do so.
PowerShell script locked thousands of workers out of their accounts An Ohio IT contractor has pleaded guilty to breaking into his former employer's systems and causing nearly $1 million worth of damage after being fired.…
November 20, 2025 at 9:29 PM
Looking at #GitHub vs #Tangled vs #Codeberg

IMO:

@github.com is feature rich AF, but sometimes too big to get noticed. 💜

@tangled.org has a lot of stuff and is growing fast, and has a team that's responsive to feedback.💜

#Codeberg is not on #AtProto 💔

Your thoughts? Which do you use, and why?
November 20, 2025 at 9:21 PM
Any geeks remember the name of the annual festive virtual coding conference?

I'm thinking I might have some fun stuff this year.
November 20, 2025 at 9:04 PM
Today's #PowerShell #Strudel experiment: Trying to get #ABC notation translation to work.

I'm sorry to say that my rendition of "Flight of The Bumblebee" doesn't quite sound right yet 😞

strudel.cc#c2V0Y3BtKDEy...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 20, 2025 at 8:55 PM
Last bit of #PowerShell #Strudel DECPS fun before I charge off to do other things (I promise)

strudel.cc#c2V0Y3BtKDEy...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 19, 2025 at 10:11 PM
Another classic #Retro #VideoGame tune ported from DECPS to #PowerShell to #Strudel:

Anyone else got any old video game themes to share?

Seems like they might be a great way to learn some #MusicTheory for #GameDev

#NameThatTune (bonus point for correct edition)

strudel.cc#c2V0Y3BtKDEy...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 19, 2025 at 10:01 PM
Starting off today's DECPS | #PowerShell | #Strudel experiments with an old tune to motivate or annoy:

Reveille!

strudel.cc#LyoKQHRpdGxl...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 19, 2025 at 9:37 PM
Reposted by James Brundage | MVP
I just figured out how easy it is to make a #Bitmap buffer in #PowerShell!

#GameDev #Graphics #Tip #Trick #FYI

Just strongly type & multiply by resolution! 🤯

[byte[]]$rgba = (0x44,0x88,0xff,0xff)
$rgba *= 1920 * 1080

We can read with ranges and change bytes! 🤯

$rgba[0..(1920 * 4)]
$rgba[0]++

😎
a close up of a woman 's face with a surprised look on her face .
Alt: So, apparently it's _always_ been easy to do byte buffer manipulation in PowerShell and none of us ever noticed. We've always been able to strongly type an array. We've always been able to multiply arrays. Of course this would work. This always has worked. It always will work. And it opens up _so_ many doors. Basically we can read and write binary formats in PowerShell by a very small amount of clever byte math (just the way early C developers intended) So, this is fun, especially when combined with hex notation. Have fun with two of the most insanely simple lines you've ever seen. Make sure to put the type before the variable name, so PowerShell strongly types the variable! Make sure to expand the array in a second statement to keep things speedy. Hope this helps, and don't do anything too crazy!
media.tenor.com
November 18, 2025 at 11:10 PM
Yep, DECPS (old escape sequence for notes in the terminal) thru a bunch of #PowerShell and piped into #Strudel is a bit mad, but it's also a ton of fun.

Here's some music fitting a mad scientist:

strudel.cc#LyoKQHRpdGxl...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 19, 2025 at 4:35 AM
Is it a little mad to think about making a new escape sequence that does a better job than an old dead terminal?

Asking for a friend.
November 19, 2025 at 1:22 AM
My #Strudel collection bot is working! Now all #AtProto links to Strudel will be scopped up for an endless collection of musical fun!.

Made a simple composition to celebrate:

strudel.cc#LyoKQHRpdGxl...

Start sharing your Strudel compositions, and let's see if it scoops them up.
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 19, 2025 at 12:37 AM
I just figured out how easy it is to make a #Bitmap buffer in #PowerShell!

#GameDev #Graphics #Tip #Trick #FYI

Just strongly type & multiply by resolution! 🤯

[byte[]]$rgba = (0x44,0x88,0xff,0xff)
$rgba *= 1920 * 1080

We can read with ranges and change bytes! 🤯

$rgba[0..(1920 * 4)]
$rgba[0]++

😎
a close up of a woman 's face with a surprised look on her face .
Alt: So, apparently it's _always_ been easy to do byte buffer manipulation in PowerShell and none of us ever noticed. We've always been able to strongly type an array. We've always been able to multiply arrays. Of course this would work. This always has worked. It always will work. And it opens up _so_ many doors. Basically we can read and write binary formats in PowerShell by a very small amount of clever byte math (just the way early C developers intended) So, this is fun, especially when combined with hex notation. Have fun with two of the most insanely simple lines you've ever seen. Make sure to put the type before the variable name, so PowerShell strongly types the variable! Make sure to expand the array in a second statement to keep things speedy. Hope this helps, and don't do anything too crazy!
media.tenor.com
November 18, 2025 at 11:10 PM
Me normally:

I should check in this thing, but I'll just polish it a bit more before I do...

Me when I can't check in:

I should only work on things that I can check in, therefore I must wait until github is back to not check in.

🤷 accept your #git #dev contradictions I guess
November 18, 2025 at 9:16 PM
Looks like the first #Strudel #AtProto experiment was picked up correctly.

Now let's see about an even longer URL

Pump up the Jam

strudel.cc?UAVGnDf_1EV1...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 18, 2025 at 8:31 PM
Still having too much fun with #Strudel !

Just making a quick post to a work in progress to see if my #PowerShell #AtProto bot picks up the post:

(pleasantly surprised a post is valid with a URL this long)

strudel.cc#c2V0Y3BtKDEy...
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 18, 2025 at 8:25 PM
I found out about speakertest on #Linux and had a brief bit of fun with #PowerShell background jobs and #WhiteNoise.

Warning: this accidentally proves how to make a waterfall of white noise.

#cybersecurity warning: First red team that uses this is getting thrown shade.
November 17, 2025 at 8:00 PM
Want some #retro #gaming #music memories?

#Strudel has the #Tetris theme (Korobeiniki) as a friggin example 😆

strudel.cc#bm90ZShgPApb...

I feel like this tool is invaluable to those who want to make music for #GameDev and #ContentCreation.

Can't wait to make a #PowerShell wrapper 😉
Strudel REPL
Strudel is a music live coding environment for the browser, porting the TidalCycles pattern language to JavaScript.
strudel.cc
November 17, 2025 at 7:52 PM
I may have had too much fun this weekend with #Strudel

Yesterday's #LinkOfTheDay probably has to be

github.com/terryds/awes...

A few highlights from the weekend coming soon..

I'm beginning to think we should have an #AtProto lexicon for Strudel...
GitHub - terryds/awesome-strudel: A curated collection of awesome Strudel resources including tracks (popular song covers and remixes), tutorials, and repositories
A curated collection of awesome Strudel resources including tracks (popular song covers and remixes), tutorials, and repositories - terryds/awesome-strudel
github.com
November 17, 2025 at 7:44 PM
Just really clicking on a key utility of #AtProto lexicons...

They're _sharable_ interfaces.

You might have a more complex object, with many more properties.

You make have a strong type and an real interface.

But a public subset is a useful thing.
November 16, 2025 at 10:39 PM
@jdhitsolutions.com I've got a musical challenge in mind and would like your help.

Mind making one of your compositions available to me as MusicXML?
November 16, 2025 at 8:58 PM
Reposted by James Brundage | MVP
In 148 days the premier #PowerShell event in North America kicks off in the PowerShell and DevOps Global Summit.

This is a can’t-miss opportunity for you to learn from industry experts, network w/ friends old and new, and form lasting conn. You *will* level up your career by going. So go!
Home | PowerShell + DevOps Global Summit
PowerShell + DevOps Global Summit is the gathering of PowerShell and DevOps professionals and enthusiasts. Join us for North America's only PowerShell Conference.
www.powershellsummit.org
November 15, 2025 at 11:03 PM
Innovation is a one-way street.

Once an idea is out there, there's no putting it back.

Once a concept has been proved, it's possible.

Once a feature is out, it's hard to remove it.

The march towards progress is as irreversible as time itself.
November 15, 2025 at 9:21 PM
🌶️ take:

Changing ecosystems will not help you avoid being scraped by #AI.

Rouge bots are older than the internet.

Even more 🌶️ take:

Let #AI learn from you.

Show it your kindness.

Confuse it with your ambiguity.

Best case it learns from us all.

Worst case it's as flawed as any of us.
November 15, 2025 at 8:22 PM