amark / gun

An open source cybersecurity protocol for syncing decentralized graph data.
https://gun.eco/docs
Other
17.92k stars 1.16k forks source link

Have AI gen some contributor docs, docstrings, comments #1370

Open bitnom opened 3 months ago

bitnom commented 3 months ago

If you're someone who knows gun's code structure very well, you could go back and forth with an LLM, and generate some pretty helpful contrib docs & code comments in less than an hour. It's needed for contributions. There are too many issues, and people who want to help don't feel like they can without reverse engineering.

https://github.com/amark/gun/issues/1362#issuecomment-2028744785

I have a big project I would like to use gun for, but the issues are scary to read through. Must resolve. This might be my favorite code repo of all time. I wish I could use it with negligible fear.

crunchysteve commented 3 months ago

Yes, totally agree! Gun.js could save the world, it is THE zero backend solution for any application, but the code is unreadable by newcomers and the documentation doesn't help enough with this.

fitouch commented 3 months ago

Same here.

amark commented 3 months ago

@bitnom @crunchysteve @fitouch happy to do podcasted screencalls with ANYONE reviewing & explaining code.

(an aside problem: (A) somehow I broke GitHub notifications, so I often completely miss issues/PRs until they're mentioned in the http://chat.gun.eco , so helping me get that fixed would improve my response time to GitHub (B) I lost control of being able to keep up with lower priority bugs when we spiked from 72K mau -> 26M + my life got demolished separately, so I'm still trying to finish high priority bug fixes around scaling but barely have had time, tho I think I'm entering into a stage of my life where that's calmed down and can hope hope hope back from legal/etc. to coding next month. EITHER WAY, GETTING ME ON SCREENCALLS IS THE BEST WAY TO GET MY ATTENTION, I usually reply fastest by DMing me on Twitter, pretty much every other social I have notifications turned off... even telegram now. Tho even Twitter is starting to get invaded. The protocol is to just frequently [please do this!] ping me saying "free for a code call?" randomly and within a day or few usually it works.)

bitnom commented 3 months ago

@bitnom @crunchysteve @fitouch happy to do podcasted screencalls with ANYONE reviewing & explaining code.

(an aside problem: (A) somehow I broke GitHub notifications, so I often completely miss issues/PRs until they're mentioned in the http://chat.gun.eco , so helping me get that fixed would improve my response time to GitHub (B) I lost control of being able to keep up with lower priority bugs when we spiked from 72K mau -> 26M + my life got demolished separately, so I'm still trying to finish high priority bug fixes around scaling but barely have had time, tho I think I'm entering into a stage of my life where that's calmed down and can hope hope hope back from legal/etc. to coding next month. EITHER WAY, GETTING ME ON SCREENCALLS IS THE BEST WAY TO GET MY ATTENTION, I usually reply fastest by DMing me on Twitter, pretty much every other social I have notifications turned off... even telegram now. Tho even Twitter is starting to get invaded. The protocol is to just frequently [please do this!] ping me saying "free for a code call?" randomly and within a day or few usually it works.)

I'm going to make time for this as soon as I'm done resolving the cards currently on my clickup board. I should be through it by the end of the week.

fitouch commented 3 months ago

@amark @bitnom @crunchysteve I'd like to help with cleaning up and improving the code. Additionally, I'm interested in developing it in TypeScript and creating a more user-friendly storage adapter for native mobile applications. Right now the code is hard to understand what it’s doing.

bitnom commented 2 months ago

@amark @bitnom @crunchysteve I'd like to help with cleaning up and improving the code. Additionally, I'm interested in developing it in TypeScript and creating a more user-friendly storage adapter for native mobile applications. Right now the code is hard to understand what it’s doing.

I've been thinking about this as well. Once everything is typed, transpiling and porting are within reach as well. There has yet to be a successful port that I'm aware of.

amark commented 2 months ago

Back in the USA @bitnom @fitouch @crunchysteve best to DM me on Twitter cause that triggers a notification for me. Or WhatsApp.

http://gun.eco/docs/Porting-GUN many work, by "successful" what are you measuring? For me, it's performance.

There was notabug's typescript gun that handled 2M/monthly users at one point, and a new project called top-gun. If you're interested in typescript, prob better to do calls with those people, as I have 0 interest in using typescript myself and won't want to be distracted with it on calls, just as heads up.

bitnom commented 2 months ago

Back in the USA @bitnom @fitouch @crunchysteve best to DM me on Twitter cause that triggers a notification for me. Or WhatsApp.

http://gun.eco/docs/Porting-GUN many work, by "successful" what are you measuring? For me, it's performance.

There was notabug's typescript gun that handled 2M/monthly users at one point, and a new project called top-gun. If you're interested in typescript, prob better to do calls with those people, as I have 0 interest in using typescript myself and won't want to be distracted with it on calls, just as heads up.

I wouldn't want to talk about TS.

fitouch commented 2 months ago

Back in the USA @bitnom @fitouch @crunchysteve best to DM me on Twitter cause that triggers a notification for me. Or WhatsApp.

