drk
@drk
Working on a web-based peer client for herdr. Hoping to polish enough to use it on mobile. Currently using moshi and like it a lot, but also just wanted to see how far I could get.
Got me wondering if this tool belt could adapt to a p2p use case and it ended up (for POC) just authoring a new store adapter to swap out sqlite and it worked great.
Had to whip up a script for stashing my YouTube tabs after discovering they consume a ton of resources/make the MacBook hot to the touch when sitting idle. I open YouTube links in new tabs all day and likely will never get around to watching them, but the script does keep my MacBook a lot cooler.
After reading the Github write up on their PR page performance improvements I wanted to see how quickly I could prototype a performant diff viewer using Datastar. largediff.fly.dev largediff.fly.dev/doc
So this looks like the same experience I've been sharing recently, but it's running against an actual local server instead of service worker. It's basically the same server with adapters do db (indexdb vs sqlite).
More progress on the local-first/offline @data-star.dev Kanban app. derekr.github.io/datastar-sw-ex…
OK soft launching eg-grid. A 8.4kb gzip 0-dep bundle you can vendor in to your project and customize as needed. No npm. No versions. No guarantee. derekr.github.io/eg-grid/
Writing about new realtime setup we deployed @basedash.bsky.social. Quick vibed interactive diagram to help jump start visuals. tl;dr - CQRS - Subscribe to topics over SSE - Get entities pushed over SSE (brotli compressed) - Upsert in to TS Query/DB cache snowy-silence-db6d.derekr.workers.dev
Here's another example. No shame on this project (I love it!), but SPA failure where page loads then content disappears.
So you land on a page, establish SSE connection and compression gets more efficient with every push.
OK one more dig at SPAs. That's a lot of JS just to show me a animated SVG and some text.
I feel like @sentry.io hangs on their splash screen a lot these days. This is why SPAs/syncing client state to the frontend sucks.
So a lot of this comes from using the platform features. With CSS grid you get simple layout styling and your grid can be as responsive and fluid as needed. Combined with View Transitions most of the work is off the main thread keeping frame rates consistent.
Been noodling on my end game grid layout with drag and drop approach and think it's ready to share. derekr.github.io/eg-grid/
I think a lot of people were requesting the GUI since config discovery was difficult. It's all configurable though. S
Vibe coded a bento box style grid with drag and drop/keyboard nav using CSS Grid and View Transitions. The dragged element uses the Web Animation API so it can transition from where it's being dragged. - Keyboard selection/movement - CSS Grid - View Transitions - Pragmatic Drag and Drop
Another example from this exploration was demonstrating how brotli compressing over SSE is very effective and often mitigates the need for complex diffing on the server to help with efficient syncing from a bandwidth perspective.