[ home / rules / faq ] [ overboard / sfw / alt ] [ leftypol / edu / labor / siberia / lgbt / latam / hobby / tech / games / anime / music / draw / AKM ] [ meta ] [ wiki / shop / tv / tiktok / twitter / patreon ] [ GET / ref / marx / booru ]

/tech/ - Technology

"Technology reveals the active relation of man to nature" - Karl Marx
Name
Options
Subject
Comment
Flag
File
Embed
Password(For file deletion.)

Not reporting is bourgeois


File: 1631336482854.png (Spoiler Image,261.26 KB, 480x481, God.png)

 

Every few months, people come up with an idea to create a new imageboard, since mostly everyone is dissatisfied with the state of vichan/lainchan, or thinks they can do it better. Having better software would greatly enhance the experience for both regular users and mods, and have more crossover appeal to “normies”. The problem is that no one can agree on the technical or more importantly non technical decisions on how one would go about making an actual, usable replacement for lainchan.

In fact, people don't even agree on whether the imageboard replacement should be an imageboard at all. This thread is a merged, consolidated, megathread of all the various attempts at answering this question that people have made.

Previously, there was a thread on outreach to lainchan, including a strawpoll:
https://lainchan.org/%CE%BB/res/26674.html

The poll determined it should be built in Java, but a significant minority wanted to use a functional programming language, esp. Haskell, or Clojure/Lisp.

The only way a new imageboard will be built is if multiple people, technical jannies and lurker-programmers, from here and lainchan and even elsewhere, actually collaborate on a single project and concentrate their efforts on this.

There are important technical and non technical questions to be answered.

Namely, do we even want an imageboard?

Some anons have suggested a radical re-imagining of the medium of anonymous communication where boards are replaced with tags. Some want named accounts, some want textboards, the ideas are endless. Is there anything to be improved upon with the imageboard concept, and if so, what? If reddit is an improved version of the phpbb type forums of old, what does a “modern” version of a chan look like?

Feel free to use this thread for any polls, discussion, of the formats, technical, or non technical decisions related to a vichan replacement both for this site and in general.

Also comment on:

Concept: Classic Imageboard vs something else
Architecture: Monolith vs Microservices
Distributed: Distributed/Federated vs Standalone
Front end: SPA (ex: Angular, React) vs Server Side HTML templating
Backend Language: Java, C#, Lisp, Rust, Golang, PHP, etc.
Database: SQL vs NoSQL
558 posts and 82 image replies omitted.

Was playing with SQL triggers some possibly to make something a little bigger than my toy now that have some new ideas on the interface from >>>/siberia/556846. Would you prefer to use NULL to indicate a thread before a trigger updates it to the appropriate value, or a constant like zero?

>>26134
Also curious about what sort of a minimum acceptable toolbox for moderation would look like. Was thinking since my versions going to be invite only perhaps just moderation tools on users would be enough, so functions: change-post-status, user-history, ban-user, post-reports, and user-reports; might even make it all public.

>>26134
I prefer the second because you can then the query the entire thread with just
select * from simple where thread = ?;

a query you can then optimize with an index
create index simple_index on simple(thread);

>>26140
My example insertions are a little misleading because in the first the thread is erroneously set to be 0 which is an invalid value for that implementation. Reading would be the same either way if TRIGGER actually fired with correct values.

Ugh, can't get the SQL wrappers to work.

>>26142
The Common Lisp SQLite wrapper doesn't support multiple statements per query which TRIGGERS seem to require. Might try again with the Postgres, sort of annoyed.

>>26143
Postgres is more adapted and fast for web projects right? Also i've been using raw SQL queries, they're not that hard to make so try with those

>>26143
>>26144
The raw statements were working in SQLite without the wrapper, the rewrite of the TRIGGER statements for PostgeSQL are not however, without the wrapper or with it, and they're much uglier.

>>26145
Compared to the SQLite. As far as performance, and security goes PostgreSQL does have SQLite beat as far is known to me, and so its probably a useful skill to learn. Just not sure about what's going wrong with these TRIGGER statements.

>>26143
maybe remove the semicolons at the end?

>>26144
what do you think he is writing?

