User Controls

Anyone want to help me write some less terrible forum software?

  1. #21
    aldra JIDF Controlled Opposition
    Half of original core was an irredeemable SJW (actually posted like a 10k word essay on why he a retard and got more or less booted from the community under that alias for it) and the other half didn't really care (Jacob and Adrian respectively, if you care) so there's not much you can do. I am happy to criticize Django in a lot of dimensions, specifically the absence of a clear markup-producing isomorph makes it hard to consider it a long-term contender in light of industry trends and it's true core does have a political agenda (although besides such drama as the master/slave episode which is, on the whole, pretty insignificant they are largely impotent to carry it out).

    This doesn't change the fact that for CRUD apps where you don't need to sweat a page reload it's pretty much the best you can do. Look at the big contenders: Rails (language preference is a wash, django wins on idiom and batteries-included-ness), Cake (loses on language, at best a wash in all other dimensions), Node/Express (loses on language, loose hard on feature-richness, wins on composability, wins on perf, maybe a winner in general (ignoring the abortion that is the NPM ecosystem) but not in the CRUD arena), and more domineering Node frameworks (think React and its ecosystem) (pretty much the same story as node but trade some composability for some features that still aren't really CRUD friendly) and it makes a lot of sense in a lot of place, although not always the most glamorous places.


    is there any real advantage to those frameworks over writing raw/direct SQL queries aside from convenience and portability? I've had to work with a bunch of PHP frameworks in the past, but for most of the above I've had to manage/maintain the services from a sysadmin's point of view but not done any actual development.
  2. #22
    Sophie Pedophile Tech Support
    sure: https://github.com/RyanJenkins/ISS

    You have ONE new pull request.
  3. #23
    Lanny Bird of Courage
    is there any real advantage to those frameworks over writing raw/direct SQL queries aside from convenience and portability? I've had to work with a bunch of PHP frameworks in the past, but for most of the above I've had to manage/maintain the services from a sysadmin's point of view but not done any actual development.

    Definitely, although opinions vary on if the tradeoffs are worth it and like anything it comes down to "depends on the situation". It's important to keep in mind that a web framework is more than an ORM. The advantages of an ORM are primarily in convenience, although the additional level of abstraction between the database and controller/business logic certainly comes in handy, especially in larger projects. With a little forethought there's a large class of denormalizations you can do entirely in the model layer without needing the change controllers which is a definite step up from "I added a count field, now I need to go hunt down everyone who ever did the equivalent select count query and change it".

    PHP has shitty templating built in but in most languages you either do CGI which is horrible or find a templating system and use that, a framework is just making the better choice for your. There is also a lot of crap you have to write for basically every web app ever made, routing, CSRF prevention, form validation, auth/password hashing (god only knows how many user credentials have been lost to shit homebrew implementations) and good frameworks provide all these things.

    The argument might be made that I've just described disparate functionality that might be individually packaged and composed as desired rather than dropping the monolithic thing which is the modern web framework on the problem. I think there's a good point there, js/node and clojure/ring are good examples of ecosystems that take this approach but it's difficult to do well. There's a fair amount of interdependency there, like it's very hard to ship an authentication package that doesn't assume a specific persistence layer (e.g. an ORM), almost every templating system you might want will want some kind of special access to the auth system, it's nice if auth and controllers can cooperate in some way other than "programmers shall check auth before every action", there's just dozens of these little cases where it's a lot easier to build something that ties these pieces together into something like a framework than to try and make them composedly assembled and configured by the consuming developer.
  4. #24
    Sophie Pedophile Tech Support
    Anyway Lan if i am making your life more difficult with my pull requests you should just say so. I don't really Django and web dev but i do try.
  5. #25
    SBTlauien African Astronaut
    I'm running my forum from an Android app that is less than 2mb in size. You guys should come pounce on it and see how well it holds up. I have a little IDS so I can see when someone is trying something suspicious. The layout still sucks though.
  6. #26
    Sophie Pedophile Tech Support
    Yay i helped, i feel so useful.



    Honto ni yokata.
  7. #27
    Lanny Bird of Courage
    Set up a test environment is anyone's interested: http://iss.lannysport.net/
  8. #28
    SBTlauien African Astronaut
    Looks better than mine. Just make sure there aren't any errors please.
  9. #29
    Sophie Pedophile Tech Support
    Since we got spammed to shit last night i want to propose auto-sage functionality and enhanced flood control as anti-spam measures. Auto-sage could be automated bump locking of threads, where they cannot be bumped more than one time over a 6 hour time period by the same poster. Or, say if an account has been the last poster in 10 threads in a row, the account can still post in threads but the posts made by that account do not bump the thread.

    Furthermore, flood control should be exponential. First time to wait is 1 second, then 2 then 4 then 8 and so on. When the poster gets to the 64 second mark however they should get a 1 hour ban automatically.
  10. #30
    Didn't you just spam the new forum as a test
  11. #31
    Sophie Pedophile Tech Support
    Didn't you just spam the new forum as a test

    That was one thread, and the new forum is in it's testing stages so i'm allowed, besides i did it under my normal username. If i am genuinely testing something no need to hide my identity. As far as my username goes that is.
  12. #32
    Lanny Bird of Courage
    Ran the forum mig this morning if anyone wants to see what it looks like with a few more threads. TTFB times are in the 125-200ms range with DOM ready in the 200s, which I'm sure I can save a bit off of but relative to the heart wrenching 15 seconds we all get to enjoy now I'm pretty happy with the state of things.

    You should be able to log in with your current account, Django has a nifty multiple authentication backends system, it took more time to sift through vB to figure out their hashing scheme than the implement the damn thing. Fun fact: with vB your password is stored under md5. They did manage to salt it (using php's notorious rand()) but "don't use md5" is still like the first thing anyone learns about password hashing. It looks like they actually implemented blowfish (at least there's a file for it) but it never seems to get used. Passwords will get upgraded to Django's standard PBKDF2 at your first login under ISS.
  13. #33
    Sophie Pedophile Tech Support
    Ran the forum mig this morning if anyone wants to see what it looks like with a few more threads. TTFB times are in the 125-200ms range with DOM ready in the 200s, which I'm sure I can save a bit off of but relative to the heart wrenching 15 seconds we all get to enjoy now I'm pretty happy with the state of things.

    You should be able to log in with your current account, Django has a nifty multiple authentication backends system, it took more time to sift through vB to figure out their hashing scheme than the implement the damn thing. Fun fact: with vB your password is stored under md5. They did manage to salt it (using php's notorious rand()) but "don't use md5" is still like the first thing anyone learns about password hashing. It looks like they actually implemented blowfish (at least there's a file for it) but it never seems to get used. Passwords will get upgraded to Django's standard PBKDF2 at your first login under ISS.

    Can confirm. Just logged in with my standard NiS account. You're doing the Lord's work Lanny. Would have helped out more but i have serious issues with motivating myself, shikata ga nai. I literally just this month came around to writing the decrytping module for my thingy which is what 40 lines of code probably 25 of which is just recycled from the main part of the script.

  14. #34
    Sophie Pedophile Tech Support
    You can tell by my colored boxes on github as well (-_-")
  15. #35
    bling bling Dark Matter
    can i do custom artowrks plz
  16. #36
    Lanny Bird of Courage
    For a banner? Yeah, I'd love to get some more in the rotation. Size should be 300x150, otherwise there's no real requirements.

    Also implemented giving thanks tonight:



    If anyone has any good ideas for the label text it'd be soooo good to hear it.
  17. #37
    Half of original core was an irredeemable SJW (actually posted like a 10k word essay on why he a retard and got more or less booted from the community under that alias for it) and the other half didn't really care (Jacob and Adrian respectively, if you care) so there's not much you can do. I am happy to criticize Django in a lot of dimensions, specifically the absence of a clear markup-producing isomorph makes it hard to consider it a long-term contender in light of industry trends and it's true core does have a political agenda (although besides such drama as the master/slave episode which is, on the whole, pretty insignificant they are largely impotent to carry it out).

    This doesn't change the fact that for CRUD apps where you don't need to sweat a page reload it's pretty much the best you can do. Look at the big contenders: Rails (language preference is a wash, django wins on idiom and batteries-included-ness), Cake (loses on language, at best a wash in all other dimensions), Node/Express (loses on language, loose hard on feature-richness, wins on composability, wins on perf, maybe a winner in general (ignoring the abortion that is the NPM ecosystem) but not in the CRUD arena), and more domineering Node frameworks (think React and its ecosystem) (pretty much the same story as node but trade some composability for some features that still aren't really CRUD friendly) and it makes a lot of sense in a lot of place, although not always the most glamorous places.



    ​There are a lot of image boards in the world, I can enjoy some chan shitposting but mandatory pseudonymous forums will always be what I grew up with and what I want in a place to call home. I plan to migrate the vb5 DB over, we'll see how realistic that is once I dive into the guts of it but was able to pull a user-migration script for 5 to 3 together in an hour or so so I think it's within the realm of possibility.


    post 10K essay pls
  18. #38
    Number13 African Astronaut [dispute my snotty-nosed seagull]
    Is this gonna be where we're moving to?
  19. #39
    Lanny Bird of Courage
    post 10K essay pls

    Pass, would rather not tie this handle to that incident. It's also guaranteed to be taken the wrong way

    Is this gonna be where we're moving to?

    Yee, the domain will remain the same, hoping to put on some finishing touches, rerun the mig script, and switch the DNS over this weekend.
  20. #40
    Number13 African Astronaut [dispute my snotty-nosed seagull]
    the domain will remain the same
    That mean that it'll still be niggas in space? I'm not a computer literate nigga, gonna migrate passwords and users and such?
Jump to Top