Matt Lorentz's avatar
Matt Lorentz
matt@nos.social
npub16zsl...92l7
Technologist, solarpunk, gamer, backpacker, passionate about using the internet to push more power to more people.
Matt Lorentz's avatar
mplorentz 1 year ago
Today’s 3D print is a vertical stand for the two halves of my split keyboard. Will post the results tomorrow. Has anyone else tried a vertical keyboard?
Matt Lorentz's avatar
mplorentz 1 year ago
I got a second-hand 3D printer from a friend today! I’m pretty excited to start making stuff with it. I’m thinking about making some toys for my toddler (are there any good ways to recycle PLA?) as well as useful stuff for around the house. Like I know I need to replace a knob on my camp stove and I already found a model for that. I’m also planning to get some Meshtastic LoRa boards and I’ll probably print a case for those too. If you have a 3D printer let me know what your favorite prints are! image
Matt Lorentz's avatar
mplorentz 1 year ago
Making software takes longer than you think it will take.
Matt Lorentz's avatar
mplorentz 1 year ago
Do you take screenshots using Shift-command-4 on macOS? Do you love to then drag the screenshot thumbnail from the bottom right of your screen into Slack, Github, email, wherever? But it often disappears before you can grab it? Run this in your terminal (change “20” to however many seconds you want it to stay visible): `defaults write com.apple.screencaptureui thumbnailExpiration -float 20`
Matt Lorentz's avatar
mplorentz 1 year ago
Putting the Nostr follow list into a single event was a mistake. Because there is no single source of truth in Nostr an app can never know if it has the latest version of the list before publishing a new version. If it doesn’t have the latest version of the list then the user loses data. This is true of every other kind of Nostr list too. A better model would have been to publish a separate event for each follow with a single p tag, like this: `{ id: “1234...”, “pubkey”: “283h2ea12…”, kind: [follow], “tags”: [“p”, “2ekac887…”] … }`. When you follow someone you just publish a new follow event. When you unfollow someone you delete the event. Or if you hate delete you can publish a new “unfollow” event for that person, it’s really the same thing. This is how Secure Scuttlebutt models the follow graph and it works well enough. If you want to get really fancy you could arrange all the follow events in a tree and use a CRDT or use range-based set reconciliation to make an eventually consistent list of people you are following. This is how the Willow protocol works if I understand it correctly. But that is way too fancy for Nostr, which is kind of predicated on the idea that things are simple to implement and the UX is good enough.