Email or username:

Password:

Forgot your password?
1,576 posts total
Alex Gleason
Fascinating issue. Which I was able to identify quickly because he provided all the details. https://gitlab.com/soapbox-pub/mostr/-/issues/56
Alex Gleason
The goal of social media is to be as funny as possible, and if you're not doing that why are you even here? I will even tolerate your stupid political views if you brand them as humor, not matter how dumb they are.
Alex Gleason
The best reason for free speech, besides truth, is comedy. And it's only funny if it's at least a little bit true.
Alex Gleason
YouTube... just because I manually type "Lavender Haze" at least once per week for a SPECIAL OCCASION doesn't mean I want you to autoplay Taylor Swift for me! You can not play Taylor Swift without my explicit consent.
Alex Gleason
I have to admit, I don't click "approve" on many new accounts these days. But this one gets a pass.
Alex Gleason
>My vegan cheese is covered in mold.

Me: Is this vegan tho?
Alex Gleason
Dumbass motorcyclists wake me up at 12am then after a sleepless night they wake me up again at 6am. I'm about to go defcon 3 on motorcyclists.
Alex Gleason
White people need to get their shit together. Stop buying unnecessarily loud vehicles and tearing through the neighborhood in the middle of the night for a night out drinking with the boys.
Alex Gleason
Challenged my wife to draw Sonic... here's what I drew and what she drew.
Alex Gleason
Amazon sent us a physical printed Christmas catalog like it's the 90s, except they're a big tech company.
Alex Gleason
Idiots running scam accidentally broadcast replies to everyone on their spam list.
Alex Gleason
I replied that this is a scam, but by that time they already shut down the emails. So I individually emailed these two users back to inform them this is a scam.
Alex Gleason
What do you guys think of my new hat?
Alex Gleason
I'm building a ground-up Nostr websockets library in TypeScript. It's a collection of low-level tiny modules that each do one thing well, as well as a few opinionated modules like NiceRelay and Firehose that combine the pieces into something usable out of the box. Some of the pieces include:

AsyncSocket: get WebSocket messages as a generator, async "send" function that just works.

Relay: low-level websocket wrapper that deals with client-relay messages directly and doesn't care about subscriptions.

Pubsub: data store for managing REQ subscriptions (but it's actually just a general-purpose topics pubsub).

Machina: converts event emitters into async generators.

Reanimator: revives disconnected websockets and triggers a callback.

NiceRelay: keeps a Relay instance internally, revives the socket if dead, provides messages as an async iterator, stores and manages subscriptions, async "send" with a parsed NIP-20 response.

There are problems with existing libraries. For instance, most libraries manage subscriptions in the Relay module itself. Then the Pool shoehorns in an array of Relay instances. This is problematic because the Pool itself wants to manage the subscriptions. By breaking it into smaller parts, we can make the Pool work better, and we can even create opinionated Pool implementations like a Firehose, which can resume subscriptions for newly added relays.

I'll host the code and put up a link today. In case you're wondering what I've been up to on Ditto, this library will solve problems I'm having on both the client and relay side.
I'm building a ground-up Nostr websockets library in TypeScript. It's a collection of low-level tiny modules that each do one thing well, as well as a few opinionated modules like NiceRelay and Firehose that combine the pieces into something usable out of the box. Some of the pieces include:
Alex Gleason
Aight sounds good, I'll just leave that in there for ∂∂2
Alex Gleason
Pirating Sonic Adventure 2 Battle GameCube ISO because the version I paid $10 for on Steam doesn't work right and keeps crashing.
Alex Gleason
Honestly gamedev companies should just release games as GameCube ISOs. Dolphin works everywhere, so your distribution is solved. This is also how Java works.
Go Up