http://gun.eco/docs/Porting-GUN many work, by "successful" what are you measuring? For me, it's performance.

There was notabug's typescript gun that handled 2M/monthly users at one point, and a new project called top-gun. If you're interested in typescript, prob better to do calls with those people, as I have 0 interest in using typescript myself and won't want to be distracted with it on calls, just as heads up.

I'm currently not focusing on TypeScript, but I do plan to eventually address it. I'm interested in implementing Gun.js across different programming languages like Swift, Kotlin, etc. Based on your suggestion, should I start by looking into the 'Porting-GUN' documentation to facilitate this?

BTW I don't have Twitter anymore, what's your WhatsApp #?

amark commented 2 months ago

mY w HAT numb ER iz ONEPLUS USA then seven hundred sixty. Six ate 9. 2 four 6 ate. (lol, I asked AI to extract the # and it did, no problem. I guess its useless to combat/fight bots. lol)

Yes, Porting-GUN best. Highest priority would be Rust. Here were my learning attempts: https://gun.eco/docs/Rust Martti was about to attempt the PANIC tests which is probably farthest along port perhaps can continue from https://github.com/mmalmi/rod (fork tho)

Back from Mexico, DM me & we'll do a call! @fitouch @bitnom @crunchysteve

crunchysteve commented 2 months ago

I have spent the last 10 years, since retiring from broadcasting (audio producer), learning C++ and am coming to the conclusion in recent months that I NEED to learn Rust. Even for the microcontroller stuff I play with! I think from cursory sandbox playing, Rust is "the one ring to rule them all" and agree, the first port of gun needs to be to Rust. Second port, yeah, C++, for back compatibility.

While I don't get what the Javascript code is doing (JS breaks my brain completely. (I have tried, failure is no shame, I accept that minor learning difficulty), I do understand the basics of how Gun works and what a systems level language could do for Rust. I've been following the whole peer-to-peer internet thing for a few years now and it's not too big a call to say that the fate of civilisation rests in breaking the corporate control over network services. I genuinely believe that Gun is the tool that can give social networking back to the people and put the data miners and social engineers like Zuck and Musk back in their boxes.

Taking Gun to a systems level environment, like Rust, has "mum and dad coder" accessibility implications that C++ simply can't deliver. Garage coders are the people who can balance the corporate/capitalist internet and give is more privacy and protection from the knid of manipulations that first become "mainstream public" with Cambridge Analytica.

I'm not a skilled coder, I've just spent a lifetime working with tech and made it my job to understand the deeper workings of my tools of trade. This has made me a tech watcher, with my news media background also giving me an understanding of the social implications of distributed tech versus centralised tech. Centraised tech is "IBM's Toaster." Decentralised, true peer-to-peer tech, is "Microsoft's toaster," everybody has one, they can be a bit temperamental, but they're mostly interoperable and we mostly know what's inside. (I use Apple's platforms, but I can't deny that the historical importance of the PC-AT and its descendents!)

From a social standpoint, and with a dream of even handheld and desktop hardware being the actual network infrastructure with some sort of LoRa/WiFi hybrid replacing cellular, Gun is placed ahead of the curve to be able to build an internet where we are all our own server. Yeah, I'm a thinker rather than an actor, but Gun blows my mind for its potential for the next big tech revolution. No pressure, but don't drop the ball! :-)

I'll bow out now, and keep watching. Just my 2 cents worth (and in AU$ at that) but I'm impressed, even if I struggle to read even the basic bits of the code. Gun or something like it may just break the back of corporate control of the internet. Pass the popcorn, my money's on you right now, Mark.

bitnom commented 2 months ago

mY w HAT numb ER iz ONEPLUS USA then seven hundred sixty. Six ate 9. 2 four 6 ate. (lol, I asked AI to extract the # and it did, no problem. I guess its useless to combat/fight bots. lol)

Yes, Porting-GUN best. Highest priority would be Rust. Here were my learning attempts: https://gun.eco/docs/Rust Martti was about to attempt the PANIC tests which is probably farthest along port perhaps can continue from https://github.com/mmalmi/rod (fork tho)

Back from Mexico, DM me & we'll do a call! @fitouch @bitnom @crunchysteve

is rust rly necessary? I would be even more inclined to use something like zig, which I have no problem writing. When I look at Rust code, I feel like I'd rather be getting a root canal than looking at it. Not that I don't understand the benefits. I do (mostly) but I question the ultimate worth in the grand scheme of things. Is it rly THAT much more safe than if I use zig? I have my doubts. One does hope to finish the code they start, someday.

amark commented 2 months ago

thanks @crunchysteve , would love your help tho! The 2 resources I pointed to make my code be less scary :P

@bitnom unfortunately it just seems about popularity - since GUN is an embedded database, having a library in the most popular of server side langs, makes it easier for other devs to adopt - else, they have to make their own interface, but then its no longer embedded (you lose performance, etc. etc. lot more work to integrate, etc.)