I am building a simple recommendation system. - put your npub - I give you a list of people you don't follow that you might find interesting It's based on your personal social graph, so no algo deciding what's interesting on your behalf. @mleku and @Laeserin I am a total fucking noob when it comes to frontend. I only know python. What's the best way for me to build an ugly proof of concept fast and easy? #asknostr What resources do you recommend? Thanks in advance my nostr fellow pleb
i have no idea... you could just start with text output from a CLI program, and then have it generate list events yeah, looking forward to in a couple weeks i'll be dropping my Go nostr library that reminds me, i got new hosting... i'm not even sure now if i need it... gotta fix the thing to send proper cors headers for my nip-05
So you no webapp, just a CLI program? Maybe Do you have some resources/guides/websites for a noob to start making a webapp with a backend?
i have an allergy to web dev... tried for about 3 months to get into it and just couldn't get through the process of progressing from a starter kit to something that does anything i would think, based on my past experience, the best way is to start with something that already is working and try to add a feature to it
Thanks mleku. I have to say, I too am skeptical because I don't want spend hours making sure what I build is 100% aligned with a figma file... However, people understand buttons, not code or math, so if one has an idea he has to build something visual imo
coracle has a WoT function in it, they are showed beside user names at the top of notes, you would need to start with using code like that to build the graph so you can then define your collection function that selects items from it i see no reason why you can't start with testing it that way, there is also several web tools that let you construct transactions as well, you can test that they work before you build an interface for it besides all that, if you have code that does the thing, and if it was in javascript, it could be added to an existing app quite easily i would think
I do have the code that do the thing. https://m.primal.net/HxnG.png Also, I think Coracle WoT model is very naive. Why pow(2, log(n))) 2^ln(n) = 2^( log2(n) / log2(e) ) = n ^ (1/log2(e)) Wtf is that? It's ugly! it's arbitrary!
i haven't actually thought about the math of it, and i kinda don't understand normal math notation i'm used to thinking about functions in code form as i understand it, web of trust is about some kind of hamming distance type thing between nodes in a graph, and you sum all of the interlinking paths by an exponentially decaying weight - ie, the value for close nodes falls off exponentially after several so i guess, thinking that through, that he is using an inverse square weighting, against the sum of all the paths between two users based on their follows this is only one part of it too, i think that you can also add weight by the number and frequency of replies from one user to another to evaluate more than just the simple proximity, to actually how the path is evaluated by each party in the graph
Yeah, I'm not a math guy. The goal was to weight mutes against follows in a reasonable way. Someone suggested I use tan instead. The nice thing is no one has to use the same formula.
yeah, maybe I was a bit harsh, but the thing is that as you can see from he math above it's just strange. if N is the number of people you follow, who follow person X and n is the number of people you follow, who muted person X Then why not just WoT = N - n now you are using WoT = N - n ^ (1/log2(e)) which is just strange. There is no good reason behind it.
If you are interested, we can have a call where we can talk about interesting approaches for WoT. I am a mathematician super interested in WoT, and I've read almost everything I could find about WoT in the last 3 months 😅 @npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn
Let's do it, want to come on nostr:nprofile1qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7qghwaehxw309ashgmrpwvhxummnw3ezumrpdejz7qguwaehxw309a3ksunfwd68q6tvdshxummnw3erztnrdakj7qg4waehxw309a3k7unpvdkx2tnnda3kjctv9uq36amnwvaz7tmwdaehgu3wvf5hgcm0d9hx2u3wwdhkx6tpdshszxthwden5te0dphkgmrzdajzumn0wd68yvfwvdhk6tcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszymhwden5te0wp6hyurvv4cxzeewv4ej7qpqmlcas7pe55hrnlaxd7trz0u3kzrnf49vekwwe3ca0r7za2n3jcaqta6u9k ?
I'm not a math guy either, so I can't really imagine WoT working just from within. Maybe as a recommendation tool for interesting npubs with similarities to you, but no idea how it will work for newly onboarded users. What would they see? How would they be seen? Would it make sense? I recently proposed NIP-85 https://github.com/nostr-protocol/nips/pull/1210 to create chains/networks of trust between NIP-05 providers. It is not based on calculated trust, but real consideration of compatibility.
Flutter is the best for you. Cross platform, WYSIWYG UI editor, more efficient than Electron. Being a noob, you won't complain about Dart. Once you learn it, you can call JS monkeys nigger faggots. They deserve it.
Python's Flask is perfect for this
Use ChatGPT, Claude, or the new Llama 3 (via meta.ai) to help. Ask it questions, ask it for examples, if someone tries to tell you it might hallucinate etc etc ignore them completely. Yes, errors are possible but you just feed errors back to the model and it help you resolve them with a smile.
yeah, I've been using for learning and it saves time for sure. It's not able to do the complex stuff, the sophisticated thinking, but for the mundane things it's great
Totally. For me the best part is how it helps keep me in a flow state since I don’t get sidetracked every 10 minutes on yet another JS or CSS obscurity. It keeps you in the problem solving mindset.
i avoid that problem by using a sane language but that is not much help for front end since a decent GUI doesn't exist for Go
Ha ha yeah I hear you, but no matter the language - nobody has solved layouts. It’s all DOM like and never easy.
well, i made a nice Go DSL for an immediate mode GUI called Gio... i even started to work on managing the data and compute separation you need for immediate mode (like all who have tried working with IMGUIs i put long running compute in the render pipeline) but it's far down my list of priorities because building a good GUI library that is easy to use and intuitive is in the same category of complexity as doing data processing, network protocols or data storage, and the demand for these things far outstrips the demand of Go devs who want to avoid a complex stack