Certainly, and unfortunately, the exact point at which Hadoop becomes the better option over big iron is generally an ongoing debate and shifting target. But there's no doubt that such a point actually exists.
3,335 karma · joined April 13, 2011
Certainly, and unfortunately, the exact point at which Hadoop becomes the better option over big iron is generally an ongoing debate and shifting target. But there's no doubt that such a point actually exists.
This is the start of a scaling path that winds down Distributed Systems Avenue, and eventually leads to a place called Hadoop.
(Replication and consensus are remarkably difficult problems that Hadoop solves).
> figuring out which events are listening to a given DOM element at any given time
This is part of the DOM Specification, not JS. You may be using JS to manipulate and listen to the DOM, but the reason that browsers don't support doing thing X natively is because the DOM Specification does not specify it.
> * sane debugging for things Facebook Coonnect, which had a really confusing implementation at my last company
Again, this is about a Facebook client library, not Javascript.
> * no magically defined functions or variables (i.e. foo["bar"+ someId] = eval("function () {...}")
If you mean the use of eval to change the runtime environment, pretty much every dynamic language supports some form of eval. It would also be impossible to write certain types of code without eval.
> * keeping CSS out of JS, and JS out of HTML
Not sure how this is a criticism of JS.
> * dealing with features tightly coupled to an ancient jQuery plug-in
Again, this is a common software engineering problem, and has nothing to do with Javascript.
I think you've illustrated some of the reasons that Javascript is so apparently unpopular -- often (but not always) people reference some aspect of the DOM, or jQuery, or whatever vendor-hacked snippets from the late 90s that they remember, without considering that the "bad" parts of the language are by now well known, and there exist extremely efficient and standards-compliant, double-JIT'ed runtimes for JS.
I think you mean your codebase rather than JS. There are plenty of industrial JS codebases where this is not a problem.
The problem with "fruit" like this is that it depends heavily on the exact version of the JS runtime being used. If the next iteration of V8 introduces an automatic optimization or (worse) de-optimization for your low-hanging fruit, you're left with sometimes odd-looking code for a behavior that no longer exists.
As we've learned from the history of C++, if you depend on undefined/undocumented behavior quirks of a compiler or runtime, you're going to have a bad time. It's better to bump micro-optimizations like this down to a lower-level language. At best, you're buying a constant factor in whatever scaling curve you're trying to beat.
You can have a lot of something and still have a shortage.
* --read-only
* --security-opt="no-new-privileges"
* --cap-drop=ALL
* --net="none"
* --cpu-period=
* --cpu-quota=I agree that npm has been a bit slow with a bunch of important features like package signing, sandboxing post-install scripts, etc. but as a counterpoint to the authoritativeness issue, I would argue that vetting and defining "authoritative" packages is a difficult problem. I'm not aware of any open/semi-open package ecosystem that has solved this problem (please do correct me if I'm wrong).
As an example in the JS world, which of lodash/ramda/underscore/functionaljs should be the/an authoritative javascript FP library? Should they all be marked authoritative? If so, what is the criteria for a new library to also be authoritative? What happens when a library is abandoned? How do you even define abandoned in an open ecosystem?
These are solvable problems, but not easy ones to reach consensus on.
The Redhat-like alternative is to have a central entity employ/pay contributors to audit and maintain libraries, but it's debatable whether npm would have grown to its current size with that model.
This is otherwise known as an active developer community and is a good thing. In any open library ecosystem, it's ultimately up to the developer to carefully choose and vet third-party modules. There isn't any substitute for that.
The alternative is a tightly controlled standard library, but that isn't npm's stated goal. Such a controlled, curated, audited standard library is, however, something that could be built on top of npm, but obviously not vice versa.
So npm being a circus is, in the grander scheme of things, a good thing. Novice programmers will necessarily produce novice code.
edit: if it wasn't clear, I completely agree about the security risks of this project.
If there's one thing the majority of people watching the superbowl love, it's condescension from a corporation.
A largely backwards source-compatible, JIT'ed interpreter for one of the world's shittiest designed but most widely deployed languages? That runs the frontend fleet for the #2 site on the Web? While supporting new core language features and extensions? Yes, I would say that's a breakthrough in interpreter implementation, and thus tech.
The end benefit to the consumer being monopoly prevention isn't likely to outweigh the service guarantees of a centralized service.
I don't think anyone is doubting this bit. It's the overwhelming current trend of forcing everything onto the blockchain, whether it improves the application or not. The interesting questions (frequently not answered) revolve around why one should do this.
> So disappointing such code was not reviewed by Vern and team before running it on the server where damage could result.
So this code was actually put into production somewhere at some point -- wow. And cursory code review and compiling from source will do absolutely nothing here.
How so?
Kafka is a stream processing engine that uses plain old Zookeeper data structures for config.
Edit: Kafka also seems to have the missing features you mentioned if Riemann should be taken seriously as a general-purpose stream processing engine.
Especially if you're not using any particularly advanced Postgres features, the operational simplicity of having built-in multimaster replication might outweigh any PG benefits.
https://www.maxmind.com/en/proxy-detection-service
Still not impossible, just a bit harder when that $5 DO droplet is no longer good enough to proxy Netflix through.
I'm not sure what this means, and you appear to be referencing a comment in this HN thread. I'd imagine that if an entity uses a hardware splitter to intercept all traffic, the number of alleged hops used in a network traversal isn't as important.
Now at even two degrees away, a single tenuous connection from the author to this cluster would instantly put the bulk of that cluster into the author's "extended network", and lead to the scary visualization shown. This connection could literally be a recruiter connecting to two essentially random people. At higher degrees of separation, the probability of finding such a path increases dramatically, to the point of almost certainty.
In other words, don't use these so-called "extended networks" for any serious analysis, and don't always trust tree visualizations of social networks.