Javascript is fucking cancer

Alright. I've fucking had it with this abomination.
How do people put up with this shit? Why is a language that was meant to do frontend shit now used for the backend?
When did it all go so wrong?

Other urls found in this thread:

github.com/facebook/react/blob/d63249d03488fec1ea92a81ba29f0e87a82feeae/PATENTS
github.com/getify/You-Dont-Know-JS
ecma-international.org/ecma-262/8.0/index.html
github.com/npm/npm/issues/19883
archive.fo/irqOx
github.com/OpenIB/OpenIB/tree/master/js
apple.com/ios/ios-11/
slackbuilds.org/repository/14.2/games/znake/
twitter.com/SFWRedditImages

You are clearly just too stupid to be a programmer in any language. Any smart person finds the .js files they need and dumps them in a /js directory. If you're too low IQ to do that, use bower

Anything that you do on the browser can and should be done with pure JS, anything else is stupid bloat.

Anything that isn't on the browser should not be using JS.

Lodash is fine, though. You can even include just the functions you need.

Yeah, nah. Yer a fag. Also, Node is one of the last comprehensible and hackable server platforms left
xddd ebin

If you need jqueer then your website is bloated.

What were you expecting, something like TempleOS?

The web is abstractions all the way down.

React is a faggot facebook framework and you fucked up by falling for it. There's only two acceptable ways to do JS:

OP don't listen to this nigger. React is fine.

How do you set react up to work with an arbitrary backend?

Edit the source code to React.

Don't listen to the Facebook shill.

github.com/facebook/react/blob/d63249d03488fec1ea92a81ba29f0e87a82feeae/PATENTS

The license granted hereunder will terminate, automatically and without notice,if you (or any of your subsidiaries, corporate affiliates or agents) initiatedirectly or indirectly, or take a direct financial interest in, any PatentAssertion: (i) against Facebook or any of its subsidiaries or corporateaffiliates, (ii) against any party if such Patent Assertion arises in whole orin part from any software, technology, product or service of Facebook or any ofits subsidiaries or corporate affiliates, or (iii) against any party relatingto the Software. Notwithstanding the foregoing, if Facebook or any of itssubsidiaries or corporate affiliates files a lawsuit alleging patentinfringement against you in the first instance, and you respond by filing apatent infringement counterclaim in that lawsuit against that party that isunrelated to the Software, the license granted hereunder will not terminateunder section (i) of this paragraph due to such counterclaim.

By using node like your'e supposed to.

...

There's a new strain of AIDS dubbed Super AIDS out there. Be safe!

Anyone have any resources that show a nice overview on JS? I've always considered it a meme and have avoided it like the plague except for minimal html/css uses.

Once you know the basics, read this:
github.com/getify/You-Dont-Know-JS

Hey thanks, this seems to be exactly what I was looking for. A lot of JS tutorials or web-series you find usually just show you something at a base lever rather than teach you exactly how the language works.

Anytime user.

Anything like that for C++(17+)?

i will be a code artistan in no time :^)

I bet you make your websites using assembly and Json files, right?

why would you use jquery now that react exists?

No, I make it with HTML and CSS. Shove your web3.0 jqueer website up your ass.

Then your "website" isn't useful. At best it's probably little more than a faggy blog.

One day you'll find out that Holla Forums works without javascript.

...

Ahem, pal, /g/ is two blocks down the road you know?

What the fuck is your point? Disable JS and the site will still work perfectly.

What the fuck are you talking about? It's not really any different compared to any other programming language implementation. In fact, it's worse at even the most basic of tasks.

Its single threaded design means you either clog up the event loop with time-consuming functions or write your code in continuation passing style where all operations are cut up into small functions that call each other in order to allow the event loop to run. It's the opposite of comprehensible; even with promises, the code still involves passing function objects all over the place so they can be called. Remember that CPS was supposed to be some kind of intermediate representation meant for compilers. Even Go has superior concurrency compared to this crap.

