Avatar
Five
d04ecf33a303a59852fdb681ed8b412201ba85d8d2199aec73cb62681d62aa90
Bitcoin and Nostr FTW Freedom Tech dev

I have been wondering about #wot and follows regarding freelancing and SatShoot.

In my mind I started calling kind3 follows-based "web of trust" as Field of View: it is a starting point for someone to build up a network of more trusted connections which require a kind-specific follow.

This can be called a Web of Trust for good reason because you explicitly have to follow this person in the context of e.g. freelancing.

Now all actions of this person are visible to you and reputation calculations will always count reviews and payments related to this person. On the other hand, kind3-based visibility can be lost due to mutes, reports and unfollows.

Having to follow someone in a "Twitter-like" scope just to see his actions in a freelance scope doesn't make sense, just like it wouldn't make sense for a person to follow someone on satshoot and then having to see what he had for lunch in Amethyst.

That is why we bootstrap visibility with a bootstrap Field of View that is kind3-based and is tied to the SatShoot account but you can switch this off later. For the latter problem we implement kind-scoped follows according to nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0dv4ph5 's spec.

Now the only challenge is to urge people to follow each other in the app with a good UX. Notifications could help in this endeavor but I think these are pretty much broken today. We need good in-app ways to guide users' attention to facts about the nature of the relationship he has with a potential counterparty: How is this person visible to him, who else follows him, is he part of the Web of Trust(via kind-scoped follow) etc.

I don't think every app needs to take care of so much detail regarding trust but freelance does. It is the most important part of the discovery process.

It's about how you can incentivize as many good matches as possible while also deterring scammers and low-quality people.

There are lots of other sources of trust that can be tapped into later to gain even more insight as to who can be a good match: take communities as an example. If I am part of the renowned Sparrow community and many members follow me that is good sign that I am not a scammer.

Or take the example of nip34 git stuff: I might have a couple collaborations in reputable projects or am a maintainer of a well-known repo. All this is great info in a freelance context.

This is how nostr wins: one Npub to rule them all: everything else "merely" comes down to good UX.

Replying to Avatar Five

nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpzpmhxue69uhkummnw3ezumt0d5hszxmhwden5te0wfjkccte9ehx7um5wfcxcetzwvhxxmmd9uq3zamnwvaz7tmwdaehgu3wwa5kuef0pk3amt a question on #dvm s:

I can see there is a post_process() function dvmtaskinterface. The comment says something about converting events into a format that is readable by social clients.

1. What kind of notes do social clients accept/render in your experience for a 6300 discovery feed?

I want to serve non-kind 1 events along with kind1s (kind 1621 git issues and 1622 issue replies for devs)

2. Is there some usual method to convert these?

Btw I would rather not convert special kinds if possible because normally clients should render all kinds that make sense to them or use an alt tag to display but am wondering how people go about this problem

nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpzpmhxue69uhkummnw3ezumt0d5hszxmhwden5te0wfjkccte9ehx7um5wfcxcetzwvhxxmmd9uq3zamnwvaz7tmwdaehgu3wwa5kuef0pk3amt a question on #dvm s:

I can see there is a post_process() function dvmtaskinterface. The comment says something about converting events into a format that is readable by social clients.

1. What kind of notes do social clients accept/render in your experience for a 6300 discovery feed?

I want to serve non-kind 1 events along with kind1s (kind 1621 git issues and 1622 issue replies for devs)

2. Is there some usual method to convert these?

Btw I would rather not convert special kinds if possible because normally clients should render all kinds that make sense to them or use an alt tag to display but am wondering how people go about this problem

Looking at MY test #dvm feed in #Amethyst, created by #nostrdvm .

It is just a collection of scripts running in my terminal. No hosting required.

If this isn't magical, what is?!

Awesome feeling thank you nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpzpmhxue69uhkummnw3ezumt0d5hszxmhwden5te0wfjkccte9ehx7um5wfcxcetzwvhxxmmd9uq3zamnwvaz7tmwdaehgu3wwa5kuef0pk3amt !

Reflectimg on my own personal mission and vision I want to work towards always comes first.

This reveals the tools and steps I need.

Vision -> Goals -> Problems -> Tools is my chain of thought

If it is a regular token you received then you go to the mint and immediately swap those tokens to have your own proofs that nobody else has. Until that time it is still double-spendable.

BUT if you have minted a P2PK token tied a specific pubkey then it can only be spent by unlocking that token with a signature just like in bitcoin p2pk.

These are also be swapped sometimes though upon receiving, depending on user needs: e.g. I want different coin denominations so I consolidate some tokens, or I want to have them in my own mint, in this case I melt them and deposit in my other more trusted mint.

Just today I listened to this.

Inspires me to face my fears, get out and do more for freedom and adopt more responsibility.

Especially "Time to pretend"

The difference between Bluesky and Nostr is:

Bluesky really thinks they can get away with a "fake it till you make it" mentality.

Nostr people built the protocol with the bitcoin standard in mind:

No bullshit. Just show me the incentives and tradeoffs.

Once fake, ALWAYS a fake, no exceptions.

It was so easy to spot this from the beginning.

Thanks!

I managed to make my changes take effect by reinstalling nostr-dvm with pip.

Deleting pycache, recreating the venv and similar did not work.

Hey nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3kamnwvaz7tmjv4kxz7fwdehhxarjwpkx2cnn9e3k7mf0hkrkkr I am testing the tutorial of nostr-dvm.

I encountered a weird issue:

- In '04_simple_chat_bot.py' I managed to run the DVM however when I send it a message, the reply message fails with error.

- I think there is a bug in how it tries to send reply DM

- I tried to fix the problematic line but can't get the modified code under 'nostr_utils.py' to execute

Announcing NostrDVM 1.0.0.

After 1.5 years of experimenting, researching, and building, I'm happy to announce that NostrDVM - A Python framework to build and run Nip90 Data Vending Machines - hits version 1.0.0.

NostrDVM allows anybody to provide both free and paid micro services on #Nostr. This ranges from content discovery algorithms to image, text or video generation, translation services, text-to-speech, speech-to-text, music generation, basically whatever you can imagine, now and in the future.

You might have come across some of these services in some of the social clients or in DVM specific clients, most likely for content discovery.

The framework handles all NIP90 logic, and manages NIP89 announcing DVMs, zaps, nutzaps, encrypted and public tasks, local databases, web of trust, NWC, outbox model, auth with filehosters and a whole bunch of other NIPs, so developers can focus to bring their existing code, models or API to Nostr.

Tutorials to quickly start are provided on GitHub as well.

My hope is this framework can help developers, both professional and hobby enthusiasts to build new, and enrich existing services on Nostr, improving the experience around clients for all users and compete in an open marketplace of services. I'm excited to see who will build the best content discovery algorithms, or who will provide the best AI models in the future.

I'm grateful and l'd like to give a big thank you to nostr:nprofile1qqs8suecw4luyht9ekff89x4uacneapk8r5dyk0gmn6uwwurf6u9ruspzpmhxue69uhkumewwd68ytnrwghszxthwden5te0wfjkccte9eekummjwsh8xmmrd9skctcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs2juazd for making it possible to focus my energy on this project in the last year. It was my pleasure and an honor.

I will continue to maintain DVMs (actually I recently deployed them on a new, more powerful server) and the framework itself, maybe at a bit lower pace than recently, and my DMs are open if you have questions or issues building your own DVMs.

You can install NostrDVM by running

pip install nostr-dvm

and you can find the code/instructions and tutorials here:

https://github.com/believethehype/nostrdvm

Congrats man!

I'm in the process of setting up one.

The only problem I had was to get NumPy package work. It needs C extension libs which the interpreter did not find initially. I had to manually adjust the activation script and add libstdc++ shared lib to LD_LIBRARY_PATH

Anyway big props and I'll keep exploring nostr-dvm!

Some of my bitcoiner friends still need time to get used to nostr.

I believe it is because in nostr there are NO well-understood models of clear tradeoffs like in bitcoin.

Consistency of notes, relay roles and incentives, censorship game-theory, the degree of interoperability and how conflicts in specs are resolved...

Most replies to these questions are just "We'll figure it out along the way" or "It is working most of the time" but this obviously don't help against strong skepticism.

Embrace the chaos like nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75sprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshszynhwden5te0wp6hyurvv4cxzeewv4esdp32r9 says is often a hard sell for people with a mind set on bitcoin meachanics.

Guess they just have to see how radically every app is improving. For them seeing is believing.

Satshoot is best for one-offs gigs I think.

Moreover, open-source apps are the best use cases because there isn't much need for those "corporate secrecy" shenanigans.

Building in the open pays off with easier integration of paid or unpaid collaborators.

I also want more young talent to have opportunities to prove themselves in smaller tasks while also making some money possibly.

You can do gigs for free in satshoot but I really want to see a sustainable FOSS dev ecosystem.

Replying to Avatar Zapstore

Backend dev: interested in helping Zapstore?

Here's a one-off job.

Build the new Zapstore relay on nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 's Khatru library in Go.

It must:

- Do fulltext search on specific fields and tags (NIP-50)

- Implement NIP-86 for whitelisting devs and apps

It should be a drop in replacement for the current relay. Search quality roughly similar to current, to start with. We can discuss the most appropriate search/DB stack.

Not sure if this should be a bounty or paid job, so I'm open to offers! Not to mention have the honor badge of having helped the project πŸ₯‡

Hit me up!

Great to see you guys posting a job on nostr!

You might also want to try [satshoot](https://satshoot.com) for these freelance type of gigs! ;)