>>26147
>maybe remove the semicolons at the end?
They're all necessary for the thing to run in the interpreter.

>>26148
I mean, when you do (execute-non-query db <query string>), if it is a single query (a single trigger) maybe remove the semicolons at the end of the string
I know this sounds dumb but if you have multiple queries in the same string, see if you can break that string into individual queries
I'm reading https://repo.or.cz/cl-sqlite.git/blob/HEAD:/sqlite-ffi.lisp and it seems like you could write a short binding to call the c function made for this stuff (https://www.sqlite.org/c3ref/exec.html) from cl

>>26145
add "for each row" to the triggers? and the language should go after the closing $$

>>26149
>add "for each row" to the triggers? and the language should go after the closing $$
Found it concurrently with you here, it was the missing FOR EACH ROW.

>>26147
>what do you think he is writing?
((((())))))

>>26151
Was writing SQL as s-expressions before. Both ways sort of suck because there's either a bigger inevitably more incomplete translation layer, or programming in strings. Might move all the queries to S-SQL leaving the TABLE, TRIGGER, and FUNCTION definitions as strings.

>>26152
Yesql https://github.com/krisajenkins/yesql seems pretty ideal by contrast. Just write SQL in an SQL file queries return a hashtable keyed to the query. Almost makes me want to give Clojure a go, except for actually quite like the implementation of CLACK, LACK, and the tiny framework built on top; not sure if there's something that ranges from sinatra style routes to hand written HTTP responses like that.

Have something like a complete database and queries for an imageboard and was able to do some basic HTML rendering from it. Seems like it would take weeks or months to have a completed product if it was continued to be worked on. Beyond the TRIGGER statements the only interesting items are post status being an enum, files being BLOB, and users having ID and an INVITE field.

  -- BURY is SINK & LOCK
  status TEXT CHECK (status IN ('NORMAL', 'SINK', 'LOCK', 'BURY', 'DELETE') ) NOT NULL,

>>26160
It's all good now.

