LynxChan 1.7

For a while, the mod tools have been rightfully criticized on LynxChan. I have always put mods behind users and admins and it showed.

But now with 1.7 I looked into changing that. This version brings several improvements to moderation:

Better report queue
Now reports display the reported content, removing the need for mods to open the page to see what has been reported. But in some cases they won't even have to open the page, because now you have the option to automatically delete the reported content when you close it's report.
Along with that, two other lesser changes were made to the report queue; the link to visualize the post takes you to the moderation page and you can close multiple reports at once.
Reports are deleted when their reported content is deleted, removing cluster.

More moderation tools
Deletion by IP have been implement for board staff too, so they are able to deal with spam better without relying on the global staff.
Narrow range ips have been implemented, allowing for range bans to use 3/4 of the ip instead of 1/2, giving moderation more control over range bans.

Moderation quality of life
To make bans easier, now ban duration defaults to 5 years and global staff are not required to use the captcha for applying bans anymore.
Integration with the stopforumstam.org database filters a good portion of spam before it is even posted.
Bans no longer require an explicit expiration date, now you indicate a duration in days, months, days, hours and minutes, using any combination of units.


But not only moderation tools have been improved. A number of details have been changed for users too:
Links to download files with their original name now use the "download" property of the link tag, allowing them to just click on the link to download it and save bandwidth if they had already opened the file.
Extensions have been re-introduced to files.
Deletion now tells the user how many threads and posts have been deleted instead of just giving back a success message.
Ids have their background colored.
New threads only give a response after their page have been created, eliminating the 404 after creating a thread.
Added a thread creation form to the catalog.
TOR posting settings have been changed, allowing site admins to require only TOR users to use the block bypass while allowing them to post files.


And some general improvements were made to site administration features:
Added a setting that control the maximum length of posted messages.
Board owners can turn their boards into textboards.
Now its possible to tell the engine to use ffmpeg to generate gif thumbnails for improved performance at the cost of quality.
Flags now have a class added to it when they are location flags, allowing custom board css to make specific changes to specific location flags.
Added a feature that allows to configure how long ips are stored on the posts.
HTML generation optimized with individual HTML caches.
Captchas no longer require a temporary file written to disk.
Temporary directory is now created automatically if possible.

This update will enter beta on October first and will be released 45 days later.
I have a site running it over lynxhub.com and you can find the project on gitgud.io/LynxChan/LynxChan

Other urls found in this thread:

pastebin.com/raw/UWffBQbn:
docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs
gitgud.io/LynxChan/LynxChan/blob/master/src/be/generationQueue.js
gitgud.io/LynxChan/LynxChan/commit/03714645fba1f1e93c72c89bfebca51b875d4b73
nextchan.org
nextchan.org/
twitter.com/SFWRedditVideos

You're still doing this?
That's nice.
But you are probably still putting static files into MongoDB, right?

...

I don't know if 5 years is a sensible default ban length. That's really just a permanent ban. It's twenty times as long as Holla Forums's "permanent" ban length.

Make it a day or a week instead, maybe. 5 years is something you'd do after heavy abuse, not commonly.

Yeah, but now its way easier to set a ban duration.
You can do it by typing literally two characters.

How come lynxchan works without js clientside when its done entirely in js serverside?

Why wouldn't it?

Polite sage, just checking to see who got

That's a great change, but it doesn't completely remove the problem.

You can't stop incompetence but you can at least limit the damage. This would be a really easy way to do that that doesn't hurt anyone.

It would also save a bit of time when I want to ban someone for a day, which I do often, rather than when banning someone for five years, which I never do.

