[–]▶ No.735410>>735416 >>736030 >>736157 >>739009 >>793096 [Watch Thread][Show All Posts]
Testing instance: https://blaze.nextchan.org/
Repo: https://gitgud.io/m712/blazechan/
Current status: Beta v0.1.0, v0.1.1 being released today.
Please post suggestions/bugs here.
▶ No.735414>>735415
▶ No.735415>>735417
>>735414
How about turning 4chan board names into metaboards? Then we can have the legacy board names without any central authority.
▶ No.735416>>735419
>>735410 (OP)
oh shit that's my post
▶ No.735417>>735419
>>735415
if by metaboards you mean multiboards or overboards, sure
▶ No.735419>>735420
>>735416
It was the only thread which wasn't my spam or a shitpost, lel
>>735417
I'm thinking something like this: Administrators can create "metaboards" (multiboards focused around a certain topic) and board owners can add their board to metaboards (with a low limit like 2 or 3?). Or maybe tags can be metaboards? (something like https://blazechan.org/~videogames/ could have /v/, /vg/ and so on and so forth.)
▶ No.735420>>735421
>>735419
kind of like the promisedchan idea?
▶ No.735421
>>735420
No, PromisedChan is something else I think. I still don't entirely understand how it works, though I'll definitely give it a shot once I complete the regular Blazechan backend and frontend.
▶ No.735554
Bump. Version 0.1.1 released.
▶ No.736030>>736161
>>735410 (OP)
>qtbrowser
>tree style tabs
PLS EXPLAIN
▶ No.736157>>737505
>>735410 (OP)
What is the file size limit?
▶ No.736161>>736166
>>736030
They're vertical, not tree-style. Go to qute:settings and set the tab position to left, if I remember correctly.
▶ No.736166>>736186
>>736161
is this the browser that is nto yet version one?
does it support firefox add-ons?
▶ No.736186>>736191
>>736166
It's not yet version 1, but you could be thinking of another browser that's not yet version 1.
It doesn't support Firefox extensions and it never will, since it's not based on Firefox. It's possible but unlikely that it will support Chromium extensions at some point in the far away future, because it's switching over to Blink.
▶ No.736191>>737619
>>736186
would be nice to get some ublock origin and umatrix
▶ No.736876
bump
your site is misconfigured, brah
▶ No.737505
Bump, working on a big commit to bring multiple file uploads. I've already integrated dropzone into the post form but it's currently broken.
>>736157
There's no limit currently but nginx will drop the connection at >4MB.
▶ No.737619
>>736191
write them yourself; adblock is easy-ish at least if the APIs are there
▶ No.738590
Bump. Multiple file uploads are done and working. Only the CSS needs fixing. (Haven't taken a look at NoJS uploads yet though.)
▶ No.738707>>738931
>nextchan
Into the trash it goes.
▶ No.738931
>>738707
What is wrong with it? I appreciate any suggestions.
▶ No.739009>>740166
>>735410 (OP)
Comment box could use a little work.
▶ No.740166
Bump. Dropzone file uploads are done as well as a proper form error handling system. Going to bump version to 0.2.0 today.
>>739009
Check it out now. I made it like the current Infinity postbox.
▶ No.740212
Bump, version v0.2.0 has been released. master up-to-date.
▶ No.740899
Some posts seem deleted because Alacrity shat itself, also bump.
▶ No.743536
Halfway through moderation tools. Here's some screenshots.
▶ No.743575>>743648
what makes this better than all the other failed imageboard engines?
▶ No.743580>>743648 >>743701 >>743885
>can't post without cookies
>"for security reasons"
gay and shit
▶ No.743648>>743682
>>743575
It's solving things correctly, i.e. it's not LynxChan.
>>743580
Not sure why that's done, but maybe something with sessions/XSS I'd bet. It's probably an easy fix to just remove it. But as for why it's done, not sure.
Say, do autism browsers use the Origin header? Or is that just Chrome.
▶ No.743682>>743704
>>743648
>some things
great explanation fagtron
▶ No.743701
>>743580
Can you post the actual page? It's probably CSRF acting up but that should be using input fields.
▶ No.743704>>743745
>>743682
I am trying to listen to what people suggest instead of insisting "it's the way it's supposed to be" like Sergio "html is a standard" Lynx.
▶ No.743745>>743856 >>743857 >>743864 >>743872
>>743704
who are you even? cuckbones?
▶ No.743856>>743874
>>743745
Doesn't look like it, he'd have written it in Ruby and given up on it months ago.
Also 8chan is shitting itself under load, kinda hilarious.
▶ No.743857>>743874
>>743745
Doesn't look like it, he'd have written it in Ruby and given up on it months ago.
>unserialize(): Error at offset 11 of 60 bytes /srv/http/inc/functions.php:1787
>application server timeouts
lmao, nice job gookmonkey
▶ No.743864>>743874
>>743745
Doesn't look like it, he'd have written it in Ruby and given up on it months ago.
>unserialize(): Error at offset 11 of 60 bytes /srv/http/inc/functions.php:1787
>application server timeouts
lmao, nice job gookmonkey
▶ No.743872>>758963
>>743745
No. I'm not affiliated with Endchan. I am the administrator of Nextchan.
▶ No.743874
▶ No.743885>>743906
>>743580
I enabled CSRF_USE_SESSIONS so you should be able to post without cookies now. Can you try and reply back?
▶ No.743906>>743907 >>743940
>>743885
can you rewrite blazechan in rust?
▶ No.743907>>743940
>>743906
+1. you should look into the tokio project.
▶ No.743940>>743942 >>743946 >>743999
>>743906
>>743907
If I wanted a verbose language I'd use Java. If I wanted a close-to-metal language I'd use C++. Rust is jack of both trades but master of none.
▶ No.743942>>743964
>>743940
>webdev shitter talks shit about rust
ok kiddo. im currently busy writing low level shit in my memory and thread safe language. but you gave me a good laugh. upboated
▶ No.743946>>743950 >>743964
>>743940
Instead you chose python which is a jack of none and master of shit
Well done
▶ No.743950>>743953
>>743946
I'd just like to interject for moment. What you're refering to as Python, is in fact, Django/Python...
▶ No.743953
>>743950
>django/python
>written in...python
nope still python
▶ No.743964>>743965 >>743966 >>743983
>>743942
Nice superiority complex. I know how to write C. I've translated algorithms to C. Doesn't mean I'll use fucking C everywhere. I chose Python because I'm familiar with it and because it's a HLL.
>memory safe
Please don't use the borrowck as an argument for Rust ever again.
>>743946
Mate, python has its obvious flaws but it's still the sanest choice IMO. It's easy to write it. I know it's bloated and slow but so is any scripting language.
>inb4 node
▶ No.743965>>743999 >>750263
>>743964
w-what about perl
▶ No.743966>>743999
>>743964
>I've translated algorithms to C
kid confirmed
>Please don't use the borrowck as an argument for Rust ever again.
not an argument
>python has its obvious flaws but it's still the sanest choice
tip top kek
▶ No.743983>>743995 >>743999
>>743964
Why not use Go? It was designed exactly for this kind of work.
▶ No.743995>>743999
>>743983
lol no generics.
rust is memory safe, blazingly fast and you can fearlessly write multithreaded code.
▶ No.743999>>744011 >>744013 >>744016 >>744100
>>743965
I don't like its syntax, and I don't know whether there're good web frameworks for it. I'm using a web framework because I don't want the codebase to be turning to spaghetti. (See infinity's code for an example.)
>>743983
I've checked out Go, it's cool but I didn't have the time to learn it yet. However I've got my eyes on Nim for some time, the language seems to be exactly what I like. The DSL part especially intrigues me. Think of something like this (which is possible in Nim, I have created a proof of concept to check whether this could be done):
route "^(?P<board_uri>[a-zA-Z0-9]{1,16})$":
return HttpResponse.OK("test page")
>>743966
>kid confirmed
not an argument
>not an argument
not an argument
>tip top kek
still not an argument
>>743995
The syntax, the verbosity and the community kills it for me. See this example for operator overloading in Nim vs. Rust[1]:
Rust[2]:
impl Add for Point {
type Output = Point;
fn add(self, other: Point) -> Point {
let Point(a, b) = self;
let Point(c, d) = other;
Point(a + c, b + d)
}
}
Nim[3]:
proc `+`(p, q: Point): Point {.noInit.} =
(p.x + q.x, p.y + q.y)
It's verbose. As I said in >>743940, if I wanted a verbose language I'd use Java.
[1]: https://github.com/andreaferretti/on-rust-and-nim/blob/master/README.md
[2]: https://github.com/andreaferretti/kmeans/blob/935b8966d4fe0d4854d3d69ec0fbfb4dd69a3fd1/rust/src/point/mod.rs#L30-L39
[3]: https://github.com/andreaferretti/kmeans/blob/master/nim/algo.nim#L11-L12
▶ No.744011>>744012 >>744013
▶ No.744012
>>744011
just noticed:
>Andrea Ferretti
kek. that explains it
▶ No.744013
▶ No.744016
▶ No.744023>>744028
Python is fine, the vast majority of traffic is lurkers.
Premature optimization is masturbation, and if you need more SPEED(tm) than a document cache provides for a fucking web page with comments on it, unless you're at GOOGLE SCALE(tm) with all the DYNAMIC CONTENT(tm) that it entails, you fucked up somewhere.
▶ No.744028>>744033
>>744023
>python IDF arrives on the scene to hiss angrily at bystanders
▶ No.744033>>744039
>>744028
No, it's just about premature optimization being masturbation.
And friendly reminder that even at GOOGLE SCALE(tm) everything that hasn't been rewritten in C++ or Golang is still Python.
▶ No.744039>>744052
>>744033
Google, like Facebook, uses C++ for their backends. No Python, now go hiss somewhere else.
▶ No.744052>>744059
>>744039
Ignoring the fact that you sort of just repeated what I said, "No Python" is dead wrong. From Google's own sources, their production languages are C++, Python, Golang and Java. Those are the only languages they are allowed to deploy to production. Internally, they use many more, but that's an aside.
Fuck off, language shitter. You're not contributing anything to this thread other than the fact that you're autistic. Go make another Linux distro thread or something.
▶ No.744059>>744069
>>744052
That's rich coming from someone who also does not contribute anything to the thread and most likely can't even program lmao
▶ No.744069>>744073
>>744059
>>RREEEEEEEEEEEEE PYTHON DEFENSE FORCE GIT OUT
>Premature optimization is dumb masturbation, any maintainable high level language that's commonly used with web application servers are preferable to use except where a variety of factors and certain realities preclude their use, such as fine-grained control of memory, need for low latency, etc. For everything else, there is the possibility of iteration, but the OP does not appear to be writing a kernel, nor does he appear to be building infrastructure that needs ultra-low latency.
>RRREEEEEEEEEEEEEEEEE lmao you can't program fag
You've already embarassed yourself by implying that Python is not used as a "backend" language at Google. Not that it matters, the point was not to make a comparison, the point was to make fun of your premature optimization fetish. You're obviously autistic, so go make a Linux distro thread and choke on my dick, faggot.
▶ No.744073>>744103
>>744069
Keep replying you redditor
▶ No.744100>>744293
>>743999
alright i was bored and i decided to rewrite this shitty rust version properly:
https://ghostbin.com/paste/8bfks
now this is actually idiomatic rust. about 5% faster too.
▶ No.744103
>>744073
>LARP boy calls people redditors
▶ No.744293>>744297 >>744299
>>744100
>idiomatic rust
>massive amount of ugly code does nothing meaningful but it's 5% faster at it
Just about sums up all rust users in this thread so far.
▶ No.744297
▶ No.744299
>>744293
anon my goal was not to make it faster but to rewrite it in idiomtic rust.
>ugly
well that is your opinion
>does nothing
it does what the original does
▶ No.749742>>749797 >>749828 >>749841 >>749887
I'd suggest not having confirmed pedophiles, antifa and goons involved in the project, for one.
>>>/pol/9949900
▶ No.749797
>>749742
But then we won't have anyone working on the project!
▶ No.749828>>749905
OP please keep /pol/lution out of your chan's development and existence.
>>749742
Go back to your hugbox, filthy /pol/yp, and NEVER come out of there again.
▶ No.749841>>749976 >>750008 >>756812
>>749742
I don't get it, what is this supposed to be? Some /polk/ anons apparently dumped redpill images on Blazechan (presumably to test it out), then imkampfy claimed it was Josh's doing? (I really don't know.)
▶ No.749887>>749903 >>749910
>>749742
Wait, imkikey is involved with nextchan? Fucking dropped.
▶ No.749903
▶ No.749905
>>749828
>OP please keep /pol/lution out of your chan's development and existence.
This. Look at /sudo/ and tell me letting /pol/ drama into the site discussion is a good idea.
▶ No.749910
>>749887
No, he's shilling in overtime against it.
▶ No.749976>>749982
>>749841
>insufferable tripfag
>hangs out with based anti-racists and pedophiles
lol
▶ No.749979>>750006
Be sure to ban evade another hundred times on /pol/ btw, I'm sure anons are enjoying you getting all those TOR nodes banned.
▶ No.749982
>>749976
>>insufferable tripfag
no u :^)
>>hangs out with based anti-racists and pedophiles
who?
▶ No.750006
>>749979
>TOR
Yeah, you're a moron who doesn't know what he's talking about.
Why would you even want to post on that shithole anyways? The mods have embarassed themselves more and more.
You have to go back
>>>/pol/
▶ No.750008>>750036
>>749841
It's just the insane ramblings of an IRC circlejerk of /pol/ mods.
Best just to ignore it, or laugh at it, take your pick.
There's nothing to really get about their insanity, that's what makes them insane.
▶ No.750036>>750178
>>750008
i went to check the board log of /pol/ and it is fucking hilarious
https://8ch.net/log.php?board=pol
the mod really is insane
off-topic though, best to just ignore it and let them burn their own house down
▶ No.750144
Any plans for NNTPchan integration OP?
I like your UI so far but we need to push the technology forward instead of just making it pretty. Shitmods and shitadmins have ruined too many boards.
▶ No.750178
>>750036
What's even funnier about that log is it shows Jim (YogaPig) deleting posts talking about his credit card fuckup.
He just deleted it within the last two hours, for some reason.
▶ No.750263>>750761
>>743965
There's a lot of imageboards made in Perl. You could write the next one. But don't forget about the -T switch, and always give minimum privileges and deny everything by default. Best to stick with core as much as possible, and only use a small number of CPAN modules, otherwise dependency shit gets out of hand quickly, and anyway many are probably not designed with security in mind. I'm not a fan of large frameworks either. But specific purpose modules like DBI are very handy.
▶ No.750761>>750768
>>750263
>Best to stick with core as much as possible, and only use a small number of CPAN modules, otherwise dependency shit gets out of hand quickly
If you're living under a rock and only know Catalyst, sure.
~ $ cpanm --showdeps Mojolicious
--> Working on Mojolicious
Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-7.31.tar.gz ... OK
Configuring Mojolicious-7.31 ... OK
ExtUtils::MakeMaker~6.58
IO::Socket::IP~0.37
ExtUtils::MakeMaker
Pod::Simple~3.09
JSON::PP~2.27103
perl~5.010001
Time::Local~1.2
▶ No.750768>>756435
>>750761
All of these are CORE dependencies.
▶ No.756397>>756433
Bumping thread.
I finished board logs and was working on a ban page but I accidentally wiped out some of code, so I'm currently working on rewriting all that. I'll commit everything once they are done.
▶ No.756433>>756553
>>756397
Do you keep a roadmap or a public todo list or anything?
▶ No.756435
>>750768
> CORE dependencies
Not sure what you mean. I install base OpenBSD system. It has Perl, and only those modules that are included in main Perl distribution. I don't want other modules at all, except maybe in special cases like if I really need to use a database, then ok I'll install p5-DBI (and a DBD) via the package manager. But I don't want to play with CPAN shell. Whatever it generates is not well tested (unit tests only, no integration or anything else, but even cpan unit tests are often just left as "broken" for various platforms). It can decide to upgrade things because installing the Foo needs Bar version higher than the one that comes with my Perl. I don't want that. And besides, some modules just plain don't build right unless you happen to run common GNU/Linux on x86, with the same gcc version used by module author (for modules or deps that aren't pure Perl).
I also had to maintain same Perl code on wildly different types of hardware running different Unix or even various Windows (even going as far back as Win98), and it was not pleasant at all when deviating from the main Perl. I learned to minimize dependecies because it minimized the problems.
▶ No.756437>>756553
Suggestions: Continue copying the Infinity Next front-end as you are doing now. Add support for all the options provided by vichan (think JavaScript) and implement anti-spam features, like Captcha. (Ideally, use fonts from the Laravel captcha).
Anti-Spam features I'd like to see:
Max threads per hour
Captcha
Tinyboard-Style antispam
Other things that will piss off bots.
Thank you for developing another piece of imageboard software. I appreciate your work.
▶ No.756553>>756554
>>756433
Not really, other than the thing in README.md which is outdated.
>>756437
> Suggestions: Continue copying the Infinity Next front-end as you are doing now.
>Add support for all the options provided by vichan (think JavaScript) and implement anti-spam features, like Captcha.
That's what I plan to do.
> Max threads per hour
Added to todo.
> Tinyboard-Style antispam
?
> Other things that will piss off bots.
Like what?
> Thank you for developing another piece of imageboard software. I appreciate your work.
np I assume this is not said ironically
▶ No.756554>>756556
>>756553
Not sure how this would be effective by today's standards, but here is the documentation for Tinyboard's antispam:
https://web.archive.org/web/20121003095610/http://tinyboard.org/docs/?p=Your_request_looks_automated
> Like what?
I'm not sure, actually... Another thing that popped into my head was cookie-based banning.
>I assume this is not said ironically
It wasn't. I really appreciate everyone who works on imageboard software -- there isn't enough of it.
▶ No.756556>>756571
>>756554
>https://web.archive.org/web/20121003095610/http://tinyboard.org/docs/?p=Your_request_looks_automated
This is interesting, however a bit sophisticated. Should I implement this? I was thinking of adding cache-based flood detection like Next does, a captcha and checking for linkspam and checking if the last post in the thread is the same post (preventing doubleposting).
>I'm not sure, actually... Another thing that popped into my head was cookie-based banning.
How?
▶ No.756571>>756607
>>756556
>How?
Set cookie on user. Unless the user clears their cookies/cache before switching their IP to ban evade, they would still be banned.
>cache-based flood protection, captcha, linkspam, and duplication checking
All good features.
▶ No.756607
>>756571
> Set cookie on user. Unless the user clears their cookies/cache before switching their IP to ban evade, they would still be banned.
That's trivial to bypass, even your average /b/ user can do that.
I'll be releasing v0.3.0 later today, which brings (incomplete) moderation actions and a lot of smaller fixes.
▶ No.756773>>756787
Traceback (most recent call last):
File "manage.py", line 4, in <module>
import dotenv
ImportError: No module named 'dotenv'
When running
python3 manage.py migrate
Am I doing something wrong, or am I just too new to python?
▶ No.756787>>756790
>>756773
you need the module dotenv dude
▶ No.756790>>756882
>>756787
Installed it, tried uninstalling and removing python-dotenv, dotenv, and djang-dotenv. I played around with just about every combination, always leads me to this error:
Traceback (most recent call last):
File "manage.py", line 7, in <module>
dotenv.read_dotenv()
AttributeError: module 'dotenv' has no attribute 'read_dotenv'
▶ No.756812
>>749841
anything that imkampfy and his irc friends aren't involved with they say it's run by "goons" and start spamming FUD about it.
▶ No.756882>>756896
>>756790
You're new to python
Try this:
virtualenv venv
. venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Never install anything with system privileges using python-pip. If you must install a package outside of a virtualenv, and it's not in your distros repository, simply install as your user:
pip install --user package
Python is sane so it should be installed to .local/bin and if it's actually a tool it should be in your path to use.
▶ No.756896>>756899 >>757271
>>756882
The readme hasn't been updated in ages. You need to manually create a board and its settings and the site settings via the shell currently. When I work on board creation this will be automated.
▶ No.756899>>756900 >>757271
>>756896
I'm just telling him how to set up a python environment, he seemed confused.
Are you using a singleton (one DB row) for site settings? Just curious, haven't looked at your project for a while.
▶ No.756900>>757039
>>756899
I'm doing Infinity Next-style options, that is, a table for options with a key, value, type, an is_global bool, and a board (WHEN is_global=f). Each row represents a setting.
▶ No.756933>>756936
Bump, v0.3.0 is almost ready. I'm checking everything and then releasing it. Here's a teaser for the ban page.
▶ No.756936>>756939
>>756933
v0.3.0 has just been pushed to the repo.
▶ No.756939>>756940
>>756936
Nice!
May want to update the "VERSION" file
▶ No.756940
>>756939
Woops, forgot that. Thanks.
▶ No.757039
>>756900
So it's easily added to without migrations. I see.
Looks nice.
▶ No.757137
Bump. Pushed 17 commits to master. Pagination has been added to the board index, and it no longer shows the entire board catalog in one page anymore. I also improved caching a bit.
▶ No.757271
>>756896
I see. I was never able to get it working, I'll wait until either I'm more experienced with Python or until the imageboard software matures to run it myself. I'll defiantly be keeping eyes on it though, because this is very interesting.
>>756899
Thank you. Very helpful.
▶ No.757928>>758010
Bump. Version 0.4.0 released. This is mainly a performance update, because perviously Blazechan didn't prefetch anything from the database, which caused a metric fuckton of database queries from the template (for loops). I added a custom QuerySet with a method to easily prefetch a lot of things required to render a post from the database. I also started using Django's template and view caches. The template cache allows me to granularly control which part of the template gets cached (though it's kind of a hack, even though I set timeout to 0 it still tries to save it to the cache). Most of board index, threads, index page, board list, and overboard is now cached. It also invalidates when a new post is made automatically (template cache parameters).
▶ No.758010>>758197
▶ No.758197>>758198 >>758945
Bump. Released version 0.4.1 released. This release removes template caching as it was not really useful. I was able to optimize database queries from about 90 to 20 (!!!) on almost every page. Going to work on board assets now (banners etc.).
>>758010
Thank you. I decided to forfeit template caching for now, as Blazechan is very optimized at the moment (19 queries on board index).
▶ No.758198>>758280
>>758197
>Released version 0.4.1 released.
I'm up after 3 hours of sleep, give me a break.
▶ No.758280
>>758198
real men work 37 hour shifts
▶ No.758945>>759152
>>758197
>19 queries on board index
Why so many? Ideally it should only be one query.
▶ No.758963>>759103
>>743872
Doesn't that just mean you're Josh then?
▶ No.759103
>>758963
HURRDURR ME POST GIF 2015!!!!!!! FUNEEY
▶ No.759152>>760083
>>758945
Probably fixed with prefetch_related, but then again I'm not sure what's queries are happening in the first place. Maybe I'll get the time one of these days to work on this shit.
▶ No.760083
>>759152
The queries can't really be prevented. The 19 queries include every single part of the board index. It does prefetch_related which pulls the appropiate stuff from every table then joins it in Python.
▶ No.760119
Bump. I'm going to be releasing v0.5.0 soon. A few changes.
- Board assets are half complete. You can upload banners to the board currently. The panel page is really half-assed at the moment, though. I plan on improving it.
- Fixed some bugs with the overcatalog.
- Added titles to pages. It doesn't show the site name only anymore. It shows the thread name/board like in Infinity.
- Added Last-Modified header support to over{board,catalog} and board/catalog/thread pages. It checks based on either last created post sitewide (overboard) or last created post on board. This is still incomplete and does not consider a few things like posts being deleted/banned.
- Some more I don't remember. Check the git commit log to see everything I did.
▶ No.764217
▶ No.764319>>764354 >>766372
>link in op redirects to joshchan
wew lad.
▶ No.764354>>766372
>>764319
Blazechan isn't installed on his new server yet.
▶ No.766372
>>764319
>>764354
I set up Blazechan again. It should be working fine.
▶ No.768448
Bump. After a long break, I released v0.5.0, and v0.5.1 shortly after that. This update brings board assets, and some new styling options (pinktext). There is also a lot of backend-wise improvements and refactoring.
▶ No.773035>>773077 >>773253
Holy shit, this thread is still alive. Bump.
I'm in the progress of currently migrating all stylesheets of Blazechan to SCSS. I'll be releasing 0.6.0 once that and a few other things are done. So far only panel is left.
Also, go check out the new postbox. I designed it after the Infinity Next postbox. I'm thinking of doing a switch in the settings to switch between the Infinity NoJS postbox and the new postbox. Pic related is the current JS version.
▶ No.773077>>773208
>>773035
>SCSS
You best be using libsass and not ruby, nigger.
▶ No.773208
>>773077
I'm using gulpfiles, so node (it's the only part of Blazechan that uses node, so don't worry). I am not sure whether that uses libsass or ruby sass, though.
▶ No.773253>>773255 >>773307
>>773035
Just use django-compressor. It has an offline mode if you think the cache check is bloat.
https://github.com/torchbox/django-libsass
With django libsass+compressor you can even do cool things like this:
import sass
def board_icon_map():
from .models import Board
icons = Board.objects.all().values_list('board', 'icon')
return sass.SassMap(icons)
settings.py:
from .sass import board_icon_map
...
LIBSASS_CUSTOM_FUNCTIONS = {
'icons': board_icon_map
}
Of course, I would probably not expose libsass to user editable values like this, especially on a web application that attracts hostile users, but I don't think there's any harm in using it for values that are generated by the framework itself, for example a FileField url.
One thing that's a bitch though you're going to use this for something that's supposed to be a number from the database: you basically have to cast the string from a values list to a sass.SassNumber type for libsass to not shit its pants.
Like so:
counter = [(i[0], sass.SassNumber(i[1], u'')) for i in counter]
I've eliminated javascript carousels for fun using this and a SCSS mixin.
Gulp was used with Next because that's what Laravel did, and it's pretty bad compared to something like compressor.
▶ No.773255>>773307
>>773253
also
from django.conf import settings
from django.core.cache import caches
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
try:
compressor_cache = caches[settings.COMPRESS_CACHE_BACKEND]
compressor_cache.clear()
except:
raise CommandError('Invalidation error')
self.stdout.write(self.style.SUCCESS('Successfull invalidation'))
▶ No.773307
>>773255
>>773253
Seems neat. I'll take a look at compressor.
I've updated the postbox. I'll probably be releasing version 0.6.0 in a few hours. The postbox has already been pushed to master, but it has a few errors. This is the current one, which is much better. Try it out for yourself.
▶ No.773427
Whew.
After a 6 hour coding marathon (It's 2 AM here now), I finally finished board creation and user creation. Pics related. I'm going to sleep now. I'm going to be checking whether anything else needs to be fixed tomorrow, and then release 0.7.0.
▶ No.773431>>773432 >>773670
Is this the true power of infinity?
▶ No.773432
>>773431
Ebin. Gonna fix it firs thing tomorrow.
▶ No.773670
Bump. Version 0.7.0 has been released.
- Board and user creation is now possible.
- A bunch of bugs are fixed.
>>773431
Fixed.
▶ No.773742>>773838 >>773863 >>773871 >>773886 >>773982
these threads are allowed but lynxchan ones get deleted
mods are kikes
▶ No.773838
▶ No.773863
>>773742
The lynxchan ones I saw are mainly deleted because they usually devolve into a shitflinging match between Lynx and other anons.
Version 0.7.1 was released yesterday. It migrated the SCSS preprocessing to django-compressor.
▶ No.773871
>>773742
I don't think I've deleted any Lynxchan threads. Do you have archives of deleted Lynxchan threads? It should show in the log.
▶ No.773886>>773889
>>773742
This. Ring is a cuckold mod. He's deleting LynxChan threads because m712 guranteed a volunteer position for him on next/tech/ :^)
▶ No.773889
>>773886
First off, my Nextchan thread was deleted back in October because it was deemed "not technology", so there goes your bias argument, because if your thesis actually held, then that thread wouldn't be deleted either. Secondly, this thread is purely focused on updates for the development of Blazechan, save for a few derailings above. Thirdly, kill yourself tripfag. At least there's a reason I'm tripfagging in this thread, but you are doing it just because you're an attention whore.
▶ No.773981
>creating yet another generic imageboard software
>not just using nntpchan
▶ No.773982
>>773742
>caring about pajeetchan
▶ No.775434
Bump. Version 0.8.0 is going to be released after I finish a few more things. This update really helps un-spaghettify the JS code. The JS is currently live on the site, I'm currently working on the JS settings menu.
▶ No.775519>>775528
Bump. Version 0.8.0 released. This modularizes the Javascript of Blazechan, allowing new plugins/widgets to be developed for Blazechan and added seamlessly. Take a look at master under frontend/static/js/. I tried to document as much of the JS as possible, but there's still much to be documented and I am really tired. I'll work on the documentation tomorrow. Ciao.
▶ No.775528>>775643 >>775837
>>775519
>javashit
why not rust -> wasm?
▶ No.775643>>775650
>>775528
Meme answer: rust is shit lol
Real answer: rust is shit lol
▶ No.775645>>775697
Take a look at /autisticautism/ on the live demo.
The post numbers are all shit.
▶ No.775650
>>775643
>he's too much of a brainlet for rust
more money for me :^)
▶ No.775651>>775697
tf help pls fix
>CSRF token missing or incorrect.
▶ No.775697>>775826
>>775651
What page do you have the error on? The exact URL?
>>775645
Really weird, it's like the database reset or some shit. total_posts on /autisticautism/ shows 3 posts, while there's clearly 4. Something's wrong.
▶ No.775750
Bump. I added documentation about installation of Blazechan and how to create a widget for the JS API.
▶ No.775826>>775996
>>775697
for awhile the 5th post number was showing as 3.
▶ No.775837
>>775528
wassums don't work in netsurf
▶ No.775996
>>775826
I manually edited the database to fix it for now. I'll make it unique_together with the board ID to prevent that from happening again (the site will return Internal Server Error then).
▶ No.781314
Bumping so the thread stays alive. I'm kind of burned out so I'm taking a break from Blazechan for a couple weeks.
Current remaining stuff:
- About 70% of the panel needs to be done, a lot of things are missing.
- FFmpeg support for video/audio types.
- JS for usability improvements.
- Global moderation (delete/ban on all boards etc.)
▶ No.784825>>784826 >>784877
Bump. Major things happened.
- nextchan.org now hosts a Blazechan instance. I have explained my reasoning on the frontpage.
- Varnish is partially working at https://varnish.nextchan.org/. Posting purges the cache for the necessary board pages and moderation actions are working but not everything is very concrete and board actions still don't do any purging.
- I switched to a feature branch-based development system. This helps me quickly develop things that I want and store them for later when I can merge them into master.
▶ No.784826>>784827
>>784825
>implying anyone cares about your antifa-run honeypot
▶ No.784827>>784828
>>784826
>antifa-run
???
>honeypot
???
▶ No.784828>>784835 >>784890
>>784827
>having your antifa mod buddies delete lynxchan threads too
lol kill yourself
▶ No.784830>>784835 >>784890
>no dark theme
>rounded corners
>drop shadows
pls fix
▶ No.784835>>784838 >>784863
>>784828
No one cares about lynxchan, faggot. Lynx has proven that he's a retard time and time again. The fact that you care about lynxchan shows that you are a retarded subhuman with an IQ of 70.
As for whatever antifa bullshit, that's also a result of your intelligence, or lack thereof.
If you think that you're somehow hurting the software by implying this, or making anyone mad, this is also a result of you being a retarded subhuman. No one cares, faggot.
>>784830
Implement themes yourself, there's still a lot of work to be done elsewhere on other shit as far as I can see.
Compressor allows that sort of scenario for multiple 'themes' to be generated.
https://github.com/django-compressor/django-compressor/commit/693464a1c278855747c1b5c96c48dcdd4c5f9cab
▶ No.784838
>>784835
>it's okay to censor him because I don't like him personally
Nice idpol there, fag.
▶ No.784863
>>784835
>personally
It's a dogshit architecture that made the same mistakes as vichan did, except with nodejs. Go fuck youself.
▶ No.784877>>784890
>>784825
>3 hours
>it's already inundated by the same drooling retard spam as usual
next time you post updates in here just sage the thread
▶ No.784890>>784900
>>784830
Themes are QoL so kinda a far away thing. It's not really hard but I am working on things like Varnish support and sticky/locked threads right now.
>>784828
not an argument
>>784877
But I wanna get people to see my updates :^(
Also the thread was on page 10.
▶ No.784900>>784912 >>785898
>>784890
You're right about themes, anyone wanting them can do it themselves with browser extensions. Be nice and put plenty of metadata in the HTML for those people though.
Sticky/locked threads? That's like a 2 minute job. If it isn't then you've overcomplicated your shit.
>2 extra checkboxes in mod thread settings
>sticky is just an extra order-by field in the catalog/thread index
>locked is just an extra authentication check in the post form
▶ No.784912
>>784900
You're right, it's pretty easy to do. The hard part is making it work with Varnish because every action modifies a different set of pages which need to be purged. I'm halfway through the Varnish support, you can see the development on the 'varnish' branch.
▶ No.784914>>785736
Also, I wanted some peer review on this idea: I want to create a "Contract"-like system, i.e. a PostContract for implementing a Post. The reason I want to do this is because I want to decouple the panel, backend and frontend.
To elaborate on this idea for a bit, let's say I have a PostContract, which has a get_id() function. Default backend will return the post ID on board, and Overchan/NNTPchan backend will return the hash post ID.
Thoughts?
▶ No.785365>>785385
▶ No.785381>>785385
Why not write it in Erlang?
▶ No.785385>>785397 >>785776
>>785365
"Why not write $thing_with_string_manipulation in C?"
>>785381
I don't know it.
▶ No.785397
>>785385
>he doesnt know erlang
it is good. very good in fact. watch this video
https://youtu.be/uKfKtXYLG78
▶ No.785736
>>784914
I don't get why you don't just have post_id and hash_id in the model. Where the nntpchan backend will simply return hash_id in whatever representation. Am I missing something?
If you think it's right, go for it. But it seems to me that you're overcomplicating it with dynamic functions that have further overhead with python versus simply using a stored representation, and then only selecting that value when you go to serve the representation in an NNTPchan context.
Whatever makes sense, really.
▶ No.785776>>785779
>>785385
What string manipulation do you need? You already have printf for templating.
▶ No.785779>>785784
>>785776
And gets for parsing amirite?
▶ No.785784>>785809 >>786946
▶ No.785809>>785834
>>785784
printf is memory unsafe
▶ No.785834>>785849 >>787073
>>785809
You're supposed to control the format strings, dingus.
▶ No.785849>>786645
>>785834
not an argument? it still is memory unsafe
▶ No.785898>>785899
>>784900
Sticky/locked threads are done now. Also npm dependencies are automatically pulled in to static/ by django-npm now.
>themes
It's not too far away. I'm working on a few more backend things like a better asset management system (UI + backend), after which I will focus on backend. I'm alternating between frontend and backend to not get burned out.
▶ No.785899
>>785898
>focus on backend
focus on frontend
Fuck I'm tired. It's 4AM.
▶ No.786645>>786908
>>785849
Given a controlled format string, no. Why would it be?
▶ No.786908>>787073
>>786645
>given this moved goalpost your argument is invalid
printf is memory unsafe.
▶ No.786946>>787073
>>785784
>u dont need string functions here u can printf!!!
>what do u mean "write-only language"???????
▶ No.787073>>787077 >>787219
>>786908
I didn't move the goalposts, I said this back in >>785834. You should use printf("%s", "string") instead of printf("string"), this is common knowledge
>>786946
What else is it you want?
▶ No.787077>>787175
>>787073
you said that printf is safe. i said that it is memory unsafe. then came a whole lot of no argument from you.
▶ No.787175>>787178
>>787077
Printf is memory safe given a controlled format string. This is the common usage of printf. It's like claiming Rust is unsafe because you can (and do, so it's actually even worse) use unsafe mode.
▶ No.787178>>787429 >>787532
>>787175
rust's eqivalent to printf is memory safe. printf is memory unsafe. controlling the format string is not enough.
▶ No.787219>>787532
>>787073
>What else is it you want?
How the fuck do you read data with printf?
▶ No.787429>>787431
>>787178
I'll just write a program in C that fucks with the memory of your Rust program.
▶ No.787431
>>787429
Will your OS permit such a thing?
▶ No.787532
>>787178
>controlling the format string is not enough.
Proofs?
>>787219
You don't, printf prints data. Use getline. However, a CGI script doesn't read anything, it gets it as enviroment variables.
▶ No.788108>>788291 >>789469
Update. Version v0.9.0 was released, I am now working on the frontend. Image expanding and cite hovering work inside the thread now, working on just highlighting the post if the cite is visible.
▶ No.788291>>789706
>>788108
add a proof of work system. i fucking hate captchas
▶ No.789469>>789706
>>788108
Could you add better support for non-js users?
>use css (styled checkboxes) and link target + iframe to support image expansion without JS
>add iframe name="a" style="display:none" /iframe tag at the bottom of the page
>replace a href=#POSTID onclick=something with a href=p:<ID> target="a" onclick=something
>in the backend, replace \na:<ID> with \n>><ID>
>also quick reply box without js with css float and media queries
(8ch doesn't like <> so you'll have to imagine them)
▶ No.789476>>789706
▶ No.789706>>792805 >>792806
>>789469
>>use css (styled checkboxes) and link target + iframe to support image expansion without JS
Not hard to do. I will work on it.
>>add iframe name="a" style="display:none" /iframe tag at the bottom of the page
>>replace a href=#POSTID onclick=something with a href=p:<ID> target="a" onclick=something
>>in the backend, replace \na:<ID> with \n>><ID>
This seems to be really convoluted. Do we really need this? And I don't even know what this does.
>>also quick reply box without js with css float and media queries
Quick reply box works without JS mostly but there are style incompatibilities between it and the NoJS box (i.e. capcode goes on the left of reply button, labels on the left become placeholders, etc.). I'd have to duplicate code for that.
>(8ch doesn't like <> so you'll have to imagine them)
I can see <>.
>>789476
blaze.nextchan.org is dead. The main site uses Blazechan. It might go down sometimes but other than that it should be mostly up. dev.nextchan.org might go down more frequently, though.
>>788291
How would it work, exactly?
▶ No.789726>>789729
If you follow all these suggestions including the really autistic ones, your board will end up like pic related.
▶ No.789729>>789814
>>789726
You mean, it will remain culturally relevant long enough that newfags born after it was created will make use of it?
▶ No.789814
>>789729
A reddit-tier meme image is relevant in the sense that people still wheel out anti-16chan FUD copypasta in nextchan threads thinking they're relevant
▶ No.792805
>>789706
It makes it so that when you drag a post ID into the text field, you get the post ID and not a link to something (you use "No. " for post link)
Instead of
https://8ch.net/tech/res/735410.html#q789706
You get
p:789706
This is then changed on the server side to
>>789706
And the iframe on the bottom is just to make the link not do anything without using JS to disable it.
▶ No.792806
>>789706
Also you can use some html5 element to use regular labels instead of placeholders, don't remember the name
▶ No.793096>>793097
>>735410 (OP)
>Testing instance: https://blaze.nextchan.org/
502 Bad Gateway
▶ No.793097
>>793096
replace blaze with dev.
▶ No.793692>>793954
Do you have personal contacts, dev?
I would like to talk to you a bit...
▶ No.793954>>795428
>>793692
I just opened up admin<at>nextchan<dot>org, it might take a bit for the DNS records to propagate so if you can't send mail there wait up to 24 hours. Feel free to send any questions and/or nudes.
▶ No.795428>>795631
>>793954
Any progress blazeanon?
▶ No.795631
>>795428
I'm busy nowadays IRL, so not much progress for a few days. Working on interactive boardlist in my free time.
▶ No.803080
Bumping because the thread is on page 15. Not much development happened lately; I'm taking a break. I'll come back in full force after a few days.
▶ No.803174>>803246
If it was on page 15, it probably belong there.
▶ No.803246
>>803174
>non-meme thread with non-meme code
>hurr durr shit thread
fuck yourself larper. im actually interested in blazechon.
i would really prefer an imageboard written in rust though.
▶ No.804646>>804659
I just had an idea. How about adding a "Link Thread" feature to a thread, which allows you to share a thread between boards?
For example, say thread X concerns both /pol/ and /tech/. If board vols from both boards agree to link that thread, the thread would show up on both boards.
▶ No.804659
>>804646
Crosslinks are already a thing