Hackable? What the fuck does that even mean? I seriously doubt you're man enough to hack on the Node.js runtime (libuv + v8), and even if you are, it doesn't make it any more hackable than, say, Ruby or Python. The real difference is Node.js apparently has the biggest number of projects out there; it's even bigger than CPAN. Is that what you're talking about? Size of the community? As if they're going to give you any support on their 10 home-grown modules that provide exactly 1 function each.

Why don't people just read the actual ECMA standard?

ecma-international.org/ecma-262/8.0/index.html

It's not like C and its undefined behavior. Everything about the language is specified. Every feature of the language is there.

This is not going to be fixed.

Section 30.02 of _Unix Power Tools_ by O'Reilly & Associates says ... /ispell/, originally written by Pace Willison ...but hey, I was there when Pace ported the ITS SPELL programto C. Sure I am grateful to have a few reminders (^Z isanother one) of bygone glories around, but let's give creditwhere credit is due! Legend tells of a Chinese Emperor whoordered books burned so all knowledge would be credited tohis reign. I guess the subsequent generation of scholarswere a lot like the Weenix Unies of today.


I don't regard it a "real" UNIX, then again I wouldn't buy a"real" UNIX, 1970s software technology is not something Iwould want to buy today.Getting caught up in the "pure" UNIX war will lead you torestrict yourself to "pure" SVR4 implementations, in themainstream camp *only* SUN have gone for this. That in myview does not make it much of a "standard".If a vendor decides to do something about the crassinadequacies of UNIX we should give them three cheers, notstart a flame war about how the DIRECTORY command *must*forever and ever be called ls because that is what the greattin pot Gods who wrote UNIX thought was a nice, clear namefor it.The most threatening thing I see in computing today is the"we have found the answer, all heretics will perish"attitude. I have an awful lot of experience in computing, Ihave used six or seven operating systems and I have evenwritten one. UNIX in my view is an abomination, it hasserious difficulties, these could have been fixed quiteeasily, but I now realize nobody ever will.At the moment I use a VMS box, I do so because I find that Ido not spend my time having to think in the "UNIX" mentalitythat centers around kludges. I do not have to tolerate ahelp system that begins its insults of the user by beinginvoked with "man".Apollo in my view were the only UNIX vendor to realize thatthey had to put work into the basic operating system. Theyhad ACLs, shared libraries and many other essential featuresfive years ago.What I find disgusting about UNIX is that it has *never*grown any operating system extensions of its own, all thecreative work is derived from VMS, Multics and theoperating systems it killed.

Didn't javascript start out as the front-end version of a backend language?

Can someone explain to me why it is considered GOOD practice in js to
instead of just acting on the original via a reference/pointer?

While the single threaded design is kind of dumb considering how easy to parallelize it should be, I disagree with your assertion regarding callbacks. Node callbacks are as simple as it gets, with the only problem with them being callback hell, which is a merely syntactic issue solved by Promises and async/await. Promise.all() is also one of the best foolproof concurrency strategies, although being JS and all it wouldn't really be concurrent.

Node is hackable in the sense that it is not framework-y, even using Express, which is advertised as a framework. I am not an expert in web frameworks, but I have used some, an Node was the only one that let me do whatever the fuck I wanted with it due to the fact that everything was defined via language constructs and not humongous black box classes with configuration via obscure XML files and obscene abuses of reflection. In Express, everything is a function; it can't get simpler than that.

Who considers it good practice? I have heard a lot of idiocy regarding good JS practices, but this is the first time I hear about this. Are you sure it is not standard "muh inmutable" programming to avoid changing the object being referenced somewhere else?

...

...

the problem is youre not pajeet enough

That's where you contracted HIV user.

JavaScript semantics are really bad.

Stop reading tutorials from starbucks sipping hipsters.

Just don't do webdesign its a waste of time. Let the females and indians do it.

Everything moved into the web. Native apps are over.

Javascript is the perfect example of open sores software. You can view the source of any website's javascript fuck you webasm but you are just going to run into proprietary and obfuscated source code all of the time.