>>26158
honestly this sounds like a tooling problem. if you just want to be done with it maybe consider "adopting" the html templates from an existing codebase (https://desuarchive.org/g/thread/101401270/#101406085)

>>>/tech/26160

repo or bait

>>26162
Technically already have something like templates implemented, used to render: >>26023 though would want to rework the catalog to look more like https://lobste.rs or https://news.ycombinator.com where you can easily search for older threads as mentioned here: >>>/siberia/557113

>>26163
Also think the catalog view should matter dramatically more than the typical board view to the point where you could get rid of it.

>>26164
Picochan only has a catalog view (though i can't remember if nanochan did as well and couldn't find any sources). If you don't know the software, it's a couple of lua scripts with a sqlite backend. Picochan is the nanochan fork by asukafag, whom you should know in person if you've ever visited /tech/ on a badly moderated altchan https://archive.org/details/picochan

>>26169
This is an good project; sort of discouraging to see. Seems the lack of tooling, e.g. HTML templating made things a bit harder on them than it needed to be, and it's more complicated than would have expected going off the name. Maybe it's just the large files and lack of comments.

Should probably write a mathematics textbook instead.

surely the millionth vichan clone will make hundreds leave social media and flock to imageboards this time

>>26190
>surely the millionth vichan clone will make hundreds leave social media and flock to imageboards this time
Marketed towards normies it could know success. Let me believe.

Btw according to the designer his design is almost ready, then he will have to do the frontend

>>26190
Who are you crying about?

>>26199
>Marketed towards normies it could know success. Let me believe.
so no porn, no violence nor politics, but still lefty and only allow adults to post. that would attract normal/healthy people I believe

>>26230
>no politics but still lefty
That doesn't even make sense.

>>26233
think of a radlib hugbox like getchan

>>26236
>radlib hugbox
This sounds disgusting. I'd rather die.

>>26199
>Marketed towards normies it could know success. Let me believe.
Imagine it would have to deviate rather markedly from the format to do this. My routes are broken, and considering abandoning my project, but imagine a live imageboard's algorithms, and anonymous posting with https://lobste.rs style accounts, invites, tags, pagination, and catalog page. Could be a real winner.

Would be up to moderation and the tagging mechanism to keep it from being disgusting.

>>26247
>Imagine it would have to deviate rather markedly from the format to do this
Yes, we're going for a radically different look. The current iterations are very far from the norm in terms of imageboard.

>My routes are broken, and considering abandoning my project

Oh, what's happening, you''re already far in your projet! Ours might fail, we're not web devs, don't let ours discourage you!

>>26248
>Oh, what's happening, you''re already far in your projet!
Ha, nothing much; suppose that's the main thing. Enjoyed writing the SQL for the most part and some of the business logic but not as fond of the template or making the end points. Haven't gotten to the point of appreciating a little bulk…

>>26249
Might also be good to just "non-compete" out of computer science.

>>26249
>Ha, nothing much; suppose that's the main thing. Enjoyed writing the SQL for the most part and some of the business logic but not as fond of the template or making the end points. Haven't gotten to the point of appreciating a little bulk…
Maybe not enjoying writing the endpoints is due to the stack you use? We all have our preferences, and some stuff can be more verbose/hard/unfunny than other

>>26250
>Might also be good to just "non-compete" out of computer science.
How? Don't drop out of something you can like just because of that!

Aight, our designer is having some issues with seeing what could a modernized and ergonomic imageboard could look like. In order to speed up the process, i am asking you guys for ideas.
I will share the designer's next iteration if it's not too bad.

>>26266
>Aight, our designer is having some issues with seeing what could a modernized and ergonomic imageboard could look like.

>>26253
>Maybe not enjoying writing the endpoints is due to the stack you use?
This is entirely possible. Would probably prefer to use HTTP server directly and handle routes via some elegant pattern matching; closer to what was being done before. Not sure there actually is a way to make such elegant pattern matching as one has in mind however.

File: 1722381881410.png (283.55 KB, 993x626, wallaceposting.png)

>>26266
>Aight, our designer is having some issues with seeing what could a modernized and ergonomic imageboard could look like
Play around with https://nuclearchange.net/social/
That shit's shnazzy yo. Definitely a step-up from here with the real-time replies and overall smoothness, and some of themes are more modern (in the settings menu).
There's also lainchan's optional keyboard controls and WYSIWYG, I haven't used those but it's ergo.

>>26266
maybe something like screencaps in this: >>11352

>>26328
the normal way of doing this is a (pseudo) radix tree, if you feel like reinventing the wheel. that way you can have regex routes and such without hard-coupling. it is the type of thing you can bury below layers of abstractions
ultimately the only thing the program does is shuffle data between the http requests, the database and the html templates. in a high-level language like lisp I imagine there must be ways to abstract this to a point where you can add new endpoints just by describing what comes in and what comes out

>>26334
>>26336
Thanks for the suggestions. We find it too old school and still not approachable or esthetically pleasing., but they have value, i like 11352, but we want to make it feel different.

*approachable or esthetically pleasing when compared to nowaday's social medias

Anon making a board in C++ with a team here, we need name ideas for the imageboard and for the company/organisation that makes it, please help us with some.
The org/company will also make other open source closed contribution privacy related software.
I think "allchans" is a good idea for the imageboard, and i like "privateware" for the organisation name.

>>26396
>Anon making a board in C++ with a team here, we need name ideas for the imageboard and for the company/organisation that makes it
Chan++ ?

>>26396
>privateware
Seems like some play on anonymous would be the way to go

>>26400
geg, maybe 5chan. However, the fact it's written in C++ is just a detail, this wont be another gochan or jschan. >>26036 is our goal, we still have to make it clearer though.
(at least we hope so)

>>26401
I also proposed "anoncodes" but "priva(te)ware" is my favourite so far

>>26396
Make it something memorably unremarkable, like NGchan, quickboard or anond.


Unique IPs: 15

[Return][Go to top] [Catalog] | [Home][Post a Reply]
Delete Post [ ]
[ home / rules / faq ] [ overboard / sfw / alt ] [ leftypol / edu / labor / siberia / lgbt / latam / hobby / tech / games / anime / music / draw / AKM ] [ meta ] [ wiki / shop / tv / tiktok / twitter / patreon ] [ GET / ref / marx / booru ]