Rosano / Journal

3 entries for Friday, February 13, 2026

Running out of narratives

Crypto is here to stay and it’s big! But it’s mostly a financial asset class built on narratives, self-referential applications, and a side order of niche use cases. The killer use case is stablecoins. That’s pretty boring.

Bitcoin is not a viable high-volume payment system. It’s not a safe haven. It’s not a hedge against a weak USD or inflation. It was a risky asset. But then it didn’t rally when every other risky asset in the world exploded higher. It was digital gold. Then gold and silver doubled and tripled and bitcoin stood still, looking on with jealous awe.

So my view is that crypto is maturing into a small but meaningful asset class with some important but kinda niche use cases. That’s about it. Like video games, or 3D printing, or VR. Exciting, useful, and important industries. But not the internet. Not railroads. Not AI. There is no coming wave of innovation that will take it to the promised land. Crypto has arrived. It’s maturing. It’s not early. What you see is what you get.

OAuth, or, The Elaborate Ceremony of Not Giving People Your Password

[Implicit Grant throws your key to you across a lobby full of interested parties. Proof of Code Key Exchange ensures that the one who requested the key gets it. Neither will solve impersonation attacks via social engineering.]

exploring how my cheap ULID's date portion changes by shifting the:

const date36 = e => new Date(e).valueOf().toString(36);

// year
[
	date36('2026-01-01'), // mjuohs00
	date36('2027-01-01'), // myc87pc0
];

// month
[
	date36('2026-01-01'), // mjuohs00
	date36('2026-02-01'), // ml2z56o0
];

// day
[
	date36('2026-01-01'), // mjuohs00
	date36('2026-01-02'), // mjw3xmo0
];

// hour
[
	date36('2026-01-01 12:00'), // mjvc2jk0
	date36('2026-01-01 13:00'), // mjve7pc0
];

// minute
[
	date36('2026-01-01 12:00'), // mjvc2jk0
	date36('2026-01-01 12:01'), // mjvc3tuo
];

// second
[
	date36('2026-01-01 12:00:00'), // mjvc2jk0
	date36('2026-01-01 12:00:01'), // mjvc2kbs
];

// microsecond
[
	date36('2026-01-01 12:00:00.000'), // mjvc2jk0
	date36('2026-01-01 12:00:00.001'), // mjvc2jk1
];