Kamran Ayub
banner
kamranicus.com
Kamran Ayub
@kamranicus.com
🎙️ Podcast Host @typescript.fm
👾 Creator: KeepTrackOfMyGames.com
🎥 Pluralsight Author: bit.ly/KamranOnPluralsight
💸 Money Talks: kamranicus.com/money

Corporate quitter bringing back summers off 🌞
Now with a little prompting, you can have Copilot figure this out for you 🤘
November 13, 2025 at 3:32 PM
Got it! Updated the gist. The original method I used is still a good option if you don't have Docker installed or don't/can't switch to Linux containers/WSL2.
November 13, 2025 at 3:20 PM
HAH, ChatGPT was able to help write a PowerShell script (that it first wrote in Python to test) and now I get what I want 😍

I can share the Gist for it, super handy!
November 13, 2025 at 6:23 AM
you don't want to be on my list.
November 6, 2025 at 11:55 PM
People talk about LLM non-deterministic behavior like it's a bad thing when it comes to MCP. But... we've always had to deal with non-deterministic behavior from users. Have you ever done a usability test? Human users are WILD. We adjust UX to accommodate. Same with MCP servers cuz LLM is now a user
October 31, 2025 at 4:19 AM
always
October 29, 2025 at 4:45 PM
@riversidefm.bsky.social did something happen, the editor feels a lot faster (like, a LOT faster) this week

Did you turn on the React Compiler or something? 👀
October 29, 2025 at 2:30 AM
The AI Crawler analytics are dope. It's interesting to see Search and Assistant metrics too; actually helpful to understand how people are learning about KTOMG through AI tools.
October 27, 2025 at 5:26 AM
This is hilarious and a good feature. I'll have to test it out. I don't exactly mind bots consuming my game detail/release pages but that's about it. I separately plan to optimize anonymous pages like that for SEO anyway, so I don't want to block them from crawlers.
October 27, 2025 at 5:02 AM
Also, I will add the documentation states this would work on Pro, which I'm on:

support.claude.com/en/articles/...

There's nothing here that says Client ID is restricted to Teams/Enterprise only.
October 25, 2025 at 10:15 PM
Gotta say this is huge bummer @anthropic.com; why is this limited to Teams/Enterprise? It means I can't demo/test a remote MCP server without DCR. I can't sign up for a 5 member team plan when there's a team of 1. 🫠 I mean I guess I can make 4 more email addresses 🤷‍♂️ Also it's not clear *what* plan.
October 25, 2025 at 9:49 PM
Rough itinerary. I noticed from Halix proper it's quite a ways to NB parks. So might try to see if a stay in NB makes sense. We already had initially planned to stay in Moncton. But we'd LIKE to keep it to 3 stays.
October 25, 2025 at 3:42 AM
How the pros compare travel logistics lol. Honestly flying to Montreal might almost be cheaper, depending on price difference!
October 24, 2025 at 5:16 AM
Budget looks exactly the same (aren't they owned by the same company?). The site states you can do it, but trying the airport-to-airport from US to CA just says the same thing -- "limited availibility, try again". I don't know if there's a magic pickup/destination that work.
October 22, 2025 at 2:06 PM
Hardware that still works 30 years later. 🤯 Have to play Zombies Ate My Neighbors for Halloween 🎃

I think I'll still need to get a AV cable at the local retro store but RF works for now.
October 18, 2025 at 11:48 PM
Like when did these come along, never seen before lol
October 8, 2025 at 8:25 PM
And yes, type defs work great! It even supports some limited JSDoc.
October 6, 2025 at 4:25 PM
The DX is smooth now. It's the same code in dev/prod with ESM. The `lib` folder is the C# output folder with generated type definitions and .mjs outputs. I use a little Vite plugin to externalize the modules and rewrite the paths at build-time so the .NET import interop works properly.
October 6, 2025 at 4:18 PM
OK, I have it working now calling into .NET from the SSR loader in both dev and prod modes 🔥🔥🔥

Here's the performance comparison on my machine:

- Node (npm start): 120ms cold, 6ms warm
- .NET (dotnet run): 235ms cold, 18ms warm

So roughly 2X slower, but that's still *really good* IMHO.
October 6, 2025 at 4:16 PM
This isn't so bad. I can basically reuse the generated .d.ts files and manually define a dotnet global. If the source generator just made this file for you, that would be ideal but it isn't terrible as-is.
October 4, 2025 at 5:33 PM
If I modify the type definition generator, I think that would do the trick but it would be incompatible with the "normal" way to interop. So it might need to be a new flag on the [JSExport].
October 4, 2025 at 5:26 PM
OK, this is much cleaner to auto-generate all the appropriate JS types and functions. But now I just have to figure out an easy way to reuse the type definitions 🤔
October 4, 2025 at 5:23 PM
And there we go! It's awkward but it works. I *think* this wouldn't be too bad to codegen, and there might be a cleaner way in the API I'm not yet aware of. There's a few open issues related to this but it definitely seems like a solvable problem.
October 4, 2025 at 5:00 PM
Pseudocode for how I'm thinking of wrapping the SSR hosting code. I think this is all you'd need. Adding node would register the embedded runtime service. Adding React Router SSR would map assets and endpoint handler that is compatible with React Router server entrypoint.
October 2, 2025 at 12:39 AM
Translated: with this, not only can .NET call Node code *natively* but Node code can also load and call .NET APIs *natively* using ESM. The package can generate TS types and API interfaces even.

This means there is no Node process running, no extra overhead, and it can be incredibly fast.

🤯 🤯 🤯
October 1, 2025 at 5:39 AM