Some stuff I’ve been helping out with recently: https://t.co/DwBIdgwO34
Durable Objects continue to be my favorite building block on the Developer Platform
Zig 0.12.0 was tagged a couple of days ago, so now seems like a good time to talk about https://t.co/LNMJWV0xGg
It's a version manager for Zig + ZLS that I wrote it for myself. I've been using it for the last month, and it works great if anyone else is interested in tiny tools!
Introducing localfirst.fm – a podcast about local-first software development.
In this first episode @pvh explains what local-first is and why application developers should care about.
https://t.co/KpZc6vt2Pk
Cookies can be so much more than vessels for authentication tokens. I built a KV store backed by cookies to prove my point:
https://t.co/pX6lL7vyJw
(it isn't nearly as unhinged as it sounds at first)
Soft announcing Oslo! This is a much bare, yet feature rich alternative to Lucia. It provides utilities for:
- session management
- cookies
- OAuth
- generating random strings
- csrf protection
- hashing passwords
- managing verification tokens
https://t.co/bfwSoU8pbA
Added support for logging to my custom observability pipeline. I can now literally just `console.log` from a Worker. Logs are structured too, despite the innocent-looking API!
The other cool thing is that lag is < 1s because this is all happening from CF's edge.
This is all powered by a Tail Worker that's fairly specific to my setup, but you can peep the code here if you want to modify it for yourself: https://t.co/q4IYKBSw2j
Workers can use this as a tail consumer / service binding, but it exposes an HTTP API as well.
I'm no security expert so I can't slap a "100% secure" tag on this, but the gist is that only two browsers know how to reach your tunnel, and anyone else that tries is rejected.
Really happy with how this developed over time as I was building.
Wanted to talk about how I did authentication here, and how tunnels are private, even though you don't actually "log in" (I think it's pretty cool!) :
I use a combination of a secret, a signed unguessable ID and your IP address to lock the tunnel once both ends connect.
It's done! ✨ https://t.co/Uz4ZZ7eTfs is live!
It's a little service I built for myself that lets you stream files across machines. It's essentially AirDrop for the web.
It's free for anyone to use, and you don't need an account / email or anything.
The IP address is a safeguard. IPs change, but for the duration of a tunnel's session, they (generally) stay constant. If you reload pages or come back to it later, I check that the originating IP is the same as the one in the token (the one that originally connected).
It's done! ✨ https://t.co/Uz4ZZ7eTfs is live!
It's a little service I built for myself that lets you stream files across machines. It's essentially AirDrop for the web.
It's free for anyone to use, and you don't need an account / email or anything.
Code's all public, you'll find it here: https://t.co/IzRr2Cvf2A
I've learned a _ton_ about streams building this, so I may be an insufferable streams nerd for a while, FYI.