Bruce Johnston (Muxw’m Gan’aws)
banner
brucejdragon.bsky.social
Bruce Johnston (Muxw’m Gan’aws)
@brucejdragon.bsky.social
Software engineer @ Microsoft. Gitx̲san on xʷməθkʷəy̓əm, səlilwətaɬ, & Sḵwx̱wú7mesh unceded territory. Opinions are my own. 🌿🌈🌙✨
Pinned
👋 Another platform, another intro.

I’m Bruce, a member of the Gitxsan First Nation and a software engineer at Microsoft.

I’m currently working on a compiler for a highly distributed data-parallel language. Before that, I worked on Azure AI Search for nearly a decade.

1/3
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Can confirm: Pulled 60 Minutes “Inside CECOT” segment on the El Salvador mega prison housing hundreds of Venezuelan deportees sent by the U.S. is on Global TV’s free app
December 22, 2025 at 9:51 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
My cartoon for this week's @newscientist.com
November 26, 2025 at 1:01 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
id Software workers form wall-to-wall union in response to mass Xbox layoffs
id Software workers form wall-to-wall union in response to mass Xbox layoffs
Rip and tear until the contract is done.
www.gamedeveloper.com
December 12, 2025 at 8:22 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Why we need to tax the super rich more.

Their wealth is growing MUCH faster than everyone else's.

And they're using it to outbid you for real resources: housing, assets, healthcare, education and everything else of real value.
December 12, 2025 at 11:32 AM
Tried to add my traditional Gitxsan name on Facebook. Facebook says “Invalid name. Must contain only letters.”

Invalid this, Zuck! 🖕
December 12, 2025 at 8:27 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Because of a risk of flooding, avoid travel in the Fraser Valley unless necessary until the atmospheric river passes and water levels subside. Highway 1 and other provincial roadways could close with little or no notice. Follow DriveBC.ca for the latest info. #BCFlood
December 11, 2025 at 3:52 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Ladies and gentlemen, make sure to keep your elbows firmly up while inside the vehicles bound for a country that's going to use them to illegally kidnap innocent men, women, and children share.google/ANhrgIX5WcIm...
ICE ordering fleet of 20 armoured vehicles from Canadian firm
U.S. Immigration and Customs Enforcement has earmarked millions of dollars for a bulk order for 20 armoured vehicles from Canadian defence manufacturer Roshel that are built to resist bullets and bomb...
share.google
December 3, 2025 at 2:00 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
🎯 Answer: The original Rust compiler from 2010 was written in OCaml! 🐫

OCaml was chosen for its strong type system and pattern matching features. This "bootstrap" compiler was used to create the first self-hosting Rust compiler.
#Programming #PLT
December 3, 2025 at 4:01 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
The real question is not "Why is Bluesky so left-coded," the real question is "Why can't the right exist in a social media environment without algorithmic assistance, where people can ignore them"
December 2, 2025 at 3:08 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Happy You’re Welcome Day!
November 27, 2025 at 8:30 PM
Update: My wrapper compiles… sometimes. I haven’t had this much “fun” interpreting compiler errors since I was doing C++ template meta programming in the early 2000s.

Rant incoming. 1/5
My Fable Koota ECS wrapper finally compiles, is complete enough that I’ve been able to port one of the systems to #fsharp, and the app still works!

I’ve also learned way more about the TypeScript type system than I ever wanted to! 😅
Context: I'm writing custom bindings for a TypeScript library (koota) that went a bit overboard on the advanced features of TypeScript's type system, so Glutinum can't really comprehend it.

I'm not sure which thing I'd rather maintain -- my own ECS, or this wrapper (assuming it ever compiles). 2/2
November 25, 2025 at 5:18 PM
My Fable Koota ECS wrapper finally compiles, is complete enough that I’ve been able to port one of the systems to #fsharp, and the app still works!

I’ve also learned way more about the TypeScript type system than I ever wanted to! 😅
Context: I'm writing custom bindings for a TypeScript library (koota) that went a bit overboard on the advanced features of TypeScript's type system, so Glutinum can't really comprehend it.

I'm not sure which thing I'd rather maintain -- my own ECS, or this wrapper (assuming it ever compiles). 2/2
November 22, 2025 at 5:51 AM
To use an analogy from my day job, why hire an army of SREs to handle live-site incidents when you could fix the bugs that caused them in the first place?

