Sasha ππ¨ Koss
Sasha ππ¨ Koss
@koss.nocorp.me
I make rad things. Many are open-sourced, like date-fns. Some, like https://mindcontrol.studio are not.
523 followers312 following197 posts
πΈ It uses Oxc by @boshen.github.io and Ruff by Astral to parse JS/TS/Python and extract prompts. πΈ @vercel.com AI Gateway enables running mind-boggling number of models. πΈ New users are served by my workstation running @lmstudio-ai.bsky.social for smoother onboarding.
β Star at GitHub: github.com/mindrig/mind... β¬οΈ VS Code: marketplace.visualstudio.com/items?itemNa... β¬οΈ Cursor, Antigravity, etc.: open-vsx.org/extension/mi... π mindrig.ai
I added two more functions, `todo` and `ensure` (that assert non-nullish, unlike `always` that asserts truthiness). Also, I covered it with tests and detailed JSDocs. Who would've thought that one could push such a simple code that far!
I just published the stupidest npm package, `alwaysly`. There's nothing to it but two one-liner functions. I use them often and am too lazy to drag them around. Btw, if you don't use this pattern in your TypeScript code, you're missing out!
I ended up wasting so much time rewriting stuff that seemingly worked but was actually subtly buggy on many levels. This is why I dislike using "spec" to describe agent instructions. It leads to an illusion of control, while you are, in fact, slowly rolling to a cliff edge.
If left unchecked, agents eventually end up hook-locking themselves and unable to progress. I got this effects spaghetti after just a few (spec-driven!) sessions. It is simply deciding whether to show a key form, form with an error, or a masked key view.
Oh yeah, there's no such thing as too many GitHub stars: github.com/kossnocorp/a...
I just published the stupidest npm package, `alwaysly`. There's nothing to it but two one-liner functions. I use them often and am too lazy to drag them around. Btw, if you don't use this pattern in your TypeScript code, you're missing out!
Over the years only three organizations realized their promise to support open source, despite endless stream of startups and coins contacting me. They are Open Collective, @github.com, and thanks.dev (they are so awesome, I don't understand why not so many people talk about them) β€οΈ
The only podcast I'm listening to nowadays is @syntax.fm. So fun and educational too! Always learn something new. And that's not because they, along with @sentry.io, sponsor date-fns via thanks.dev, but for that, they are absolute legends!
The only podcast I'm listening to nowadays is @syntax.fm. So fun and educational too! Always learn something new. And that's not because they, along with @sentry.io, sponsor date-fns via thanks.dev, but for that, they are absolute legends!
I got boiled like the frog. It's @OpenAI's gpt-5-codex with (mostly) high reasoning. Pro plan, if it matters. The source code: gist.github.com/kossnocorp/4...
As MCP maintainers, I think it is important to show the will to choose the right decisions over the ones that benefit the business. It is a small issue, but therefore, it is very telling. If they ignore it, then we will know that the same will happen with MCP eventually.
I think @anthropic.com is now at a crossroads with this seemingly insignificant decision of whether they should adopt AGENTS.md: github.com/anthropics/c... Do they bend to their competition or keep the advantage? This might hint to us if MCP is in good hands.
I think @anthropic.com is now at a crossroads with this seemingly insignificant decision of whether they should adopt AGENTS.md: github.com/anthropics/c... Do they bend to their competition or keep the advantage? This might hint to us if MCP is in good hands.
Now I have a smol family of libraries focused on build size and performance: π· tinyfloat Β· github.com/kossnocorp/t... π· smolxxh Β· github.com/kossnocorp/s... π· smolcanon Β· github.com/kossnocorp/s... π· smolcsv Β· github.com/kossnocorp/s... (π§ WIP)
I just published smolcanon@0.2.0 that serializes JS values into a stable string representation. Happy to say it's 30% faster than alternatives, and it's just 185B! I built it to use with my other library, smolxxh (just 381B), to get JS value hashes.
It is especially powerful in a private repo when you want to have some workspace packages open-sourced but keep developing and testing them as a whole.
People are sleeping on git submodules. I used them for private projects for years and recently adopted them for date-fns. With pnpm workspace, I can work on multiple packages in a single project while having GitHub issues and actions separated.
If you're into chess, you'll love En Croissant: github.com/franciscoBSa... It's a well-made cross-platform app (Γ la ChessBase) w/ support for multiple engines, a nice UI, and many more features useful when studying. Consider supporting the creator at: buymeacoffee.com/franciscosal
I'm working on dissecting TypeScript type system to breakdown all the magic that powers the most complex generics. Here's the assign compatibility matrix of all basic types.
Did you know about the everything type in TypeScript? type Everything = {} | null | undefined; It behaves not like you would expect, and you can assign anything to it, even unknown, that can only be assigned to any and itself.
Here's the link to the WIP doc: github.com/kossnocorp/g... And the tysts file I use to build it: github.com/kossnocorp/g...