No matter which default I put, it will be harder for someone that doesn`t use that default often.
No matter which default I use, if you have mods that rather ban for 5 years than type two characters, the board is fucked already.

Just curious, why do you think Copypaste(Hotwheels) hated you and your software, to the point of refusing to even test it while Infinity Next was failing and eventually self-destructing into a fiery crash of PHP and hubris?

t. Makise Kurisu

If I had to give one main reason, it would be fear of change.
Node and mongo were WAY too out of his zone of confort and I think he used my ban from the io.js channel only as a pretext.

However, in the end he ended up even offering me BTC to migrate 8ch to lynxchan, so his views changed over the course of 2015.

The following is a random keyword the nsa monitors via pastebin.com/raw/UWffBQbn: Walther WA2000

I appreciate this method of forcing mods to pay attention or be mocked.

My reasoning behind it is that the only constant ban length you will find across every chan and board are permabans.
If I make it ANY length, more people will always change it rather than use it.
The one that most people will end up using is permabans, because there will always be pedos and spammers.

holy shit it takes 2 mins to open up the source code to change the default you fucking consumers

Thanks Stephen!
Quick question before i deploy this to my message board:
Can i disable images?

Read the fucking post.

...

Friendly reminder that Lynx is a fucking retard that reimplemented vichan in Nodejs.
Friendly reminder that the "offer" (really, the shitting on Josh) of bitcoins from user donations that hotwheels instead pocketed in the end, was well before Hotwheels found out that the brazillian had made the same mistake as vichan in nodejs.

Too bad it would require a complete rewrite to fix it.

what the fuck are you talking about you complete retard who has never coded

Which mistake exactly?

Yeah, kids, caching is bad
:^)
Frying your CPU with a dynamic chan is MUCH better.

I can't do that if I'm not the host.

So you want to have more power over the site than the host?

what the fuck are you talking about honestly just shut up you are a complete retard

A complete rewrite to fix the reimplementation of vichan.

He cached every document with GridFS, which is unsafe.

Caching is bad when you have to hack on a periodic build queue because otherwise you start seeing the results of your dumbfuck decision.
Any site can have a document cache above it. Your solution is not clever, it is fucking retarded. You made the same mistake vichan made, and then you hacked on a periodic build queue like a dog might cover up the fact that he shit on the floor shit with a rug.

The only fucking retard in this thread is you.


Lynx seems to have a lot of fucking retarded street shitters sucking his dick.
I'd rather deal with PHP pro than have to even acknowledge the stupid fucking decisions you made, and are made every day by retarded node monkeys.

Then try this: break the engine and post how you did it.

Then its a good thing I didn't implement a periodic build queue.
But of course you don't know that, do you?
Fuck learning, lets just be retards on the internet.

you are the idiot who thinks changing one number is a program requires an ENTIRE REWRITE! because you have never done programming in your life, you fucking consumer.

nope. already proved that you are the retard.

I guess you're a PHP noob that's scared or too stupid to learn a second language!

Yeah, using an engine that is LITERALLY BROKEN is better.

You can't do it because of the periodic build queue. Again, a terrible idea, an even worse idea than pre-caching, but much like a dog covering up the fact that they shit on the floor in shame, you see no problem with it.

On a scale from 1 to ten, how much dick did you suck?
There isn't a periodic build queue.
Are you just drooling on your keyboard and posting whatever it comes out?

literally what is going on in your head

No, you seem to be an illiterate street shitter.
What requires a complete rewrite is moving documents from GridFS and making it sane, while keeping media there.
This isn't even getting into his deduplication hack. Holy shit is that fucking disgusting. When you can start to be able to produce collisions on your fucking phone in two years, the software is fucked.

cool racism bro

I said
you said

just give up. you aren't even a programmer. nothing you say means anything.

...

Yes, there is. There's discard triggers. Whatever you want to call it, you shit on the floor and like to pretend no one notices.
Anyone who's not a fucking retard notices all your mistakes, it's not just about the mod panel. Which is why no one serious actually uses your software, even in hueland.

md5 collisions
What's with these retarded fucking shitskins today on Holla Forums? Does Lynx have a dicksucking posse now?

Yes, it would require a complete rewrite to fix Lynxchan in general.
Good joke. Sadly, you have no refutation to the facts.

TIL optimization is bad, better do EVERYTHING again even if there is no need to do so.

What is endchan?
What is bunkerchan?
What is freech?
What is spacechan?

What about md5 collisions? What disruptive action could be performed?

I've posted md5 colliding images on lynxchan before, it just sticks to the first one that was posted. told lynxboy to switch to sha256 but he didn't.

seriously? you're still saying this?

what the fuck...

like
you're fucking stupid.

And how is that disruptive?

im not claiming its disruptive, i'm not the weird idiot guy

Just because a rug is used by the dog to cover up the pile of shit doesn't make it a bad thing.
Meme imageboards.

Precomputation for a bunch of popular images, if you wanted to. Users would have to flip a few bits to be able to post actual images.

Because of the decisions he made, he really can't.

SRS
BIZNIZ
Get a life, nigger.

random unrelated question are you a muslim? the way you talk abut dogs and dog shit is very typical of muslims

Also sha512 faster on 64 bit hardware. Even if it's too long you could truncate it.

lmao

No, sorry, not a shitskin. I don't doubt this thread is filled with them though, like yourself.

He can't just stop using md5, because that's what gridfs uses.

GridFS doesn't have this problem originally, because it doesn't dedup by default. A naive implementation, like Lynx did, does.
Media being done this way is okay, but document caching with GridFS, which is an abstraction over a document store in the first place, is pretty fucking stupid.

Are you saying that the thread webpages are deduplicated?

I'm saying that there was no need to use the GridFS abstraction for the document cache, which requires a periodic build queue in order to not shit the bed.
docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs

Its like you are too retarded to acknowledge the fact it doesn't have a periodic queue.
Oh wait.

You didn't even read the page you linked. It gives right there the reason why gridfs is used.

It might as well be, because it shits the bed without it. It's a queue, the details do not matter. There are better approaches to caching.
That's an even stupider reason. You realize you sound incompetent to anyone who's worked with any document cache, right?

How does it feels to be a nigger?

gitgud.io/LynxChan/LynxChan/blob/master/src/be/generationQueue.js

You were saying?

No one's a nigger here, except for shitskins who've never worked with real document caches.

durr

It was only implemented in response to the fact that the gridfs handler was shitting the bad, not any real performance reasons. In fact, the queue will probably choke at any serious scale.

LIke next's?
OH WAIT
It doesn't have one.

No, it was implemented like that from the ground.
If you knew anything about the project, you would know it was designed around it.

Next can be cached in NGINX right now, with bypassing the cache on session instead of abusing ESI.

The fact that you think that every project should have its own application-level document cache shows that you haven't a clue.

No, it wasn't. It was implemented after
Jeff showed Lynx how fucking stupid he was. The queue was a hack to cover up the fact that he was a fucking retard, much like a dog uses a rug to cover up the fact that he shit on the floor in shame.

gitgud.io/LynxChan/LynxChan/commit/03714645fba1f1e93c72c89bfebca51b875d4b73
It was the THIRD COMMIT on the whole fucking project.
Just admit you have NO IDEA about what you are talking about and are just a random retard.
By that time jeff didn't even knew what lynxchan was.

You used to be able to break the implementation because he used gridfs for caching documents like a fucking retard. The queue chokes at any serious scale. It's garbage.

As opposed to the retarded shitskin brazillian who implements application-level document caching in a file abstraction over a document store.

whoopdy fucking due
Better stop using computers at all, everything had bugs at some points.

The bug is the entire project. It requires a complete rewrite.
You can keep deflecting from what I've said, Lynx, but it doesn't make you any less of a fucking retard.

k

vichan also worked as documented. that doesn't make it any less broken.

Then break lynxchan.
Then post here how to do so.

Hardly, it doesn't even have a proper documentation.

Show me that Lynxchan can handle 35 posts per second, on say a single machine with four cores like the i5 shitboxes, without the queue choking. Next could do that quite easily.

This is insert and build, not GETs.
Not to mention that beyond that scale, even if your retarded queue doesn't choke (it will) it will be even worse. Whereas, post and insert would be load balanced in Next's setup.

You are the one saying its broken.
You show me it can't handle that load.
Also, unlike next, lynxchan implements sharding on its own, so you could setup a cluster and scale it horizontally.

It's demonstratably broken.
The answer is that, no, it can't handle 35 posts and builds per second on a single quad core without the queue choking.
Next could, and better caching techniques are above the application level. You don't fucking reimplement a document cache in every application, unless you're a shitskin like you Lynx.

Is your ass hurting after pulling so much shit out of it?

cool racism bro it totally turns your empty failed criticism into valid points.

You are saying that your software will have no problem performing around 40 inserts and unique builds per second, on a comparable quad core?

Yes, I am.

Cool software bro.
Nice application-level document cache.
Nice deduplication implementation.
Nice mod tools, even after the update.
lmao

That's funny, because it takes about five seconds to post and build a single thread on your slow as shit instance.
Protip: your queue will choke.

Are you so desperate you are now resorting to plain lies?
Sad, bro.

There's no lies here. Your queue will choke with something like 40 unique inserts and builds per second on a quad core, whereas Next could handle that.
The vast majority of the workload is better served stale while it revalidates with a cache above the application. Most use javascript, so of course the updates come in via the dynamic endpoint.
Instead, like vichan, you pre-cache json, rss, and html endpoints on the application level.

If that's so obvious, how come you still haven't posted any evidence?
And wasn't next that engine that failed so hard that even it's developer couldn't make it work?

nextchan.org

delete it fat

no (^:

Because if a build takes that long on Lynxhub, it's going to choke when you have 40 unique inserts and builds per second.
You're essentially saying that you have the ability to TEMPLATE (i.e. build) at least 200 pages per second on a quad core, with no slowdown.

You have the rss, json, html, and catalog/index/index page endpoints to rebuild.


Next was the engine that was railroaded by a fat fuck who wanted to rip off a hundred or so people who donated by closing up the source. The fat fuck being Jim Watkins, despite the fact that he hadn't paid a single cent for development.
It was also plagued by migration failures with PostgreSQL binary querying, which took a month to fix in core Laravel, because said fat fuck just had to have PostgreSQL so his gook employee could take over database administration when the cripple died/he inevitably took over. Again, despite the fact that he hadn't paid a single cent for development.

Again, you don't know how it queue works.
The queue discards repeated rebuilds, causing it to become more efficient the more load it has to process.

Are you unable to read, shitskin?
Key word: unique. Unique rebuilds.

On a site with at least 1 post on a unique board in a unique thread or new thread, per second, you now have at least 200 rebuilds you have to do. Your queue will choke. Fact of matter.

So say, at least 40 boards. 1 post per second per board.
And, no it's not as "efficient" btw, compared to a finely tuned document cache and serving stale.

Prove it will choke and next wouldn't on that load.
I think not even 4chan has 40 boards taking 1 post per second consistently.

It takes five or so seconds to template and build on your slow as shit instance.
I don't know what I'm talking about: the post.

...

lmao, all you need to do is show the benchmark of a lifetime of a single build to prove me wrong, right? Surely your templating is NANOSECOND FAST and efficient.

4chan has ~70 boards, btw.
/g/ alone gets 1 post every 3 seconds, more or less, during non prime time.

No, not really, because full rebuilds rebuilds the whole log history and don't scale with sharding.

It is, though.
Specially with 1.7 and individual templates.

I'm not talking about a full rebuild, faggot. I'm talking about insert and building in response to a post.

Holy shit, you really are a retarded shitskin.

At least others that aren't fucking retarded understand what I'm saying that your queue will not scale. A similar build queue written by Jeff couldn't even scale with Holla Forums's firehose of data.

You wrote dogshit. Congrats.

Maybe if
didn't compose half of your posts, it would be easier to comprehend it.

Show me the lifetime of the build then. I know for a fact it doesn't take less than one second to template the html, and build the json and rss endpoints. If it did, you'd be better off with dynamic serving, and your cache is pretty redundant, isn't it jackass?

They're easy to comprehend, it's just shitskins subhumans like you who have trouble grappling with the fact that you wrote dogshit.

wat

Lynx, it's like this with you every thread. You ignore the facts. Sadly, bleaching your skin won't change the fact that you have a shitskin brain, so there's really no hope for you. Nothing to do with the color of your skin, it's just a common trait amongst shitskins to have subhuman intelligence.

You want a fact? A single thread page rebuild takes about 130ms to complete.
Over 7 pages per second per core.
Now if you have a very modest cluster with 2 computers with 4 cores each, that would be over 60 pages rebuilding per second.


But we both know you don't give a single fuck about facts.

Okay, then no where near 200 pages per second on a single quad core, which is what you need to handle 40 unique rebuilds.
I like how you left out the fact that your json and rss also has to be built.
That's not even getting into the fact that your queue will definitely choke.

That was already with json and rss.
And if you have 200 posts per second, you are not going to use just fucking 2 shitty computers.
Not even Holla Forums has that many posters and still have over a half dozen machines.
Are you doing this on purpose or are you just a total retard?

Also, I like the fact that Next can technically build faster than that.
7 pages per second per core? lmao.
You shit on Josh all this time and it turns our yours is slower to build than his, despite the fact it was using a huge as fuck web framework.

Like, are you implying that a site with enough people to be receiving 200 posts PER SECOND will just have one computer with a single core to handle it?

Holy fuck, are you high?

Again, work undone doesn't exist.

Next built faster on the fucking beta, jackass. Even with the slow as fuck captcha hogging resources.
Now you're just getting pathetic.

Shitkins prove they can't read, again.
40 posts per second. Let's say 1 post per board, 40 boards. That's 200 rebuilds you need to do, per second, not even taking into account the time to queue and how your queue will choke it.

Daily reminder that Next dynamically built and served pages faster than Lynxchan. wew

Jesus christ, you are so fucking clueless.
Whatever, you seem to think next had this magical performance, even when it couldn't handle ANYTHING people threw at it.
If you think it's so good, run a site on it.

I didn't say 200 posts per second. I said 40 unique posts. That's 200 page builds, the html templating probably taking the most time.

k, bro
A site taking 40 unique posts per second, each on a different thread should be able to operate with a single core.
Whatever you say.

Next could hit 40 requests (dynamically templated, that means built and served to you shitskins) per second, per core, without the captcha.
That's without a document cache, application-level or otherwise. That's straight up building from database cache, templating the HTML and serving the page.

I am still waiting to see your site running it.
In the meanwhile, all of the sites running lynxchan are doing just fine.

You just said that you could not handle more than 8 page builds per second per core, assuming what you're saying is true and the the build included rss, json, the thread and catalog/index endpoints.

So no, it could not.

It didn't fail at 16chan. Josh moved it to an underpowered VPS and then stopped hosting it.

It's running at nextchan.org/ right now.

...

And I don't see how is that an issue when the queue is able to discard redundant tasks and sharding is able to use all cores of all slaves for processing these tasks.

Just FYI, it could handle 100 requests per second on one core on his VPS by the end.

And I think that was with PHP-FPM misconfigured.

Returning 200 for me.
Perhaps your shitskin internet is the problem.

Lynxchan can handle 250.
So big fucking deal handling 100.

lmao

That's dynamically templated.
What you're talking about is serving from GridFS at 250 requests/second.
If we want to measure dicks, Next could serve from cache at whatever throughput NGINX or Varnish could serve at on a single core.

You are not even trying anymore.

But it doesn't.

Sorry, document cache.
And yes, it is baked in, because it's application-level document caching, and you are a fucking retard.

Just give up, Lynx. Next templates faster than you can even fucking build.
That's pathetic.

Yeah, it was so fast it was timing out left and right before josh gave up.
Sooooooooooooooooo fast.
It handled 504's in just a minute!

I can configure it right now on my local machine to cache with NGINX, or Varnish. Couple little implementation details in there, but it does.

You just admitted that Lynxchan builds much slower than Next templated and served.

Then do it.

You just admitted to be a literal autist that can't into sarcasm.

So "facts" were sarcasm?

Where is your server?

Can't tell you, but I can tell you that it serves faster than Lynxchan and has X-Varnish-Cache headers :^)

k be happy posting on it.

How does it feel to finally admit that you build slower than Next templates and serves dynamically, though?
Beaten by PHP, that's gotta hurt Lynx.

I think i gonna commit sudoku tbh fam
:c

Not just PHP, but a monstrous web PHP framework.
Maybe you should use io.js to make your shit build faster :^) oh wait, that won't help.

autism

all I want is the bug fixed so i can keep the board clean and safe techbo: it's hard to fix did you really say it's hard to fix spoilering images? tca: view composer is broken

NEXT WILL SAVE US
Nevermind the admin of the ONLY site running it saying its broken.

A program has a bug. Stop the presses!

...

Someone who doesn't know Laravel very well, as admitted on the first post of the site, says it's hard to fix.
You're really lashing out hard, Lynx. It must have gotten to you that PHP templates and serves faster than your slinky code can even template.

Looks like shit.

The following is a random keyword the nsa monitors via pastebin.com/raw/UWffBQbn: BITNET

why is lynxchan so good?

It's a quarantine area for cancer. Please promote it to the meme-vomiting fucktards around this site so they depart for there.

WEBSCALE
E
B
S
C
A
L
E

But then no one will be posting here!

freech.net/tech is a good lynxchan instance

That's a board, not an instance. Shill a little less transparently please.

I'm just guessing here, but the Lynx browser doesn't have javascript.