Avatar
Erik
1f7178d5579ae2eebc09059e1c91f93414d1e0c9c3fa281f3c1ba79c959cd559
I like to build web things. Currently hacking with JavaScript on nostr things

Crushed my half marathon goal. First one ever, was shooting for sub 2 hours.

#running

Having never built a full product with any of the existing frameworks, take what I say with a grain if salt.

I always struggled with expo and react Native. Never worked how I wanted it to ootb.

http://capacitorjs.com seems quite promising. Mainly because you can use any web framwork, so porting something like cashu.me seems easier.

Never really delved into it though, as a pure web dev, I always get frustrated when I go into the mobile world.

First glimpse of #nostr-ava a strava alternative built on Nostr.

This client will facilitate uploading activity files (gpx, fit, etc..) and turning them into nostr activity events. https://wikifreedia.xyz/activity-nip/borrakkor@nostrplebs.com

The powerful piece here is you get to control exactly which data is released publicly. If you choose, your activity file and route map get uploaded to a blossom server, and is referenced in the event.

Soon you'll be able to encrypt these files so only you can view them. You will also be able to utilize DVMs to further analyze your activities, and post summaries from the output.

Currently the client does very basic analysis on the uploaded file, but I forsee many different analyses being available.

Hoping to deploy an alpha version next week.

#running #cycling #blossom #proofofwork

https://video.nostr.build/4919028ac828461e7a58e7d23420e312df867a2569abbda60ae81ee551dcfee4.mp4

Huge shoutout to the creators of https://github.com/sports-alliance/sports-lib

It has everything I need to do activity file analysis right the browser. I can even convert from .fit to .gpx files!

#running #nostr-ava

https://docs.polycentric.io/protocol/

Pokycentric seems interesting. It's like if NOSTR was built on protobufs and REST

Replying to Avatar Erik

https://wikifreedia.xyz/activity-nip/borrakkor@nostrplebs.com

WIP nip for activities on NOSTR. This is a nip designed to share different activities (running, biking, hiking, etc...) and generate summaries of these activities.

Clients can handle managing just a users activities in a totally offline / private way. But you can also share the bits about your activity that are worth sharing.

For example, you don't have to upload your whole activity file to your activity just to get a summary. You could generate all your stats locally, and then publish a trimmed GPX file for others to see without getting doxxed.

If summary files are readily shared, then DVMs could generate summaries from those summaries. So without having to leak all your precise GPX files, you could still figure out activity streaks, or similar routes near you.

DVMs could generate routes from partial GPX files. I feel like the possibilities are really endless here.

Those who are data oriented can run their own models in Python and publish the results. Result sets could be standardized.

There's a lot to be done, but I think it could be exciting.

I'm working on implementing this in a svelte app currently. I'll be creating a library in typescript specifically for handling the flow of this protocol.

I'm using blossom to manage the gpx file storage.

https://wikifreedia.xyz/activity-nip/borrakkor@nostrplebs.com

WIP nip for activities on NOSTR. This is a nip designed to share different activities (running, biking, hiking, etc...) and generate summaries of these activities.

Clients can handle managing just a users activities in a totally offline / private way. But you can also share the bits about your activity that are worth sharing.

For example, you don't have to upload your whole activity file to your activity just to get a summary. You could generate all your stats locally, and then publish a trimmed GPX file for others to see without getting doxxed.

If summary files are readily shared, then DVMs could generate summaries from those summaries. So without having to leak all your precise GPX files, you could still figure out activity streaks, or similar routes near you.

DVMs could generate routes from partial GPX files. I feel like the possibilities are really endless here.

Those who are data oriented can run their own models in Python and publish the results. Result sets could be standardized.

There's a lot to be done, but I think it could be exciting.

For nostr-ava I think I'm going to lean into a DVM model to analyze gpx files. Here's the flow I'm thinking

1) user uploads a gpx file in a client and adds relevant metadata around it (name, description, etc...)

2) GPX files is uploaded to a blossom server and the location is stored in the original note

