[ home ] [ suggest ] [ soy / qa / g / pol / raid / incel / int / a / muv / qst / tv / r9k / r / giga / x ] [ b / sneed / fap / webm ] [ overboard ] [ rules ] [ blog ] [ kuz ] [ wiki ] [ dailyjak ] [ booru ] [ archive ]

/g/ - Technology

Password (For file deletion.)

Janitor applications are now being accepted. Apply here
Kuz will soon depart again, and the site will once more be handed back to moderator control.

File: 1661345565857.png (22.67 KB, 663x668, soot-computer.png) ImgOps

 No.300[View All]

>/g/ is up for 2 days and still no monthly programming thread
yikserino. ITT talk about what you're working on.
145 posts and 30 image replies omitted. Click reply to view.


I have been working on making my library compatible with both the browser context (DOM) and within nodeJS (non-DOM). Then you can use the same code in my library for server- or clientside rendering. Serving the JSON should be more compact, bandwidth-wise.


that way you can serve the JSON to render for js-enabled clients, with the ability to dynamically re-render when interacting or when new posts appear or to render once on the server side while serving a static page.


That makes sense, so it'd be a bit more lightweight for js-enabled clients. Nice.


Updated it, you can now use the script in Node.js too like in the browser. I added a note on how to import it in Node.js in the readme.


File: 1663517066233.png (261.85 KB, 1886x1883, twocatalogs.png) ImgOps

I manged to cobble together a bunch of the existing pug files and stuff into a catalog page such as it is. No CSS and it's a missing the proper links and metadata but it's progress.
Left shows the classic view from the site page, and right shows the "client side viewer" which reads from its own IPFS node. Data replication is pretty fast on the same machine, but I wonder how it'll work on the wider internet.


File: 1663518321007.png (368.92 KB, 779x790, 20362 - closed_mouth glass….png) ImgOps

looking great.


File: 1663518901965.png (57.71 KB, 1160x1125, 1660789609840388.png) ImgOps


Also something I found out the other day; apparently it's possible to use IPFS over TOR. If that's the case then it alleviates potential concerns over sharing one's IP with the swarm.


