1,687 karma · joined February 7, 2015
Expert systems with a myriad of rules that fail the moment they get an input that was not considered?
While everybody agrees that toxic users are bad and you probably should get rid of them, many would really disagree on who the toxic users actually are.
My made-up-on-the-spot definition would be: "Everybody who hinders business interests."
May it be by hindering user growth or even causing user loss. For example making large groups of users feeling uneasy in some way. For example using bad words or posting bad ideas or even purposefully provoking users or user groups.
Or by hindering revenue streams for example by advocating ad-blockers or making the advertisers or other money sources feeling uneasy.
Or other reasons.
With so many actors it could be very steep. Like 51% capacity has 99% chance of success and 49% has 1% of success and 40% has practically zero chance (these are made up numbers).
It could also be quite shallow as in 1% capacity gives you 1% of success... that would actually be quite bad and invite malicious actors to test the system with regular attacks.
I feel like me or the web has changed significantly over the past years. I'm just not sure if I'm different and have seen it all or if everything became more professional and commercial and at the same time less interesting to explore.
That would mean that the cow gets higher nutritional value and can needs less food.
EDIT: Apparently they removed really useful features which is a bad development.
What did they do with it? Do they not regression test? Are they letting each new intern add a new feature while nobody really cares about quality? Did they just replace the old software with a new bug-riddled software that's getting pushed out the door without quality checks? Is it some manager trying to earn a medal by using that new MS-framework to rebuild everything and needing to push it out fast to declare success and move up while leaving the ruins behind?
I don't see a way around this mess with the current structure of python. You would have to reimplement the data heavy part completely in another language that provides proper threading models.
As I understood the GIL simplifies data structures by removing any regard for concurrent access.
If you remove the GIL you must move your synchronization (mutexes) into the data structures and immediately get a big performance penalty.
If you wanted to avoid this overhead you run into swamplands where the programmer must take care of concurrent access patterns and everything. Also many CPython modules would stop working because they assume the GIL.
It can be done but last time I read about the GILectomy there was no clear way forward.
Simply try something like unpickling a 10 GB data structure while keeping your GUI in the main thread responsive. You cannot do that because the GIL locks up everything while modifying data structures. Move the data to another process instead of another thread. Great, your GUI is responsive but you can't access the data from the main thread.
You can say that such a humongous data structure is wrong or that a GUI isn't meant to be responsive or programmed in Python or that I'm holding it wrong. Probably right.