3) user can then request analysis of the gpx file by creating a DVM job request. This will allow multiple ways to analyze (there's a lot of cool python libraries to transform GPX files), and also allows DVMs to use output from previous DVMs to do meta analysis.

Clients can pull in the original notes + any DVM results per activity and display them as they see fit.

I'm envisioning DVMs for run matching, analyzing your progress throughout the year, comparing with other similar routes (e.g. segments and KOM stuff)

#nostrava #running

That's a fun view to see from your house.

AI seems to be going the way or crypto with the "but think of the energy and emissions!" Rhetoric.

Yes totally. I think gpx is an easy spot to start, but pulling in more watch data than gpx would be sweet.

I also think the ability to share segments would be awesome. I'm thinking there could be a few new note kinds to facilitate something like this. E.g. Routes, Segments, Activities

Motivated to revisit a Strava alternative for nostr. I think it can be achieved with DVMs and file storage.

Haven't thought too deeply about this, but let's say everything starts with a GPX file. You upload this note and it has your metadata for the activity (like a Strava post) and a location where the gpx file can be retrieved.

Then you have a number of DVMs that can perform analysis on this file. Anything from really basic things (like elevation and HR analysis) to complex features that stava has (matched runs, segments, etc)

I think using something like a geohash would enable segments and matched runs quite easily. You can start to see similar activities in your area.

Pair it with something like npub.pro and you have your own Strava like blog.

#running #strava

I would imagine with just an nsec, they can't do proper key derivation (like they can with seed phrases)

So just having an nsec means their messaging scheme couldn't function. Just a guess though.

Replying to Avatar bullishNuts

REMINDER: I started a closed group on nostr:npub1tm99pgz2lth724jeld6gzz6zv48zy6xp4n9xu5uqrwvx9km54qaqkkxn72 to test NIP-29 relay groups, talk #cashu and ofc bullishNuts.

Send me a DM or leave a comment if you’d like to be added. 🤙

nostr:note1gy04pukaxyhxrp9tpm5y3aphv2gdurvhpurew40a6emgzj8yldtq2pqt02

✋

Instead of using the raw json as content, you could use the v4 encoded token. This is how most wallets expect tokens to be sent and received

https://github.com/cashubtc/nuts/blob/main/00.md#v4-tokens

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

Replying to Avatar Erik

First (rough) pass at a #climbing NIP

https://wikifreedia.xyz/crimpstr-nip/borrakkor@nostrplebs.com

I opted for a new kind for these events as to not clutter existing wiki applications, though we could easily use the 30818 kind and just utilize a type and c tag to get climbing related things.

I think the biggest unlock here is incorporating the geohash of an area / route into the name. This will ensure that we can disambiguate between climbs of the same name.

It also has the added benefit of hierarchical ordering built in, so you can easily group climbs together without having to enforce a strict hierarchy like MP does.

Using curation sets for tick lists, and for area oganizations (e.g. ordered climbs from left to right) might also be sufficient.

My goal here is not enforce any ordering on the notes themselves, but let people group things together however they see fit.

nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub1gc9yu8qe53kvp73ymn6gl622mmsl04cku7spv8qvuly2kru4kwcq2zxddl

First (rough) pass at a #climbing NIP

https://wikifreedia.xyz/crimpstr-nip/borrakkor@nostrplebs.com

I opted for a new kind for these events as to not clutter existing wiki applications, though we could easily use the 30818 kind and just utilize a type and c tag to get climbing related things.

I think the biggest unlock here is incorporating the geohash of an area / route into the name. This will ensure that we can disambiguate between climbs of the same name.

It also has the added benefit of hierarchical ordering built in, so you can easily group climbs together without having to enforce a strict hierarchy like MP does.

Using curation sets for tick lists, and for area oganizations (e.g. ordered climbs from left to right) might also be sufficient.

My goal here is not enforce any ordering on the notes themselves, but let people group things together however they see fit.

nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub1gc9yu8qe53kvp73ymn6gl622mmsl04cku7spv8qvuly2kru4kwcq2zxddl

My favorite thing about moving to Colorado from the east coast was the super friendly ethics around bolting (for most of the front range). It made climbing around Boston pretty inaccessible.

Those lines look sweet!

Surprisingly easy to write an obsidian plugin that publishes wiki events on nostr.

More to come at some point! This should help with maintaining something like crimpstr.

nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft

https://video.nostr.build/0b50f3ecfa1ba60ec6ca67fc2b4bd7f5b2e436f5fd7fbc2cbe9a07722ccef125.mp4

Let's say I wanted to make an application built on nostr, and I want to utilizes nostr auth.

To take some burden off more normie users, I was thinking the service could store an ncrypt for the user.

From the users perspective, they just have to remember a password like any other site. But under the hood, the ncrypt can be sent down an stored in local storage (if missing). And then the user can unlock it with the password to sign events client side.

I'm trying to think from a security perspective if there's any harm in the server storing the ncrypt. It's basically like storing a hashed password, but if the key is ever leaked, then someone with access to the DB could reveal the nsec.

Sick! I grew up in Boston, never climbed in Connecticut before. Hard east coast trad?

Built some new lower cabinets

#woodworking #diy

Coming up on a 24 hour fast. Starting to get easier. Next one will be 48!

Totally! It's kinda like taking nostr:npub18a5dah5p2jwvppz04ljj3u2hfdg7p908fy05dz7edz0cwaumhqwsqjpzjs's wikifreedia design, but applying it specifically to climbing / hiking.

Especially with climbing, people disagree on grades, and you might want to vote on a fork of a route, rather than giving admins all the power to keep the grade of a route.

Replying to Avatar Rylan

nostr:npub1rach342hnt3wa0qfqk0pey0exs2drcxfc0azs8eurwnee9vu64vs834atg you were trying to build something like crimpstr, no?

Yeah I've been thinking about something like this for a couple years now. My first attempt was building something in top of ipfs, but that was kind of a nightmare.

At one point I scraped all of the routes from mountain project, I think I have them somewhere so it's a good "seed" to start something.

Creating a nostr client for climbing seems like the next logical step. Zapping or sending ecash to route developers would be 🔥.

Exactly. I think adding payments creates more incentive for the host to act honestly.