I’d call policy decisions like this the result of brain rot if I didn’t also think they were the result of the greed inherent in our system.
Let’s just say Ken Sim didn’t get my vote last time, and he’s not getting my vote next time either.
As we continue to discuss police resources, I keep thinking about what happened on my street this past summer.
(Police say man arrested was sitting inside car reportedly stolen.)
November 18, 2025 at 8:26 PM
Let’s just say Ken Sim didn’t get my vote last time, and he’s not getting my vote next time either.
As we continue to discuss police resources, I keep thinking about what happened on my street this past summer.
(Police say man arrested was sitting inside car reportedly stolen.)
November 18, 2025 at 8:18 PM
TIL that empty #fsharp interfaces don't do what you think they do when compiling to TypeScript with Fable. TypeScript uses structural typing, so empty interfaces match with just about anything. If not a bug, this is definitely a violation of the Principle of Least Surprise. 1/2
November 18, 2025 at 4:10 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Trying to measure coding productivity is, and always will be, a fool's errand.

Why? Because I can go for a walk then take a shower and have an idea, then write a single line of code that fixes everything I was working on.

Immense productivity, but by most metrics I didn't do anything at all.
November 16, 2025 at 4:10 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
“We adopted #rustlang for its security and are seeing a 1000x reduction in memory safety vulnerability density ... with Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one.”

security.googleblog.com/2025/11/rust...
Rust in Android: move fast and fix things
Posted by Jeff Vander Stoep, Android Last year, we wrote about why a memory safety strategy that focuses on vulnerability prevention in ...
security.googleblog.com
November 13, 2025 at 7:52 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
The most common things engineering leaders think will make dev teams go faster actually have the opposite effect.

codemanship.wordpress.com/2025/11/13/t...
The Seven Deadly Sins of “Go Faster”
Things that will make your dev team take longer to deliver worse software:1. Adding more people to the team2. Making them work longer hours3. Cutting down on work that “slows them down”…
codemanship.wordpress.com
November 13, 2025 at 6:42 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Mark Carney is about to announce more of his “elbows up” major projects.

But under the surface, one that’s being sold as an Indigenous-led LNG project is actually — spoiler — American as hell.

That’s not even the worst part!

@emilylowan.bsky.social joined me to discuss:
November 13, 2025 at 12:12 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
CBC once again called the Ksi Lisims LNG project “Indigenous-led” on the National last night, despite the fact that it’s 100% American-owned by a Texas shell company, Western LNG.

Yikes!!!!!

Anyway, here’s a very funny video that breaks this down: youtu.be/Lt6Hmp9ndkI?...
Honest Government Ad | Watch out, Canada
YouTube video by thejuicemedia
youtu.be
November 12, 2025 at 4:33 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Shader systems are ridiculously powerful if you’re clever enough. 



Most people use them to create visual effects. You know what’s cooler?

Running Linux.

Inside an emulated RISC-V CPU. Inside a pixel shader. Inside of VRChat...
November 10, 2025 at 9:44 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
“Our soldiers fought for the shared values of freedom and democratic rights for all. However, these soldiers returned from the war and quickly realized those freedoms and rights did not equally apply to them as they did their non-native comrades.”

#IndigenousVeteransDay

Lest We Forget
A reflection on First Nations contributions to WW I and WW II | CBC News
Our soldiers fought for the shared values of freedom and democratic rights for all, but these soldiers returned from the war and quickly realized those freedoms and rights did not equally apply to the...
www.cbc.ca
November 8, 2025 at 4:42 PM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
Hi #fsharp we *might* consider changing a default in Fantomas: github.com/fsprojects/f...
Please let us know what you think.
[Poll] Consider changing the default of fsharp_multiline_bracket_style · Issue #3200 · fsprojects/fantomas
Hello everyone, I recently had a conversation about how Fantomas formats records by default (fsharp_multiline_bracket_style = cramped). There’s a configuration setting for this: fsharp_multiline_br...
github.com
November 8, 2025 at 10:37 AM
Reposted by Bruce Johnston (Muxw’m Gan’aws)
The lesson of history is that tyrants cannot be appeased.

Appeasement only feeds their insatiable hunger for power.

Tyrants prey on people who feel unsafe and vulnerable.

But without mass submission, a tyrant is powerless.

Remember this.
November 5, 2025 at 5:28 AM
Another Half-life Histories topic for @khill.bsky.social ?
The reason we know Radiation causes bit-flips in DRAM is pretty hilarious.


In the late 70s, Intel Ram was occasionally producing soft, uncorrectable errors.


Turns out, the ceramic packaging on the chip itself had a little bit of Uranium.

You know, as one does.
November 3, 2025 at 8:56 PM