I think the term open sores is stupid, but it would be intellectually dishonest for me not to contradict that. Open source, as defined by the OSI, is actually pretty on par with Free Software criteria for free software if not stricter, and most people who support open source (except the stupid ones, so ignore them) basically agree with that sentiment. The issue with open sores is moreso the fact that it's seen in utilitarian terms; the consequence of that is that there are tons of open source proponents that don't even eat their own dogfood--who will literally use proprietary software out of spite for the bloated GPL because "MacOS is BSD" (it's not). So, the issue isn't that there is js and html and xhtml and all that other junk that's technically open source but still proprietary--proprietary code regardless of source model isn't open source by OSI's definition--the issue is that open source proponents literally don't give a shit whether it's proprietary or not--with the exception of that tiny, tiny minority of people like OpenBSD who believe in freedom zero but not the FSF interpretation of free software, but, unfortunately, they're basically lopped in with those retards by nature of having no alternative.

This. Locked down trash like the Apple app prison killed native apps for all but the most specialized cases. That's why Rust-based web dev is the future of niggerhate

By niggerhate, do you mean that in the positive sense or the negative sense of the word?

Whats the difference between Java and JS?

Stop.

One's for pajeets, the other's for women.

Niggerhate as in the act of inflicting niggerhate could have a different connotation than niggerhate as a concept or deeper abstraction.

Niggerhate is a lifestyle.

"undefined"==typeof active_page&&(active_page="page"),!function(t,e){"object"==typeof module&&"object"==typeof module.exports?module.exports=t.document?e(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document")return e(t)}:e(t)}("undefined"!=typeof window?window:this,function(t,e){function i(t){var e=t.length,i=Z.type(t)return"function"===i||Z.isWindow(t)?!1:1===t.nodeType&&e?!0:"array"===i||0===e||"number"==typeof e&&e>0&&e-1 in t}function n(t,e,i){if(Z.isFunction(e))return Z.grep(t,function(t,n){return!!e.call(t,n,t)!==i})if(e.nodeType)return Z.grep(t,function(t){return t===e!==i})if("string"==typeof e){if(ae.test(e))return Z.filter(e,t,i)e=Z.filter(e,t)}return Z.grep(t,function(t){return X.call(e,t)>=0!==i})}function o(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function r(t){var e=fe[t]={}return Z.each(t.match(ue)||[],function(t,i){e[i]=!0}),e}function s(){Q.removeEventListener("DOMContentLoaded",s,!1),t.removeEventListener("load",s,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+Math.random()}function l(t,e,i){var nif(void 0===i&&1===t.nodeType)if(n="data-"+e.replace(_e,"-$1").toLowerCase(),i=t.getAttribute(n),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:be.test(i)?Z.parseJSON(i):i}catch(o){}ye.set(t,e,i)}else i=void 0return i}function c(){return!0}function d(){return!1}function h(){try{return Q.activeElement}catch(t){}}function p(t,e){return Z.nodeName(t,"table")&&Z.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody")):t}function u(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function f(t){var e=Re.exec(t.type)return e?t.type=e[1]:t.removeAttribute("type"),t}function g(t,e){for(var i=0,n=t.length;n>i;i++)ve.set(t[i],"globalEval",!e||ve.get(e[i],"globalEval"))}function m(t,e){var i,n,o,r,s,a,l,cif(1===e.nodeType){if(ve.hasData(t)&&(r=ve.access(t),s=ve.set(e,r),c=r.events)){delete s.handle,s.events={}for(o in c)for(i=0,n=c[o].length;n>i;i++)Z.event.add(e,o,c[o][i])}ye.hasData(t)&&(a=ye.access(t),l=Z.extend({},a),ye.set(e,l))}}function v(t,e){var i=t.getElementsByTagName?t.getElementsByTagName(e||"*"):t.querySelectorAll?t.querySelectorAll(e||"*"):[]return void 0===e||e&&Z.nodeName(t,e)?Z.merge([t],i):i}function y(t,e){var i=e.nodeName.toLowerCase()"input"===i&&ke.test(t.type)?e.checked=t.checked:("input"===i||"textarea"===i)&&(e.defaultValue=t.defaultValue)}function b(e,i){var n,o=Z(i.createElement(e)).appendTo(i.body),r=t.getDefaultComputedStyle&&(n=t.getDefaultComputedStyle(o[0]))?n.display:Z.css(o[0],"display")return o.detach(),r}function _(t){var e=Q,i=Fe[t]

Java and JavaScript were made by and for UNIX weenies. All these Windows users complaining about PHP and JS have never used real UNIX software.


As DLW says, "C++ is the C of object oriented programming languages."

The following was brought to my attention by VP.Try using bc to calculate the value of 163/ln(163)Here's a Sun4: titanic:~[13] bc -l 163/l(163) 32.0-75570-60420-20649243140-49Here's a DecStation: hindenburg:~[1] bc -l 163/l(163) 32.0-85189980504841560572


In 1984 I was working on Logo for the Mac, cross-compiledfrom a Unix box with the hacked PCC from Sumex. Theassembler on the Unix box started barfing on an illegalinstruction, and I feared the worst. The line was somethinglike and R0, 7&F&3C@03^3Eventually, I tracked it down to the fragment p & FOO_FLAGwhere FOO_FLAG was defined to be 0x80000000.Deciding to find out what 0x80000000 was in decimal, Iturned to Logo running on the Mac, and typed PRINT 8 * 65536 * 65536and it responded 7&F&3C@03^3Yes, the bug was in the "itoa" routine in the PCC runtime,the basis for the Sumex compiler and also the Unix boxcompiler that the Sumex compiler was compiled in...


And I hacked the renderer code to throw cpp the proper"-DFRAME=%05d" to spit out numbers the way I wantedthem. Why did I want the leading zeros? I don't know, I justthought it was cleaner.So I fired up the animation and let it run for a while(days).Well, the output was quite amusing (or at least it wouldhave been if I didn't need the results for my thesis defensea week later). The object would go down for a few frames,then jump up and go down a little, then go back to where itmaybe should have been, then jump up....After a little headscratching, I realized that the leadingzeros in my frame numbers were causing cpp to treat them asoctal values. How precious.But still, if I say "#define FRAME 00009" then "#ifFRAME==00009" should still fire (or it should at least whineat me). Well, 00009==00009 does trigger, but so does00009==00011.Huh? Well, some C library thinks that the nine in 00009 isn'toctal, so it interprets it as 9 decimal. And 00011 is a fineoctal rep of 9 decimal. So, both "#if FRAME==00009" and"#if FRAME==00011" fired and I applied two translate callsto my object geometry. And(!), it's not that having adecimal digit makes the whole number decimal. The string00019 gets interpreted as 00010 octal plus 9 decimal = 17decimal. Lovely, not.

Holy shit.

Sounds perfect.

...

Get on my level.

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(![]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(![]+[])[+[]]+(![]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()

This thread is why i steer clear of webdev.

it's like a bunch of spergs who love free software can't get anything done.

Is this a bot?

...

github.com/npm/npm/issues/19883
( archived at archive.fo/irqOx )
TL:DR when you run npm as root, it will change file owners of essential system files. I am glad that I have avoided nodejs at all costs.

Why is a lincuck always slave to some package manager? When you need a Winblows program, you just download a binary that just werks, preferably getting it from the official site of whoever is the author. Also you can unpack a portable program anywhere and it's just werk from any directory, while Loonix programs always seem to entrench themselves into the OS by placing files all over the place (so they can't be easily removed if something is not quite right with the install-unistall script).

Package manager makes all your files organized by default. I don't have to decide where the working files should be place because everything is done automatically. Unlike on windows, I have never had any problem with uninstaller in my gnu os. Everything just werks as it is.

But what if nobody prepared a package of a given piece of software for your specific distro?

You can compile foreign package yourself. If it's windows binary program, you can use wine.

...

Can you have portable programs in Loonix in the sense that they exist in Windows, i.e. that all files that came with the program remain in a single directory? Or do you practically always need scripts which put files in miscellaneous locations and then remove them accordingly upon uninstall?

What is flatpak? Although, I don't see a point why I need something like that.

just because the glibc niggers have convinced you otherwise does not mean its a non viable solution.

Wasting space by having the same library installed 417 times? Using insecure libraries because retarded devs don't update the bundled ones?
Sure, you can have that on Linux too, if you're so inclined.
Also, appimages and flatpacks cram the entire "portable app" into a single file.

What is distributing the source?
What is using a script to ld_preload them from the current directory?
What is statically linking?
What are meme application containers?

So I've been browsing 8ch without JS, and it's a mixed bag for me. When I browse 8ch using Firefox with JS it caches alot of shit that even that can easily eat up 5GB's of ram, usually when it's open for more than a few days. When I use 8ch without JS, firefox uses about 500MB, which is way more tolerable. However, without JS enabled I can't use the quick-reply box, backlinks, or the auto updater. I thought about putting together some user JS that just has those features, but after looking at the 8ch.js file I don't even know where to start. Thoughts?

I've wanted to do it myself too. Wouldn't take too long, I could post it here if you're interested.

That would be awesome. I'm looking through the js right now to get a better understanding of it, and I don't know who threw this shit together, but there's quite a bit of dumb shit that makes it hard to understand. For instance, there's a bunch of one character variable names and functions, and the whole thing is 2000 loc without whitespaces or newlines. About 20000 loc if you want to actually read it. If you manage to strip out all the bloat and get a nice, minimal script, it would be a miracle.

You should read about JS or even Holla Forums before trying to make that plugin, fam.

Captcha: orbcum

I see, well that certainly would make sense. I think I just need to get a better understanding of the webdev workflow overall, probably the biggest reason I've avoided js for so long.

Well, at least you wish to do something. That's more than what your average Holla Forums poster does.

It's in the footer already, but I will post it again:

github.com/OpenIB/OpenIB/tree/master/js

These files get compiled into 8ch.js, then minified. Good luck.

There is no standard workflow for webdev because there are so many different frameworks and memes. Minification is one such meme. Converting all of the function names and variables into single characters and stripping out all the whitespace literally makes the .js file smaller, which means less bytes you have to transfer over when someone lands on your page, which means marginally faster page load. Another more recent meme is webpack, which is taking all of your code and all of your libraries and all of your HTML and CSS and shit and shoving it into one big single .js bundle. This is again done because it makes the page load marginally faster, since there's less overheard making a single HTTP request vs making 20 smaller HTTP requests. Of course it's also viewed as malicious because both memes make the source harder to read, and the bundle makes it harder to selectively script block analytics and shit. They are still done anyways, because the prevailing view is that faster page loads are worth "m-muh source".

Javascript is slowly maturing though. Eventually browsers will have caught up with all of the neat new features in the language and a huge chunk of those third-party scripts and libraries and frameworks will just go away. My dream is for both node.js and npm to be fucking deprecated by the language itself.

Fixed that for you.

Are you sure you want software written by retarded devs in the first place?

That screenshot is moot. The site works without JavaScript just fine.
Also, your OS sucks. Get something with decent font rendering.

It doesn't really make much sense to me that people would rather butcher their source code than say, design less bloated webpages. For example, the size of this page on Apple's website: apple.com/ios/ios-11/ is about 16MB's, half of that is from images. There are some site's I've seen like cnn or youtube that both have 1MB worth of scripts, so they would benefit from minimizing their code, but I still don't think that "optimizations" like those are worthwhile when images and video typically use up more space.

If your scripts take megabytes, then minifying may also do a significant dent in parsing time of the code.

This issue has been happening ever since 5.7.0 was released a few hours ago. It seems to have completely broken my filesystem permissions and caused me to have to manually fix the permissions of critical files and folders.
github.com/npm/npm/issues/19883

Linux always break anyway

For a fun time, try going to sourceforge with plain html browser. Followed a link there today from slackbuilds.org/repository/14.2/games/znake/ and wtf, never seen anything so nasty (and broken too).

They changed it recently, it was much better before.

Lol I saw this shit while I was at work. Look at the person who committed that code too. Made me glad we use fucking docker containers for everything, if the filesystem breaks you just kill the container and fire up a new one.