And it would still be possible for the mediator server to block TOR nodes and such on the input side, when a user submits a post (since that doesn't go though IPFS). But in terms of actually retrieving and seeding post and file data, that could all be done through IPFS over TOR.


it would be a bit slow but definitely a vital feature considering just about anyone can directly see your IP address and upload incriminating stuff.


Yeah, though I think there would be some plausible deniability in that case, like with the browser cache on traditional sites.


Fragmented the threads database into a per-board system. Now when you view the p2p catalog page it automatically obtains and places the hash-address of that board's thread database for you and there's a button that links to the actual p2p view. Eventually this might just be a straight hyperlink but for debugging and development it's useful to have it "splayed out" to see.


This also broke a bunch of stuff like the overboard for now.


File: 1663545158162.png (3.28 KB, 202x95, fragments.png) ImgOps

Chainposting here but this is a list of fragmented mini databases as the current structure stands.


File: 1663603413156.png (171.92 KB, 904x941, twocatalogscss2.png) ImgOps

Got css working and found out that MDNS (helps peer discovery on the local network) messes with pubsub for some reason, so I turned that off by default.


what is MDNS and pubsub


same question here, I'm 200% ignorant of popular tech stacks outside of what I was forced to work with on my job.


what do you use at your tech job


Go (which is a horrible language on all fronts), typescript + React for frontend, also sucks. And of course le epic blog chain maymay.


NOTHING to do with networking therefore turbo coal


I am new to this myself but as I understand, pubsub is a protocol that allows different nodes in a network, in this case IPFS nodes, to publish and subscribe to messages being broadcast on different topics.
In this case, when someone adds a database entry to a given OrbitDB database, they broadcast it as a pubsub message over the IPFS network, and users subscribed to that database receive that update and modify their local database state accordingly.
MDNS I'm not too clear on the details of, but it seems that it's a way for devices on the same local network, like different computers in the same house sharing a router, to find each other. It's not necessary in this case but I had it enabled when I was trying to fix a bug so it was causing issues. It stands for multicast DNS apparently.


yeah it's just a job, nothing more. My personal gem is my programming language. But recently I didn't make too much progress, God is humbling me and took away my strength to work hard.
Strange that these would interfere with each other. But then again, anything that does anything with routing or DNS usually fucks up everything else. The current state of networking is a total clusterfuck.


maybe because pubsub is just based on the type of content the publisher posts and the subscriber likes, whille MDNS tries to create a connection? both things seem like retarded concepts.


God wants to create, not destroy. all creations of God are great, and their creations are great too.


God will return soon to destroy all the evil nations. And we are cursed for not obeying His laws and believing in fake gods such as democracy. All our western mercantile laws are taken straight out of the talmud.
>and their creations are great too
Cain was a corruption of creation, he was half human and half demon (serpent). And now Cain's offspring is all around us and ruling over us.


that is not destruction. it's re-construction.


File: 1663611839026.jpg (126.3 KB, 769x530, 1627588770313.jpg) ImgOps

True. Still, I have no strength left, I was too haughty and proud of my skill I guess. Back during my younger days, I could program for 12 hours straight without a problem, and now I can barely get 2 hours out of a day. I am lucky on a day when I manage to take care of grooming, grocery shopping, and cooking. I hope this all ends soon and I can get back to doing real work. Not this fake economy and blog chain hype train bullshit.
>NFTs are real
>soulbound NFTs are good
>self sovereign identity
>gotta bank the unbanked
>democracy and voting (mining blocks)
>"customers" and revenue
>social media marketing
>company sneedcord server
It's over.


>Appeal to authority fallacy. Vitalik is a fucking faggot and a retarded MIT-nigger atheist.

>atheism....... le bad!!!! cringe!!!!!!


>>atheism....... le bad!!!! cringe!!!!!!
I say this. I had a dinner with Vitalik once and it was terrible. He's mentally crippled. Not only is he unable to look people in the eye when they are talking to him, he can't even nod or give any signs of acknowledging the other party. When I stopped talking because I was annoyed by his ulta turbo autism, he got so anxious, in the end, he sprinted away at full speed.


>God will return soon to destroy all the evil nations.
How thoughtful of God, well that's a major relief.
What's the plan in the meantime? Cope and seethe?



File: 1663619868602.jpg (24.69 KB, 514x577, GigaChad-physical-stats.jpg) ImgOps

>atheism....... is bad!!!! cringe!!!!!!


>I say this. I had a dinner with Vitalik once and it was terrible. He's mentally crippled. Not only is he unable to look people in the eye when they are talking to him, he can't even nod or give any signs of acknowledging the other party. When I stopped talking because I was annoyed by his ulta turbo autism, he got so anxious, in the end, he sprinted away at full speed.

I actually do this. I'm an autistic programmer (not famous or anything but have some projects with a few thousand GH stars) and once met up with some internet people briefly. Some months later I saw one of them wrote a 4chan post about me which was extremely similar to what you wrote here. I'm incapable of making eye contact with anyone or acknowledging people in conversation or really having a conversation or normal casual human interaction at all. I also have previously sprinted away from situations where I feel anxious, though I've tried to stop doing that.

We can't help it, ok. We're designed to stay behind our computers.


kek. I'm also a computer person, never had a GF, and programming C++ for 12 years now (picked it up when I was 13). I can't talk to women my age properly, but at least I can hold a conversation with other guys, especially when it is about my topic of expertise (back then that conversation was about sharding).
>sharding on your 'erium


File: 1663627294418.mp3 (28.79 KB, fail.mp3)

me and a girl were talking once, and i assumed that she was le heckin based trad girl, so i told her to go back to the kitchen as a joke. she got so mad at me that we stopped talking. this is a girl that agreed with me on the topic of niggers and trannies by the way


Gem-grade chud moment. She was definitely a coaler with her feminism.


File: 1663708092209.png (96.63 KB, 887x1641, thread.png) ImgOps

Got the foundation of the thread page rendering.
The most glaring missing feature is images, but that's going to be its own thing since they aren't added to IPFS yet and it's probably going to work a bit differently than the post data.


this story is so autistic I actually believe it


File: 1663737813104.png (33.27 KB, 781x189, persistence.png) ImgOps

Working on the peer node side a bit. I added a sqlite database that stores database names and addresses so you can load them (and start seeding) as soon as you boot up the peer instead of waiting for an external command. So you can more easily seed and get updates to threads you're interested in without having to actively browse to them.
And I did a cozy optimization where the page templates are compiled once and then held in memory rather than reading them from disk and compiling every time.


what's the roadmap/overall progress?


The current state/roadmap is outlined here in the readmes and some of the issues:
The current push is to get the peer node and viewer software functional so that people can browse threads and download posts and files entirely through IPFS. The meain feature lacking for this currently is the files.
The wider next goal is to have a functional browsing, posting, and moderation experience so that an imageboard can actually be run in a deployment setting. A lot of query-related functions broke when I ported the database from mongodb to orbitdb so I have to go through and fix them.
Then once a site is feasible a site can be hosted and we can see how it works in practice (ie. how well data can be replicated), and add features and possibly make it more distributed from there. In making a site and cultivating a userbase it may attract some collaborators to add stuff as well.


Made it so when a user posts a file, that file also gets uploaded to IPFS. Eventually I'd like to remove the normal file directory as well and just store everything in the IPFS node, but until I figure that out, for for now there is some redundancy. Next I think I'll either handle thumbnails in a similar manner or see how to retrieve and display files correctly on the peer node viewer side.


Yet another bullet dodged by staying away from this project. javascript trannies keep losing.


File: 1663977166705.jpeg (168.47 KB, 526x649, i love science.jpeg) ImgOps

>problem caused by continuous integration
>blame it on unrelated projects and the language used
JS is cringe, but you have made a fallacious argument.


I may be able to just use the inbuit 'ipfs gateway' functionality to serve the files, which allows you to access files via http.




Was mainly working on a hardware mod I was doing on my desktop the past few days. But I found a library that makes porting the database queries way easier and integrated it into orbitchan: https://github.com/crcn/sift.js
For some reason I didn't think to look for this until now but this removes a big obstacle in terms of porting the remaining elements of the database over from mongodb to orbitdb.
Next steps are figuring out nginx/general proxy routing stuff so image and files can be simply served from the IPFS gateway node backend to the html pages, for both the "classic view" and peer node self-served view.


you might have to write your own HTTP(s) server that takes care of that. There are node.js libraries for that that aren't that hard to use.


I'm hoping to somehow fit it into the existing jschan http server/nginx and ipfs gateway to make things simple. The ipfs gateway already serves you images and stuff via simple http request, but it's running on a different port so I'm not sure how to route it.


File: 1664329532919.png (328.24 KB, 689x1876, proxied.png) ImgOps

For the peer node side here's a simple test.
On top we have an image (screenshot the temporary p2p catalog interface). The top image is requested directly from the local IPFS gateway itself. On the bottom we have the image retrieved from the IPFS gateway indirectly through the peer node, with a proper filename attached. This allows us to serve files nicely in the page and have them be saveable with their normal filenames rather than simply an extensionless IPFS hash.
Another benefit is that this concept paves the way for us to serve files from the IPFS node backend itself for people using the "classic view" via html pages served by the main server. This is umportant so we can eventually remove the classic file storage system and just keep everything in an IPFS node and not need to have two copies of everything. But that's a bit later. The next step is messing with the peer node page render templates to get the file URLs working properly using this new proxy system.

[Return][Go to top] [Catalog] [Post a Reply]
Delete Post [ ]
[ home ] [ suggest ] [ soy / qa / g / pol / raid / incel / int / a / muv / qst / tv / r9k / r / giga / x ] [ b / sneed / fap / webm ] [ overboard ] [ rules ] [ blog ] [ kuz ] [ wiki ] [ dailyjak ] [ booru ] [ archive ]