Kamran Ayub
@kamranicus.com
250 followers 450 following 870 posts
Solopreneur. Gamer dad. Dork. Corporate quitter bringing back summers off 🌞 🎙️ Host @typescript.fm 👉 Building: KeepTrackOfMyGames.com 👉 Courses: bit.ly/KamranOnPluralsight 👉 typeof $: kamranicus.com/money
Posts Media Videos Starter Packs
Pinned
kamranicus.com
Yo, @erikonarheim.com and I have just launched a brand new weekly podcast, @typescript.fm. If you’re a #TypeScript developer, you can expect to hear about the latest news, commentary, tips and tricks, and interviews from folks in the community!

The first two episodes are out, here’s the gist! 🧵
kamranicus.com
reporting in: i started at 11:18 and it's now 11:36, and I think it might be working, wish me luck.
kamranicus.com
"it's a skill issue"

bro I made a custom PC with win 95 when I was 12. PC gaming has always been this way. jump through 90 hoops to get the right drivers, configure gfx settings, etc. it changes every 2 months. i might as well be choosing between sound blaster pro and adlib gold like its 1998
kamranicus.com
listen, I can literally press a goddamn button, wait 2 minutes, and be playing a game immediately on xbox at 60fps. this is bullshit.
kamranicus.com
can't a guy just be tipsy and play Baldur's Gate III. why do I have to close out of every app, try to reinstall newest drivers, and jump through all these hoops to get 30fps. my card isn't even that old.
kamranicus.com
Why do I need to login just to download Nvidia gfx drivers?

Why are the new gfx drivers 700mb?

This is why I don't game on PC anymore, it's stupid, I'm too old for this shit.
kamranicus.com
I feel like it's cheating if I contribute to my repo for #Hacktoberfest but maybe I shouldn't feel guilty. OSS is OSS. I do have a task for @excaliburjs.com I need to do before the next board meeting tho.
kamranicus.com
Community Highlights 💖

- @lirantal.com shares supply chain security solutions with DevContainers and 1Password
- Vincent Rolfs explains why the TypeScript codebase uses var statements
- Paul points out where type safety can be an illusion
- @t3.gg reacts to the Moving Off TypeScript blog post
kamranicus.com
That was a nice talk. It's very similar to Phoenix LiveView which is also super cool. I can see now why this would be compelling. I can also see how this might fit nicely with ASP.NET Razor templating, which is like JSX for C#.

Like this!

github.com/ranzlee/razorx
GitHub - ranzlee/razorx: An ASP.NET and htmx meta-framework
An ASP.NET and htmx meta-framework. Contribute to ranzlee/razorx development by creating an account on GitHub.
github.com
kamranicus.com
At least in my case, KTOMG has a heavy emphasis on local state on the device, whether that's selecting which games to manage, editing playtime, or scrolling through your collection (which is virtualized). It's more akin to a PWA or desktop app, which I'd like it to be eventually.
kamranicus.com
Just reviewing this: htmx.org/essays/hyper...

Its interesting, in theory. I think I need to watch this to really get it though. With an app that has heavy client side interactivity, I feel like this would be a step backwards. Could you build Spotify like this? 🤔

youtu.be/3GObi93tjZI?...
DjangoCon 2022 | From React to htmx on a real-world SaaS product: we did it, and it's awesome!
YouTube video by DjangoCon Europe
youtu.be
kamranicus.com
The benefit of using RSC to me is the unified flow from the backend to the client. Qwik has a similar feel, but serializes state in HTML attributes. It still has the same problem though because server fns and RPC endpoints require a JS runtime.
kamranicus.com
One alternative to trying to shoehorn RSC into .NET is to just do away with JS altogether except for islands of interactivity. So Astro could be a potential option, or maybe something like HTMX which I haven't played with. But if you can use Go with it, why not C#?

ajmoon.com/posts/mesh-i...
MESH: I tried HTMX, then ditched it - Alex Moon - tech, innovation, society, games
Alex Moon is an Australian-British software engineer and artist based in the North East of England.
ajmoon.com
kamranicus.com
More random thoughts on .NET and SSR. This is only a problem because of frameworks. The server code has to be written in JS because the frontend is in JS.

When I used Knockout, I could server render most of the HTML because it used declarative markup and the client would take it over.
kamranicus.com
Like when did these come along, never seen before lol
kamranicus.com
Roger Martin and Seth Godin are the only two people I've read that have connected the ideas in this way.

Martin in Playing to Win (Strategy) and A New Way to Think (Design Thinking).

Seth Godin in This is Strategy.
kamranicus.com
Anyway. I just think it's super interesting that all these words and ideas are essentially the same thing, or involve one another at least. And yet we tend to treat them as separate, mutually exclusive ideas.
kamranicus.com
> It would take me 2 years saving $100 a month to cover 3 months.

Okay, what can you do to make that go faster?

Now you apply the same loop to that problem.

Design is iterative. You revisit and go back to hypotheses and retest them or change the variables.
kamranicus.com
For example, calculating current savings rate and figuring out how long (or even if) you can save up to cover 3 months of expenses. This requires knowing much how you spend. Etc.

If a test fails, you can move on to a different possible solution, or reset expectations, or tackle the new problem.
kamranicus.com
You might say:

- Enough savings to cover 3 months (Jun-Aug)
- Flexible work arrangement
- Care arrangement for kids (if not us)
- Flexibility for partner

Great. Now, you design tests ("experiments") for each criteria. Starting with the hardest one.
kamranicus.com
Example:

For your life, you might start with a problem: I am burned out.

One (of many) possible solutions is to take summers off.

So for that to work IN YOUR CONTEXT, what would have to be true?
kamranicus.com
To expand on that, there is an idea of a solution to a wicked problem (which also has a specific definition: a problem for which there isn't a straightforward known answer).

For that specific solution to work, you need to answer the question, "What would have to be true [for this to work]?"
kamranicus.com
In Roger Martin's book on Playing to Win, he defines strategy as a set of integrative choices for choosing where to play and how to win. But he also says the #1 question in strategy is this:

"What would have to be true?"

Not what IS true, strategy is not about what is but about what could be.
kamranicus.com
Design thinking, in turn, also means systems thinking. Or maybe, applying systems thinking to a certain domain of problems. In This is Strategy by Seth Godin, it's really just a book about systems and design thinking for business people. He even says it. Once you see in systems, you can't un-see.
kamranicus.com
We only think of the word "strategy" in two contexts, business and military. But it's just applying design thinking to each one. Lifestyle design? Strategy for your lifestyle. Financial independence? Strategy for your personal finances. Landscape design? Strategy for... well, you get the idea.