5 ms·
Murdering userscript extensions & dynamic code is such a sad thing to declare a win. There's so much FUD being used to scare the web into accepting so many sad
by rektide 4y ago
Murdering userscript extensions & dynamic code is such a sad thing to declare a win. There's so much FUD being used to scare the web into accepting so many sad new limits. I detest this technical fearocracy.
- Vinnl 4y agoWhat do you mean when referring to userscript extensions and dynamic code? The latter I think refers to being able to execute code that is fetched at runtime? That certainly makes things a lot easier for developers, but I don't quite see what limits that imposes for users?
- rektide 4y agoThere's a range of different ways to author & uses for dynamic code. In terms of use cases, downloaded on the fly code is definitely one example. Userscript engines like Greasemonkey, VioletMonkey, & TamperMonkey are all alao on the chopping block, which also allow user-edited code as well as downloaded code. There's also a huge range of uses for dynamic code in general. Data stores & engines will optimize performance by using the Function constructor[1]. Cant do that anymore: basic, sensible, multi-decade long optimizations are now off the table. Being able to use eval() to dynamically generate a complex expression- no longer allowed. It's bitterly ironic that Apple's prohibition against interpretters (a type of dynamic code) has held their platform back from allowing interesting things to run on iOS. Chrome's real rendering & js engines are blocked there. Because Apple says it's too unsafe to trust programs to do anything not statically defined, that only code that can all be fully read & understand is ok. Now here's Google & then Mozilla, bringing the exact same prohibitions against dynamic code to the web. At it's deepest heart. It's so ugly, so hypocritical, & so menacing & massive a threat to possibility, to extensions that can grow & develop. Long hope, but a deep one: I very much hope one day (far away) a semantic-web like world wide web might emerge, but if this sick knee-capping happens the browser will never be a viable place for user agency- which must be a dynamic & growable organic thingh never be tenable as a place where user agency can grow & flourish. Extensions are amazing, but if they're restricted to single-purpose little timmicks, unflexible static predefined capabilities, Google will have insured that the only thriving systems the world will get will be inside the data center. These restrictions mortally cripple user-agency, that which is most special & most dear about the web & what set it apart from conventional software applications. My open github issue[2] on this. [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... [2] https://github.com/w3c/webextensions/issues/139 https://github.com/w3c/webextensions/issues/139
- user3939382 4y agoThe basic problem is that the average non-technical user lacks the knowledge that these policies exist, much less their deleterious effects. This is the problem with some of the valid points RMS has been raising for decades. Look at dragnet surveillance- ask the average person who Snowden is. Unfortunately I don't see that changing, especially since you can see the same dynamic in (nearly?) every other industry. The industry engages in widespread practices, sometimes legitimized by corrupt laws via regulatory capture, that harm our society and everyone is too busy trying to put food on the table to notice.
- BuckRogers 4y ago
- user3939382 4y agoThat’s very idealistic that you think “justice” is what the US has in mind for him. If you haven’t noticed from the Assange case, the US fed gov’t rewrites the laws and creates its own definition of justice to try its best to murder anyone who exposes its crimes. If the US was interested in “justice” for Snowden it would have awarded him a Congressional medal of honor instead of hunting and trying to prosecute him.
- BuckRogers 4y agoThe truth would prevail. Isn’t that what the weasel was fighting for? Navalny faced your “justice”, because he’s a true and actual hero of his nation. I can assure you, any true patriot would walk down Navalny’s path. Not Edward Snowden‘s path of treason and cowardice. I have no love for Benedict Arnolds.
- user3939382 4y agoThe truth already came out the day his material was released. He’s been isolated from his country, culture, family, everything he knows and loves and has to fear every day will be the day the US figures out a way to kill him or bargain with Russia to hand him over to death/lifetime imprisonment via a kangaroo court. He hasn’t sacrificed enough? He’s one of the few patriots. The traitors are the ones working for and especially managing these unconstitutional illegal programs that continue to this day.
- shadowgovt 4y agoHonestly, Mozilla's approach here is sound: they create a potential competitive edge by not removing the existing APIs, betting that the good outweighs the harm. I hope it does!
- rektide 4y agoNo, Mozilla is imposing the same brand new restriction against dynamic code (eval, Function[1]) as Google & has no affordances to allow this sometimes performance-critical & creatively necessary set of capabilities. Extensions can no longer grow & evolve, turning back multiple deacdes of possibility. [1] https://exploringjs.com/impatient-js/ch_dynamic-code-evaluation.html https://exploringjs.com/impatient-js/ch_dynamic-code-evaluat...
- Firmwarrior 4y agoHey, look on the bright side. Within a decade or so, the "open" web will have completely stagnated, and all new content will be squirreled away in closed-source, non-searchable private domains like Discord. So you won't even care that your web browser sucks
- wvenable 4y agoeval() is creatively necessary? The existence of eval() in a function breaks JIT optimizations so it's also bad for performance.
- rektide 4y agoYou point out only the weak, sad dynamic code & ignore the enormously speedy & optimizing dynamic code. Shame. Have at least some nuance or balance in your decry-al.
- wvenable 4y agoWhere is your example of speedy safe optimized code executed by eval() that wouldn't just be better as regular code?
- SemanticStrengh 4y agofearocracy is a nice term
- deleted 4y ago[deleted]