Sasha 🐏💨 Koss
koss.nocorp.me
Sasha 🐏💨 Koss
@koss.nocorp.me
I make rad things. Many are open-sourced, like date-fns. Some, like https://mindcontrol.studio are not.
Two monorepo learnings for the past couple of years:

1. TypeScript Project References rule in terms of performance and DX.
2. Extracting app code into isolated packages is not worth the hassle. When sharing code between apps, it's better to just have a single "core" package.
November 9, 2025 at 10:22 PM
Much cleaner! ✨
October 17, 2025 at 4:39 AM
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!
October 14, 2025 at 4:41 AM
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.
October 13, 2025 at 2:00 AM
Oh yeah, there's no such thing as too many GitHub stars: github.com/kossnocorp/a...
October 10, 2025 at 6:39 AM
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!
October 10, 2025 at 6:31 AM
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!
October 10, 2025 at 3:12 AM
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!
October 10, 2025 at 3:03 AM
I love using Next.js for web apps, but man, having to use Vite with React Router for a VS Code extension webview is liberating!

A simple SPA with no care for latency is closest one can get to React-promised joy.
October 6, 2025 at 2:35 AM
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.
October 6, 2025 at 2:14 AM
`cargo publish --workspace` is awesome!
September 19, 2025 at 12:58 AM
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.
September 2, 2025 at 1:15 AM
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.
Feature Request: Support AGENTS.md. · Issue #6235 · anthropics/claude-code
Codex, Amp, Cursor, and others are starting to standardize around AGENTS.md (https://agents.md/) — a unified Markdown file that coding agents can use to understand a codebase. By contrast, CLAUDE.m...
github.com
September 2, 2025 at 1:11 AM
I tried different code agents, including GitHub's Copilot (all the models), Cursor, and Windsurf. I found them all too slow. Code quality is not up to my standards. Fine for simple tasks, though.

Now, after working with Claude Code, I'm finally having a good time.
August 20, 2025 at 10:44 PM
In other news, a heavy Singapore rain drenched my monitor (and PC a bit), so I had to disassemble it to dry it 😭
August 18, 2025 at 5:47 AM
I want to learn Go to tinker with the Go TypeScript implementation. How do I start?
August 18, 2025 at 5:39 AM
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)
August 18, 2025 at 5:37 AM
I just published [email protected] 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.
August 18, 2025 at 5:28 AM
I finished 20th of 44 with a 4/7 score in a local rapid chess tournament. Much better than I expected.

Also, even losing was fun. I didn't expect that either.
I got a Singaporean FIDE ID! Can't wait to get brutally beaten by elementary schoolers in chess 🫠
August 17, 2025 at 5:07 AM
I just got to my highest rating in rapid chess—1576 😅 It's modest, but I'm proud either way.
August 14, 2025 at 9:10 AM
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.
August 13, 2025 at 2:33 AM
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.
August 13, 2025 at 2:32 AM
I got a Singaporean FIDE ID! Can't wait to get brutally beaten by elementary schoolers in chess 🫠
August 12, 2025 at 12:24 PM
@date-fns/tz is now at ~9M monthly downloads 🧐

I'm glad people find it useful!
August 12, 2025 at 12:19 PM
I'm building date-fns MCP. I'm starting with documentation (per function doc, vectorized search) but have many more ideas.

What would you want to see in it?
August 12, 2025 at 1:46 AM