I like to build web things. Currently hacking with JavaScript on nostr things
Public Key
npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Profile Code
nprofile1qqsp7utc64te4chwhsyst8suj8ung9x3uryu873gru7phfuujkwd2kgpp4mhxue69uhkummn9ekx7mqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduvjnq7j
Show more details
Published at
2024-09-20T16:45:58Z Event JSON
{
"id": "91dfbe375e667357a5cd58c8fb436fc47a7d1cee112576c7e26e6a10963c89b2" ,
"pubkey": "1f7178d5579ae2eebc09059e1c91f93414d1e0c9c3fa281f3c1ba79c959cd559" ,
"created_at": 1726850758 ,
"kind": 0 ,
"tags": [],
"content": "{\"about\":\"I like to build web things. Currently hacking with JavaScript on nostr things\",\"display_name\":\"Erik\",\"lud16\":\"[email protected] \",\"name\":\"Erik\",\"nip05\":\"[email protected] \",\"picture\":\"https://nostr.build/i/p/nostr.build_b8a064cfdff3359dd6a02fe3fb20f2525abe61479db66659cc978a6008b262d0.jpeg\"}" ,
"sig": "c1019cea43ce11b03056273c16ab80230effd4a1bdf8609061c63058b3de2a73337ec5a1e745b22789c2db1365b5fb9ddda3fa4117b19330f756934dec67739f"
}
Last Notes npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Finally got the garden all laid out for this year. #gardening #woodworking https://video.nostr.build/6d905cb64fe33fe6e0a3dffb6904833d2b895e94b27efd666fda2c47f442fd5d.mp4 https://video.nostr.build/e54efe806f8e88bf5ccd29dce08ed1a0315a86a47d2843806c5e77d231a2a90d.mp4 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Spent some time this afternoon making tool holders out of scrap wood. https://image.nostr.build/b248b5b54b0f00ecf475954f583a39fa6d9794ab03b45e1e145a48a1ae2c24bc.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://windmill.dev seems pretty cool. It's like n8n, but has a full blown code editor with a bunch of runtimes, so you can just write code rather than having to do everything in a No Code way. You can build out scripts, and then string them together in workflows. You can even build frontend apps in a Retool style editor. They have AI built into the editor, and I guess you can just hook up cursor right to your instance. #homelab #ai #workflows #dev https://image.nostr.build/92991ab45a52f21b917ca1dc0aec0f74216e283c3ce42a0ea063ee6c63c0c426.png https://image.nostr.build/9d1c18cc8710e264b46b4c0d22406ba871efe91245938a162393ec184317781c.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Also inspired by https://handsonkatie.com/tiny-tomes-smart-media-old-school-fun/ npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik All credit here https://makerworld.com/models/194671 Basically adapted his design and didn't use the buzzer or LED npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik My NFC home assistant reader works! I have RFID tags on my CDs, and now I can just tap them on here and have it play throughout my house. #homeassistant #diy #esp32 https://image.nostr.build/3fed389640d200b17e7fcfc5e41343a42beaa53614de87b0c0fa68aa501c9b9e.jpg https://image.nostr.build/f590c80b1bb9a1ef7a22940715967a81c21212144c8437b4186ed11ca6531221.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Have it roast your codebase, it's pretty good at that too. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Put this on during your next run. It'll shave a minute per mile off easily #tunestr #running https://image.nostr.build/86445e935aca8105e6bb398f63dd9a123a0c36a55b4636b80f9dea4e0092db90.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik A much needed long run. https://image.nostr.build/c09b30609d96f6db524fa8ee8934791984691df61d328e8d660a47c71a5a1249.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Made my first ever bread loaf this weekend. Has been great with eggs and bacon. https://nostr.download/96ec5ade92608e6728be540c4a4d191ba8fe861bb92d3faf4320e675fbda6157.jpeg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://youtu.be/VPMtvUXBoGU Dave is one of the best most humble climbers out there. This video definitely hits hard. #climbing npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Outside all day. Did a run and a climb in clear Creek. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://youtu.be/WzZaJDg6E0A npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Our daughter was born 7 weeks early, had a 3 week stint in the NICU. Wishing you all the best, the NICU nurses and modern medicine are amazing. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Nice! We checked out the backside of guanella pass. It was nice to not have to deal with the i70 traffic to get there. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Some Saturday skinning. #ski #alpine https://nostr.download/fd42c50839de59632197decf8630f21a741f15e2693a0443cc6e6bc5abd577b4.jpeg https://nostr.download/a432e8c719371049314f72b0f5729281c85c4eb87613ce859c02110cbea9e95b.jpeg https://nostr.download/b08b2fe124a37551d44c464a1feeeca231f54810c6dfd677d0aea78fc32b6fcc.jpeg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik The Control Paradox Humans instinctively trust systems of intentional control that we can see and understand, even though systems of emergent coordination often produce better results in complex environments. This "control paradox" explains why we crave centralized, visible solutions precisely when distributed, invisible processes would serve us better. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Just watched "The Substance". I would definitely describe it was wild. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://github.com/ebrakke/nostr-signer Something I've been playing around it. I really dislike using nip46 bunkers (both as a user and a developer), and I browse nostr web apps a lot of my phone, so I also don't enjoy browser extensions. Not sure if this concept has been tried, and I'm sure theres a lot of drawbacks. But it worked as I expected it to on mobile as on desktop! It's basically wrapping "postMessage" in a way that makes it act like a Nip07 signer. As long as the user launches the page from a site that needs it, they can just leave it running in another tab, and it'll be able to send messages for signatures. No severs, no relays, just direct cross window communication to sign events. https://nostr-signer-test.pages.dev npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik You know what would be better than a strategic Bitcoin reserve? If the government just spent less money, and didn't have any left over for a "strategic reserve" npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Start a goose session in your codebase and have it generate a roast of your code and architecture. That was a fun way to spend my Friday afternoon at work. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Perhaps one of the best things about obscure memes is that it lets you find bullshit so easily https://open.substack.com/pub/theconcernedbird/p/elon-musks-and-xs-role-in-2024-election The comments are full of people gobbling up this "whistle blower" about Twitter election interference. However when talking about the Eliza AI agent framework, they say "The pilot program for the Eliza AI Agent, was election interference. Eliza was release officially in October of 2024, but we had access to it before then thanks to Marc Andreessen." Marc Andreeson has nothing to do with Eliza. It was a meme that they called themselves ai16z because they were making an AI version of Marc. IMO that's enough to completely call bullshit on any of those accusations. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Oo or ricing up rc files could be pretty slick. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik CI / CD configuration. I got goose to refactor my GitHub actions to get everything consistent and doing what I want it to do. If I never have to handwrite devops code again I'd be so happy. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Power endurance will help the most. Basically trying to get a good pump, and then just continuing to climb through it. I'm always a fan of up / down / ups, or rapid repeats of the the same climbs. Climb something a 5.11 near your limit and then immediately climb a 5.10 afterwards. A month of training like this and you should start to notice that you're getting pumped less, or better able to control the pump. Def not an expert, but if followed a couple different climbing programs before and seen results with this kind of training, specifically for the low to mid 12s. Especially if you're bouldering V6/V7, you def have the strength to pull any individual move on a 12, just gotta make sure you're not too pumped by the time you get to those moves npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I did something like that with https://github.com/ebrakke/nts https://nts.fly.dev/ Mostly as a way for me to share links between devices. Right now the webserver is also the relay. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik @nprofile…r4s5 my app freezes after about 2 seconds everytime I boot it up. Any idea how I can fix it? I am still receiving zaps, but I cannot do anything with them. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://image.nostr.build/d2cb0010d386e7989b84e02ac75d43c253aad72a6d09e71a9d581143dd10cbcd.jpg Natural does not always mean better. John Steinbeck nails it in this quote. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Did the same last week. Did an 8 mile run in Boston and averaged in the mid 8s, usually around Denver I'm in the mid to high 9s npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik That's why I always choose sveltekit if I'm gonna build something. With a single line I can turn it all into a normal spa and deploy it as such. And if I ever need it expand it into an SSR app, I can opt into it later. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Thingiverse on NOSTR npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Hyperx cloud III So comfortable, good sound quality. I've had mine for like 8 years now and they're still going strong. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik They've probably tried to make it so much like v0.dev that it'll fumble with some non react questions. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I just finished "We the living" by Ayn Rand, definitely not one for wordplay, but I still enjoy her writing style and it was a good "man vs state" book set during the bolshevik revolution. I recently heard about "Life and Fate" by Vasily Grossman. It was been compared to being as good as War and Peace, both in its importance and it's writing. It's next on my list npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Who needs ux? just tell your AI agent to send ecash on NOSTR #cashu #ecash #ai https://m.primal.net/NDpE.mov npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik heliski laps? npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Nice, I had a good gym sesh today too. Hard to get that consistency with an infant, but always feels good to get my ass kicked by some hard routes. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik The Eliza framework seems pretty cool. playing around with a nostr client, was pretty easy to implement. Thinking about messing around with some cashu / lightning integration too #ai npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik 🤡 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I have seen the light #nixos npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik 😆 I'm fine with back country skiing being cold and miserable. Just something about ice climbing, has always been type 3 fun. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Everytime I've tried ice climbing, it's always been windy and -10 degrees😅 I'll stick to my sunny warm crags in the winter. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I built this for a similar use case, was tired of using slack as my to between. https://nts.fly.dev/ Under the hood I'm using an autogenerated nostr key pair, and a khatru relay to store encrypted notes. it's rough around the edges, but it works. https://github.com/ebrakke/nts npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://www.youtube.com/watch?v=czbLw6zvppQ AI giving us the calmest abortion debate out there. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik It got like 12 inches so far between last night and this morning, southwest of Denver. https://image.nostr.build/6bdbf27929afc91225852c055d1e490dd81ff56bcacec34a5e74aa688cc91858.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Could even push the binaries for a few different OS's as part of a github release. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I wanted to, but scalpers got there first. I can't justify $300 a ticket to see him. But seen him before, he puts on one hell of a show npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik This box was generated by software that was entirely AI generated. https://image.nostr.build/c9bd07bc7e4538eb1002626500746c8cef28556dcd4ced0423508434a342ef5a.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik If you like #ai, and you've used #fabric before, then check out this project (or even if you haven't, check it out anyways) https://github.com/ebrakke/yt-fabric-ui still a WIP, but I love having a place to summarize different youtube videos and decide what is worth my time to watch. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Yeah, basically I just need to find a way to query for a bandcamp link by artist name, a quick look doesn't look like they really have a concept of IDs (at least not exposed in an easy way) But I want my scrobbler app to have a link to checkout the song on bandcamp, so that one could buy a song from that artist. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I've been playing around with fabric: https://github.com/danielmiessler/fabric for a little while now, and it's awesome. Since the underlying software got converted to go, I decided to write my own little web UI on top of it for summarizing and keeping track of youtube videos. Here's a little demo - You can paste in a youtube video, and it will go out and get the transcript for it. You can then go to the video page and select and model and a pattern to use on the video - in this example I'm using the gpt-4o model and the summary type. However you can have this run against a local LLM as well (basically anything fabric supports). My workflow here can now be that I'll just grab youtube videos that _might_ interest me. I can then get summarizes, extract_wisdom, or rate the video. Once I read through those, I can decide if the video is actually worth my time, or if I'm fine with skipping it. Ideally I'd release this as a binary that anyone can run on their computer. Your own personal youtube time saver! #ai #fabric #go #youtube #savetime https://video.nostr.build/45f496b6ee251d7e4eae5e2608f712cf8a2a621fb71269a649d48d6462bfd2d9.mp4 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I'm also trying to figure out the best way to link to bandcamp from the scrobble site. That's going to be next on my list once I get better integration with spotify. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik @npub1u65…332p two things I'm thinking for the kind 2002 event that would potentially make it more interoperable / usable. 1) The "i" tag can just be any general information about how to find the song. The MBID schema is great if a user has it, but I don't think it needs to be limited to that. Having `spotify:track:{spotifyId}` or `tidal:track:{tidalId}` would allow clients to more easily link to a spot where the song can be played. 2) I think adding a `source` would be fun, then a client like scrobble.nostr-music.cc can show which player the the scrobble event came from. Cmus, spotify, last.fm, etc... This would also tie in nicely to building out a more structure graph of how to find music on the web. Something can ingest this data piece together the spotify link, tidal link, mbid link, etc... and turn that into a Song event. I almost have a little app done that will handle publishing these events directly from your spotify plays, rather than having to go through last.fm, and I think that will open up this event kind to many more users. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Cursor is going to change what it means to be a dev in a very short timeframe. Those who don't embrace it will fall behind. #ai #dev npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Honestly it's just fun to write clients. The more the merrier. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Solid plan. Nothing beats the plan that you can stick to consistently. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik MAF training has been my goto when shaking off the rust. It can be painful to run slow, even walking at time. But after a month or two the results really start to show. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I've been enjoying ditto.pub Buggy at times but I like the clean look. Nostrudel is great too, reminds me of the spirit of Amethyst (if it can be done, it will be done), but on the web. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Even though coding via go templates and plain ol' javascript is worse at scale for highly interactive apps, it's been really fun learning into htmx and Alpine and seeing what all I can do without frameworks and a build system. Turns out, you can do quite a lot. #go #htmx npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Alpine start #climbing https://image.nostr.build/33a7d51dce4814eeecb7fd4b4f1a6af40e6250f3c3ec073d313f3847d2a01ea9.jpg https://image.nostr.build/0a772b826a0ce6084908e338f46114b60b0c47d63ba3e0a0ddd0c6b39874f01e.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Managed a run with both dogs and my daughter. The first of many like this #running https://image.nostr.build/280dbef3d2b1ea17b752e674d508cf012e968b7684a6aeb10ad46e8cdeffde71.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Sick! I'm Denver based, there's good running up here (when it's not 90+ degrees out) npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik It's fun when you're not the only one using your project https://image.nostr.build/3274b03a63b6fe6ef1d089b6e7f68e95e51da9759f6cd0c2265f05ac0c89260a.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Nice! What elevation? npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Also scp'ing a single binary is pretty nice. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Khatru makes it really easy to customize a relay page. Do any other smaller community relays post regular backups? Might make it easier to bootstrap new relays, or just do data analysis. #asknostr https://image.nostr.build/8dd9684c1e90564658a8a9d0faff491812635d8dc8154105ea4f64f4442df0f6.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Agreed. Already working on another extension that I'm calling `window.scrobble`, so any client can just hook into that to publish the scrobble event. Bridging existing data out of walled gardens is just one piece. I also agree on the "streaming by another name". I want to just own my music and pay you for it one time. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik If anyone is looking for a fun easy project to do, and you're a Spotify or Plex user, try writing a connected app and publish what you're playing on Nostr! https://developer.spotify.com/documentation/web-api/concepts/apps As long as you publish the kind 2002 event defined here https://github.com/ebrakke/nostr-scrobbler Other apps will be able to display it! Let's get as much data on nostr as we can npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik New version of the extension! Things are moving fast https://blossom.nostrava.xyz/41644fffeed7f11af86228fbd59851c90209204b9976531d8fe7bd0d90b6157e.zip #note1jck…dle8 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik They were trying to build an open web for music listens before it was cool 😀 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik If it doesn't work first try, just try reloading the extension npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Also, we have pictures! And a better domain https://scrobble.nostr-music.cc/ https://image.nostr.build/7f2e84619e5045d6a87e0f8a27796e1c91df4d039b1caf7012c0642902395202.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik If anyone is down to try experimental chrome extensions, Here's my first early release of the last.fm to NOSTR scrobbler extension. https://blossom.nostrava.xyz/ab947aa5809a66a3bd21c43fb6d1ecb345b114906a7eab7798c9adeff3d7a2a9.zip If you have a last.fm account, and you have your streaming services hooked up to it, you should start to see them flow through this extension when it's in "syncing" mode. Then you can choose if you want to publish it. If it doesn't work right away, try refreshing the page, or closing and opening the browser again. https://github.com/web-scrobbler/web-scrobbler/wiki/Install-an-unpacked-extension All of the source code is here https://github.com/ebrakke/nostr-scrobbler/tree/main/lastfm-nostr-extension @npub1u65…332p #music #last.fm #scrobble #otherstuff https://image.nostr.build/9fd9e53b9f72f9727894d870c5b792bbce422998404fcb0092440666c4d012a3.png https://image.nostr.build/ed9e5b012f6e35577b69654966e30848c504ae4d4d010bbd1d995dcf479596c3.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Everyone loves pictures, right? https://image.nostr.build/32958ba5ad47f18921fb1d14622657e78bdf692d47d5696c0da9d58df77ac0c2.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Heck yeah! What'd you use to publish it?! npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik The other stuff is exploding right now. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Okay one last one for the weekend... Here's a chrome extension that will act as a last.fm to nostr bridge. You just have a to give a last.fm API key, your username, and your nsec (for signing the 2002 events). In this demo, I am play all this music through the spotify app on my phone. I have spotify hooked up to my last.fm account. This extension is listening for those scrobble events from last.fm, and publishing them to the scrobble relay. Finally, the app in the background is listening to new events coming in on the same relay, so in real time you can see my scrobbles getting added on the app. Open protocols are awesome, I love the inter connectivity! #music #scrobble #extensions https://audio.nostr.build/5eb53525a26133e3ba5bb2a90f6861ad5699851bdf48b178b24c92ad62cfab0f.webm npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik If you're a last.fm user and want to participate, you can run this script while streaming, and it'll generate the scrobble events. When it's all setup, you should see your scrobbles at https://nostr-scrobbler.pages.dev/ https://github.com/ebrakke/nostr-scrobbler/tree/main/lastfm-to-nostr #nevent1q…67tr npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Ha it sure did. Right now the server just stores everything in memory, probably a concurrency thing npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://nostr-scrobbler.pages.dev/ #nevent1q…h3x5 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Playing around with a scrobbling nip: https://github.com/nostrability/nostrability/issues/79 Document these POCs here: https://github.com/ebrakke/nostr-scrobbler npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Discover what other nostriches are listening to #music #nostrability #scrobble #cmus https://audio.nostr.build/e4a010afd727d0d7ae88dc87c6ab2957fd3fbefa6acfa42f9002b520f1754aac.webm npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Working on a nice scrobble interface #music #scrobble https://image.nostr.build/37c47088c914525ee390f2e2a00a0218cd791773f2e6161de3ca1dca41e10f10.png npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I'm thinking that I'll periodically snapshot this relay and upload it to a blossom server. Then the server page can post a hash with the download link to grab the data. Then anyone could run the graph if they want on their own relay, and they'll already get seeded all of the scrobble events. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Running #WoT relay. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik @nprofile…a563 check out https://relay.nostr-music.cc You can publish your scrobbke events there to this relay, and this webpage will show all the music that has been scrobbled to it #scrobble #music #nuds npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I'm using blossom server (the one written by hzrd149) I have that setup on a VPS with cloudflare R2 as the backend blob storage. The nice thing with R2 is you never pay for reads. Only writes and other operations. I'm probably going to set one up on my home network and use minio as the backend as well. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Ha I did the same. Didn't realize uploads were disabled by default! I've been finding my blossom server useful just for sending videos to friends as well. (Android to iPhone be damned) npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I've been using cursor for the past week for so. I just asked it to build me a go server that would query a relay for the scrobble kind and organize it into stats. And then serve up an htmx + Tailwind page to display it all And it did it. First try. In 10 seconds The amount of time this saves me just getting everything wired up is massive. Very bullish https://image.nostr.build/b6f3c7d7c6bbce2e5affd1592894d826e7f795034c1dfe389e012300a6725461.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Got a new indochino suit #goinggalt https://image.nostr.build/2b1d240736aadf3a61e558bac81fe890529a9d4bbce14700e14d630f0b304b5a.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik https://github.com/ebrakke/nostr-scrobbler Not really sure how NUDs should work, but I made this for music scrobbling. After reading the issue @nprofile…jmzy posted about nuds becoming nips, thought it would be cool to have a repo surrounding a NUD (like and awesome-* repo per NUD) If it gains traction it can make its way to becoming a nip. If not, people can still use it, it it just won't be "official". Maybe NUDs don't need to be an event on Nostr, just a concept and playbook devs can follow. #music #scrobble npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Has anyone implemented a NUD? Curious what it looks like. As a dev, does it make sense to deploy a relay specifically for that NUD? #asknostr npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Currently working on nostrava.xyz npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Music. Scrobbling integrations. Decentralizing the entire music recommendation industry, as that is one of the main reasons I think Spotify still has such a hold on people. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Adding image support to https://nostrava.xyz All images are currently being uploaded to the #blossom server backing the app. Soon users will be able to choose whichever blossom compatible server they wish. https://image.nostr.build/b3b6c0d10091e5538b5fbe0e62178f770276bcf303a275a2e6b1e5ac324edf71.png https://image.nostr.build/0988c17907a0e9ea8d52a3af3caf75aaa1664765e7639917eb41334e5507cd49.png #running #moving #nostrava #activities npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik When the client generates the zaps , it would just lock half to one npub, and the other half to another (assuming 50/50 split) So the client wallet would take X amount of ecash and request the mint to create new ecash tokens locked to the proper npubs, and then you just sent those along with your zap note. npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik I was thinking the other day, I wonder if soulseek could utilize nostr. Seems like a weak point that there are just one or two servers out there enabling the whole protocol npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik Longest run since highschool, felt great. #running #proofofwork https://image.nostr.build/40cc5f954e44d7396d1f217d04ec4f4cbe4be9279c87d361ff9b745e9c70c0e6.jpg Finished off with a nice paddle board https://image.nostr.build/6dc42fc32116507f73427a25317a592c70a903befff6d9a804f136a7bd76a738.jpg npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik @npub1l2v…ajft short PR to fix the text wrapping issue on wikifreedia https://github.com/pablof7z/wiki/pull/31 npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg Erik @npub1838…aslh