A Sober Look at Bayesian Neural Networks - <AUTHOR> https://jacobbuckman.com/2020-01-17-a-sober-look-at-bayesian-neural-networks/ <comment><USER2> The critique is about the importance of priors in BNN. In my humble understanding of Bayesian reasoning the argument to defend any prior is that with enought data the learning method converges to the real distribution, so if the result of any learning method depends heavily of any prior assumption then that assumption is crucial and in no way can it be taken randomly. On the other hand, it is well known that deep learning can learn any random model, so in the end I think all of this is about the bias-variance trade off. If your prior has an infinite number of adjustable parameters (zero bias) then the variance becomes infinite ( your result will depend and becomes equal to the training set).

So in practice one should choose the prior with the minimum number of parameters (bias) that shows a good learning performance on the available training set.

Anyway, trying to measure how a prior generalizes or not in BNN seems to be another way of thinking about bias-variance, if there is more than this, I would like to know.

<comment><USER3> Have you seen the latest research on double descent? Here's a good intro, with references to some of the foundational work: [https://openai.com/blog/deep- double-descent/](https://openai.com/blog/deep-double-descent/)

It seems bias-variance doesn't apply to neural networks at all! So your intuitions are good, but there's definitely more to the story.

<comment><USER2> About the work you cite, I think that double descent is simply because the extra number of parameters (low bias) used produces a large variance when the input data is small, but as more data is introduced the extra parameters don't play any role, that is they are prunned. So the high bias is relative to the quantity of availabe information (training data). So the second descent starts when the extra parameters are prunned, in practice their coefficients tends to zero, the system learns that those coefficient don't play any role.

</comment></comment></comment><comment><USER4> Lack of good priors is definitely a weak spot for BNNs. I also like the concept of Generalization-Agnostic Priors. But...

> So viewed through this lens, BNNs with arbitrary priors are nothing more > than an architectural decision. A BNN is just a neural network that maps its > input to a distribution over outputs; the prior is just a hyperparameter of > the model. Just making the network Bayesian bought us nothing. It will only > be helpful if we find a good prior, and validate that we are actually doing > accurate inference. If you personally believe that exploring this space of > priors (similar to exploring the space of architectures or hyperparameters) > is particularly promising, then that is a good reason to keep working on > BNNs.

Isn't this overstating it a bit... Making the network Bayesian (even if the priors are generalization-agnostic) still bought us something: after training we have a posterior distribution over weights that contains _both_ weights that generalize and weights that don't generalize. That's better than being unlucky and only having weights that don't generalize at the end of training. I'm not saying this advantage is easy to achieve in practice, or benefit from. But it's not nothing.

Also Bayesian inference as a framework has a distinct advantage over the usual aimless architectural twiddling that so much "research" seems to focus on: it's intellectually/mathematically sound.

<comment><USER5> Agree. Throwing prior weights into hyperparameter sets is not helpful. If each hyperparameter or architecture decision were rigorously tied to an interpretable event or process, we'd have much better explainability and traceability. Its a step in the right direction to try.

</comment></comment><comment><USER6> The paragraph beginning with "Let's consider how we might apply the Bayesian framework..." where he introduces the notation is a great example of everything I hate about mathematical notation. We have big-F, small-f, f-of-x, f-sub-x, f-star, big-F-star... and then he decides to abbreviate what he just introduced. If I didn't know what's happening and I was trying to understand this for the first time, I would have no chance and would just give up right there.

<comment><USER7> The reason those are all "f"s is that they are all versions of the same thing: the function mapping features to outputs, or approximations of it. The capital "F"s refer to random variables/processes describing the same function (using capitals for RVs and lower-case for samples is standard practice in statistics).

By using this notation he is drawing careful distinctions between the various approximations he's using. I think it's pretty good writing.

<comment><USER6> It's great that's it's consistent. My problem is that the notation only makes sense _if you already understand_ the very thing that he's trying to explain with this notation.

<comment><USER8> That's not entirely true. The point being made is about the consequences of the design being set up with that notation. That design and that notation is reasonably general. It requires some familiarity with notation around mathematical statistics, modeling, Bayesian formalisms, and random variables.

The thing he's trying to explain is how those things interact and what their behavior is.

</comment></comment></comment></comment><comment><USER9> The title of the article is at odds with the purely speculative nature of the core part of the argument--the section titled "Are Current BNNs Generalization-Agnostic?". The authors admit themselves that it is pure speculation. They present a speculative class of generalization-agnostic priors, speculate that commonly used priors might belong to this class, and then speculate about why we haven't observed commonly used priors belonging to this class even though they speculatively might belong to this class. This argument is not very convincing, to say the least.

Generalizability is a function of both the network structure and the priors. Non-Bayesian networks without priors can be seen as pseudo-Bayesian networks with (improper) flat priors. The use of independent priors that are unimodal at zero, like the independent normal priors mentioned in the article, will tend to shrink weights toward zero, which makes the function smoother. Smoother functions tend to generalize better (measuring generalizability as the gap between in-sample and out-of-sample error). The classic bias-variance trade-off is that they will generally perform worse in-sample and may also perform worse out-of-sample. Heuristically, if you take any neural network and make it Bayesian by putting priors on the weights, it will (averaging over datasets) generalize not worse than the original network. It may have worse absolute performance.

The authors also argue that we can't be confident in the uncertainties from BNNs until we have a good theoretical understanding of NN generalization in general. They ignore the possibility of building confidence in the uncertainties, both in general and for any particular network, by empirical observation--the same way we've built confidence in generalization of non- Bayesian NNs, since, as the article points out, we don't yet have a good theoretical understanding of NN generalization.

</comment><comment><USER10> Frankly, just solve an important problem with BNNs in a meaningful way with advantages that only BNNs bring (e.g uncertainty estimation) and you won't have to write blogposts defending them.

<comment><USER11> There's value in collaboratively discussing half-baked ideas in public before any real applications have been produced.

Imagine this article as just another in a stream of posts trying to "think aloud" about BNNs, without any immediate pressure of applications for it.

</comment></comment><comment><USER8> My summary:

Neural nets have massive "capacity" which means that, in the face of finite data sets, they can both (a) reasonably represent generalizable and non- generalizable functions and (b) can take on priors which do not distinguish between those classes of functions. The upshot is that after training, the posterior weight of robust/generalizable models will equal that of fragile/non-generalizable ones.

We need to believe that the priors that we actually use don't have that property if we're to believe in the posteriors produced by BNNs. Should we?

Today, priors in networks arise mostly out of network topology since initialization methods are somewhat constrained by practicalities in training. The article criticizes those who would assert that network topology (+ initialization) leads to a reasonable prior in the space of effective input -> output functions as realized by the network.

To put that in different terms, you might imagine an argument saying that network topologies are biologically inspired and thus represent a decent approximation of the space of "achievable" implementations of functions in the given task. But does an argument like this say anything about the generalization capability of functions favored by this prior? You might characterize this as "Easy" versus "Correct".

I'm not trying to actually represent argumentation that neural network topologies actually are reasonable in shaping "uninformative" Gaussian priors in the weight space into "uninformative" and "generalizable" priors in the function space. There may be some really good arguments out there. But, if we're going to understand NNs as reasonable Bayesian processes, then that question needs to be interrogated.

</comment><comment> 1e-9 > We should ask, "what evidence are you providing that your priors are any > good?"

This is valid. Anyone pursuing a Bayesian approach should be asking themselves this question about every prior they use. To fully benefit from a Bayesian framework, one needs to construct models with understandable parameters for which there is some sound theoretical or practical insight that can be embedded with priors and that is not well-represented by the training data. Doing this can help your solution avoid the kind of wildly unpredictable and costly mistakes you might get if you used a completely blackbox approach. For critical applications, this can be highly useful. If you can't come up with priors that are clearly beneficial, then you are likely better off using a non-Bayesian approach.

</comment><comment><USER12> EDIT: I misread the quote below- it applies to a distribution over functions, not examples. My bad and thanks to one of the authors of the post for politely correcting me in the replying comment.

>> But there is one core problem with the Bayesian framework. In practice, we never have access to the prior distribution Pr(f)! Who could ever claim to know the real-world distribution of functions that solve classification tasks? Not us, and certainly not Bayesians. Instead, BNNs simply choose an arbitrary prior distribution q(f) over functions, and Bayesian inference is performed to compute q(f∣D). The question of whether q(f) is close to the true distribution Pr(f) is swept under the rug.

This is true but it's also nothing new: it's the standard PAC-Learning assumption that the examples (the dataset) are drawn from the same distribution as the target theory (the real-world distribution).

This assumption and the complete impossibility to verify it in practice is not unique to Bayesian Neural Nets. It is true for _every_ machine learning algorithm.

And this is certainly no surprise for machine learning researchers (or, if it is, it is really concerning that it is). So the done thing in machine learning research is to demonstrate that, under PAC-Learning assumptions, a certain technique or algorithm _can_ correctly identify a hypothesis that approximates a "true" function to within some amount of error.

I mean to say, when people publish papers reporting a new SOTA on such-and- such dataset, they are not really claiming that their technique somehow finds the "true" distribution of the real-world process that generated the data in their dataset. They're claiming "we can correctly classify instances in this dataset and if PAC-Learning assumptions hold, this technique should also work in real-world data from the same domain".

Of course this is often left implicit- and the article makes me wonder to what extent this is because researches tend to forget or even :gasp: ignore it completely. A disturbing thought.

<comment><USER13> Author. There is a misunderstanding in your argument. Your point is about the dataset being sampled from the true distribution. We are happy with that assumption (it's orthogonal to our point).

The problem we have is that to apply Bayes rule you NEED a prior distribution over the correct functions, applied to the points on the dataset, and to the points outside of the dataset. In other words, one thing is assuming that the dataset is representative of the (unknown) classification task, the other is to assume that you know what the distribution over classification tasks is.

<comment><USER12> Hi. Yes, I see- I misunderstood this. My apologies for the hasty reading of your post.

But, in that case, there does exist a very good generalisation prior on function space that is well known and well understood: the simplest hypothesis (e.g. the one with the smallest minumum description length) is always better (because it results in a reduction of the hypothesis search space with a corresponding reduction to the size of the error on unseen data while keeping the number of examples constant).

See:

Occam's Razor (Blumer and friends):

[https://www.sciencedirect.com/science/article/pii/0020019087...](https://www.sciencedirect.com/science/article/pii/0020019087901141)

Quoting from the abstract:

 _We show that a polynomial learning algorithm, as defined by [ "A theory of the learnable", Valiant 1984], is obtained whenever there exists a polynomial- time method of producing, for any sequence of observations, a nearly minimum hypothesis that is consistent with these observations._

Would that begin to address your concerns?

</comment></comment></comment><comment><USER14> I am going to be obtuse and say that since Bayes theorem is a non controversial rule about conditional probability, if you interpret your NN as a probability distribution over outputs that is updated by data, it is always able to be interpreted as "Bayesian" and can be a helpful way to examine what your implict priors are (i.e. via architecture or regularization terms) to see if they are reasonable for the problem at hand. It is no surprise that weak uninformative priors are sort of useless. Explicit priors shine when you know something about the actual problem (say some moments or some invariances in the problem set up).

</comment><comment><USER15> Shouldn't the priors be updated and improved each step to be closer to a good prior, and that's why inaccurate priors may be acceptable? (Do BNNs not iteratively update the (next step's) prior with the previous step's posterior?) I haven't worked on BNNs, but since Bayesian are always talking about updating their priors I thought this would be the case.

<comment> 1e-9 You are describing a recursive Bayesian approach, which can have significant computational and storage advantages for filtering (for example, Kalman filters). For this to work well, the prior must be able to adequately represent the learning of the posterior, which may be practical with a self- conjugate prior or a Monte Carlo approximation such as what particle filters use. In practice, for nontrivial machine learning applications, self-conjugate distributions rarely model the problem well and good approximations of the posterior into a concise prior are rarely practical.

</comment></comment><comment><USER16> The author starts with: P(A|B) = P(B|A)P(B)/P(A)

This is Bayes the wrong way around. The last part should be P(A)/P(B). I have no hand in the dispute (reading here for the first time about it), but not getting the basics right is not very convincing.

<comment><USER11> It's not "not getting the basics right", it's a simple typo. A thing like that shouldn't invalidate a whole article (unless you have skin in the game for the opponent argument).

Why does HN have a pattern of dismissing whole articles due to simple typos? It's as if we're so habituated to skim and do tldr-reading that our brain is working overdrive to find the slightest excuse not to have to do any type of reading beyond surface level.

<comment><USER16> > unless you have skin in the game for the opponent argument

I stated explicitly otherwise (I'm not even in research), something you certainly couldn't miss. I'm not quite sure, if your allegation backfires.

Especially in hot temper, people make errors. But just then they should avoid making an easy target. The authors site also has some problems with rendering math (some does, some shows still dollar signs) and this adds to a first impression of sloppyness. I t is his decision to go public - but then he has to take the consequences.

<comment><USER13> Author here. Sorry that the typo and the render errors affected you so much. We don't see any rendering issues on our end, if you tell us what browser you are using maybe we can replicate and fix them.

<comment><USER16> > Sorry that the typo and the render errors affected you so much.

It seems to concern some commentators here to a much greater extent, concluding from the whole downvoting dance. I'm old-school, I received my master in mathematics more than 25 years ago. Being in stochastics, I simply spotted an error and also some dispute, the latter from the context in the article. I want to mention, that in the past people had considered a behavior like mine as helpful, rigour was a value and especially when under fire, people were expected to try even harder.

> what browser you are using maybe we can replicate and fix them

FF 72.0.1 on Win 10 here. If it helps, in the following sequence:

\--- snip ---

Bayes's Rule simply says that for any two non-independent random variables $A$ and $B$, seeing that $B$ took a specific value $b$ changes the distribution of the random variable $A$. In standard lingo, the term Pr(A=a) is called the prior, Pr(B=b∣A=a) is the likelihood, and Pr(A=a∣B=b) is the posterior.

\---snap---

all the single capitals (A,B...) appear embraced with dollar signs, all the Pr(...) expression are correct (even after removing uBlock/noScript restrictions)

<comment><USER13> Thanks! We just fixed an issue. I was able to test it on FF for MacOS but it would be very helpful if you could confirm the problem is fixed in your end.

Also, I'll admit that messing up Bayes rule in a blog post criticizing Bayesian Neural Netowrks is pretty comical. Should have taken the time to proof read the whole thing.

<comment><USER16> > if you could confirm the problem is fixed

Yes, it's working :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> some feedback for the authors:

\- some simple 1d plots to illustrate your points would be very illuminating; without them, i'm not very convinced by your arguments

\- 'generalization-agnostic' is very frustrating as a term, i'm sure you can think of something clearer

\- i'm not sure that your argument 'a BNN is only as good as its prior' is any better than 'a NN is only as good as its initialisation', yes any NN model is for sure a victim of local optima, but for most practioners this is good enough</comment>


What Will Make It Feel Safe to Go Back to Movie Theaters? - <AUTHOR> https://www.vulture.com/2020/05/movie-theaters-coronavirus.html <comment><USER2> If they promise to stop robbing us blind just so we can watch a bunch of pedos who think they are better than us. Oh, plus they need to do something about the shit movies they make.

</comment><comment><USER3> I feel safe now. People are living their lives in the free states.</comment>


The GPL Sucks - <AUTHOR> http://blackhole0173.blogspot.com/2011/06/gpl-sucks.html

<comment><USER2> " _When I release an open-source program, I want to guarantee something very simple. The program and its source code can be distributed and used by anyone for any purpose, and all modifications to the program must be released as open-source under these same terms. I want to guarantee that the program and any improvements made on it are available to anyone, proprietary or not, forever._ "

Those terms are contradictory.

On the one hand, you want to guarantee "The program and its source code can be distributed and used by anyone for any purpose." That seems to mesh with the BSD license in a straightforward way: you want people to be free to use the code in proprietary or open source applications. On the other hand, you also "want to guarantee that the program and any improvements made on it are available to anyone, proprietary or not, forever." That requirement is much closer to the GPL (or even the AGPL): if someone distributes a modified version of the software, you want the source of those modifications to be released so other people can modify their application in the same way. Unfortunately, that requirement is also completely at odds with the BSD license you champion in your blog post; under the BSD license, I'm free to modify your application and distribute a modified binary without ever releasing the source. There's no guarantee that modifications are ever made available to anyone.

A lot of the rest of the post appears to be hyperbolic anti-GPL rhetoric, not backed by any facts or examples. " _A company has zero motivation to help improve GPL'd software because they can't benefit from their improvements_ " for instance. RedHat or Canonical serve as decent counter-examples.

There are many legitimate reasons to disagree with the GPL's philosophy: this is not one of them.

<comment><AUTHOR> I don't know why you say I champion the BSD license, I only used it as an example. I have never used the BSD license, for the very reasons you just stated - it is at odds with what I want the program's code to be used for.

These terms are not contradictory. Anyone can use and distribute the code for whatever purpose, and any changes made to the code must be made available to the open source community, just like the GPL, except now only _that part of the program_ must be released as source code, and the unrelated portions of the program are free to remain proprietary. This isn't incompatible, and it isn't the GPL.

<comment><USER3> There's this magical license you may not have heard of that does just that called the LGPL. The LGPL's entire existence is about compromise.

Why are you intentionally ignoring it?

<comment><USER4> LGPL is a nice compromise. However, it's my understanding that LGPL requires that the user must be able to substitute alternative implementations (swap in custom DLLs). That simply isn't an option for me (console games, mobile apps). There have been many situations where I'd be happy to use OS code, fix bugs and publish my changes. But, I'm not willing or able to OS my proprietary code. LGPL won't let me do that because RMS's vision is not compatible with my reality.

</comment></comment></comment></comment><comment><USER5> So if I understand correctly, what you want is a "super-viral" version of the LGPL under which modifications must be released under the same super-viral LGPL, and specifically not the GPL?

<comment><AUTHOR> No, because the LGPL prevents using the actual code in your program. The idea is to have a license that requires only the program source in question to be released when it is modified, and for it to be released under the same license. In this way, the program and all its modifications must remain usable by both open-source and proprietary programs. The LGPL permits converting code to GPL, which deliberately prevents modifications from being used by proprietary programs. Even when this is removed, it still specifically prohibits any sort of static linking or usage of any of its code inside a proprietary application. One has to use a dynamic DLL link, which flat out doesn't work for any template-based or inline'd C++ functions and is a very confusing legal mess.</comment></comment>


Killing Cancer - <AUTHOR> http://killingcancer.vice.com/

<comment><USER3> We spend billions (tens of billions?) on cancer research in the US every year. Unfortunately, it seems that not all of the money is spent effectively:

[http://www.businessinsider.com/small-amount-of-money-from- pi...](http://www.businessinsider.com/small-amount-of-money-from-pink-nfl- merchandise-goes-to-breast-cancer-research-2013-10)

[http://www.huffingtonpost.com/nancy-stordahl/breast- cancer-p...](http://www.huffingtonpost.com/nancy-stordahl/breast-cancer-pink- ribbons_b_1951319.html)

Does anyone know the best places to donate?

<comment><USER4> If you like ambitious, disruptive approaches then you could donate to the SENS Research Foundation in support of the research strategy known as whole-body interdiction of lengthening of telomeres (WILT) [1]. People who follow cancer research lament that all cancers are different, and that there are few biochemical commonalities. This is what makes cancer expensive: even with the next generation of fairly general targeted cell killing therapies that disconnect (a) the kill mechanism from (b) the delivery mechanism and (c) the targeting mechanism you have to build and prove new targeting mechanisms for every subtype of cancer. Slow going, and this is by no means fully realized as a technology base at this point.

But all cancers do in fact have a commonality, just one you have to be ambitious to target: they must lengthen their telomeres, either through abuse of telomerase or the less well understood alternative lengthening of telomeres process. If you can shut off these few mechanisms for a sufficiently long period of time then any cancer dies. Doing this temporarily seems plausible. Doing it permanently would mean you never get cancer, but you'd also need all of your stem cell populations replaced every decade at least, or you'd suffer some form of accelerated-aging like condition due to absence tissue maintenance, which is a whole other situation of complexity that lies somewhere in the future. One by one it's pretty plausible to replace stem cell populations, and indeed technically possible today for some of the better understood stem cell populations such as those of the immune system, but there are a lot of them to do. A lot.

So if you want to help the development of the ultimate cure for cancer - <USER2> form of interdiction of telomere lengthening - then send a large donation to the SENS Research Foundation and earmark it for that line of research. You can look at their annual reports to see where they are in this research.

[1]: [http://sens.org/research/introduction-to-sens- research/cance...](http://sens.org/research/introduction-to-sens- research/cancerous-cells)</comment></comment>


There is No Appeasing Russia's Mad King - <AUTHOR> http://theweek.com/article/index/259524/there-is-no-appeasing-russias-mad-king

<comment><USER2> I am tired of this stuff on hacker news. I am Czech and we have really bad history with Russians, but this is just ridiculous.</comment>


Generating Fake Conversations by Fine-Tuning OpenAI's GPT on Data from Messenger - <AUTHOR> http://tenoke.github.io/blog/gpt-finetune <comment><USER2> Sorry, but these generated conversations seem nonsensical, nothing like the OpenAI results.

<comment><AUTHOR> It uses their small model and a tiny dataset in comparison (and a small amount of training). It is more showcasing how much it learns (and doesn't learn) with those limitations in place. As well as allowing you to recreate it with perhaps a few minutes of work and less than an hour of waiting.

Also, I wouldn't say the results are nonsensical - I think it has learned a lot more than a markov chain or a simple rnn but I agree that especially on the surface they dont even sound like they surpass Eliza by much. Moreover, it is significantly more apparent how much it learns about the different people you've talked to AFTER you run it on your own data.

For a somewhat more novel/interesting result with fine-tuning GPT, I can recommend checking out gwern's post[1] on training it on a big poetry corpus.

1\. [https://www.gwern.net/RNN-metadata#finetuning-the- gpt-2-smal...](https://www.gwern.net/RNN-metadata#finetuning-the-gpt-2-small- transformer-for-english-poetry-generation)

<comment><USER3> As it happens, nshepperd ran his finetuning GPT-2-small on our IRC channel. I'd tried it before with char-RNN back in 2015 or so, and I have to say, GPT-2-small trained way faster and better than my IRC char-RNN did.

The samples also looked a lot better than OP's. I assume that's because he ran it for more like a day on a few hundred MB of chat logs.

<comment><USER3> I didn't run on IRC because my GPUs were busy with poetry, FWIW: [https://www.gwern.net/RNN-metadata#finetuning-the- gpt-2-smal...](https://www.gwern.net/RNN-metadata#finetuning-the-gpt-2-small- transformer-for-english-poetry-generation) [https://slatestarcodex.com/2019/03/14/gwerns-ai-generated- po...](https://slatestarcodex.com/2019/03/14/gwerns-ai-generated-poetry/) [http://sevensecularsermons.org/on-the-significance-of- gwerns...](http://sevensecularsermons.org/on-the-significance-of-gwerns-poem- generator/)</comment></comment></comment></comment>


Chief Censor of NZ deems shooter's manifesto objectionable, 14 years for reading - <AUTHOR> https://www.nytimes.com/2019/03/22/world/asia/new-zealand-christchurch-shooter-manifesto.html <comment><USER2> Just playing devil's advocate, but how many words would you need to change before that manifesto ceases to be objectionable? Wouldn't it be trivial to 's/word/anotherword/g' to get around the censors?

</comment><comment> a0-prw Most western countries distinguish between free speech and incitement to murder. Relatively uncontroversial.

</comment><comment> a0-prw Also note that the header is clickbait: you get 14 yrs for possession, not for reading.

</comment><comment><AUTHOR> There's a lot of debate out there on this. Reddit seems to strongly disagree with it.</comment>


FCC Chairman Tom Wheeler's lame excuses for his net neutrality proposal - <AUTHOR> http://www.slate.com/articles/technology/future_tense/2014/05/fcc_chairman_tom_wheeler_s_lame_excuses_for_his_net_neutrality_proposal.html <comment><USER2> Wheeler created a legacy dystopian novelists only dream about. The article uses netlfix vs amazon for their exclusive example but the true issue is news.

Millions of customers limited to seeing video from one news network. Fox news or CNN or MSNBC. Or one newspaper's video service. Suddenly instead of streaming NY Times you can only reliably view the Washington times or the NY post.

And forget about non profit or advocacy sites competing for mind share against large companies who can get their content delivered with high quality and reliably unbuffered.

<comment><USER3> This is what concerns me about the public debate surrounding the proposed Comcast/Time Warner merger. Look at the coverage that MSNBC (owned by Comcast) has devoted to the issue, for example[0][1].

Having news agencies very tightly coupled with (and owned by) companies that are lobbying for major policy changes to basic infrastructure and utilities[2] is a recipe for disaster.

[0] [http://www.fair.org/blog/2014/04/14/something-you-still- wont...](http://www.fair.org/blog/2014/04/14/something-you-still-wont-see-on- msnbc/)

[1] [http://www.huffingtonpost.com/paul-abrams/msnbcs-big-fail- de...](http://www.huffingtonpost.com/paul-abrams/msnbcs-big-fail- deafening_b_5189126.html)

[2] Yes, I consider the Internet in 2014 to be a basic utility, even if the FCC does not agree (yet).

</comment></comment><comment><USER4> "We can't have a situation in which the corporate duopoly dictates the future of the internet and that's why I'm supporting what is called net neutrality." \- Barak Obama, 2006

Apparently Obama has the power to replace Wheeler as chairman and I wish he would.

</comment><comment><USER5> I hate to give such a short take, but any article about "net neutrality" that doesn't use the words "video" or "streaming" once isn't a serious discussion. "NetFlix" appears one time. The repeated use of "website" seems intended to mislead casual readers about what, exactly, is being debated. Slow banner ads for poor nuns? C'mon.

Any real resolution of this issue has to involve either forcing the cable companies to be dumb pipes and somehow figuring out how that will still incentivize anyone to build out infrastructure, or allowing companies representing 1/3 of primetime traffic to come to negotiated agreements with companies representing 1/3 of primetime viewers.

<comment><USER6> Yeah - 'dump pipes' \- that was a phrase I was looking for. My water company just pumps water to my house. That's it. It's a commodity service. Major content companies also owning and managing the information pipes seems as bad an idea as having Monsanto or General Mills own and manage my local water infrastructure, no?

<comment><USER5> But you don't want new pipes that can deliver twice as much water every few years.

<comment><USER7> No end customer has gotten any new pipes, certainly not at the rate Moore has provided for the ISPs. For them, networking equipment has gotten considerably faster, cheaper and easier to manage.

The technology is certainly not the issue here. The entrenched monopolies have all but guaranteed nothing happened in the last mile for 10+ years while their job got easier.

Just take a look around. There are very very few places in the world where you can get 100 MBit (and use it for more than a minute). This was the height of bandwidth technology _in 1995_. Today, 10GBit is the jellybean standard in networking gear.

<comment><USER8> I think there is too much emphasis on the last mile speeds. I see complaints all the time that other countries have 100mbit links to the home whereas the USA is stuck with 5-10mbit. Personally, I have 25mbit down and Fios is always trying to upsell me to 50. However, I never get those speeds to real internet sites. Sure, my speedtest comes in right at 25mbit.

</comment></comment></comment></comment></comment><comment><USER9> > The only real restriction is that fast lanes can't be offered exclusively to > a company also owned by the cable or phone company.

This fast lane already exists, and it exists _for the cable company itself_.

E.g. Comcast's digital television (including Netflix-rivaling "Xfinity" on- demand service) is delivered over bandwidth that is dedicated/statically allocated to serving their entertainment package.

Worse still, Comcast's data also has a dedicated backhaul. Live TV is collected from satellite feeds at a local "headend" facility, and on-demand content is likely cached close to the user à la Netflix Open Connect.

</comment><comment><USER10> "We've excluded lobbyists from policymaking jobs." \- Barak Obama

</comment><comment><USER6> I've tried to follow this on and off for a while, but I don't understand what the justification is. We have a current system in place, and now we're under constant pressure to pass some new legislation to address a problem that doesn't seem to exist (certainly not for millions/billions of end users).

<comment><USER11> I'm not sure which side you think needs justification, but a brief background:

The Internet started as a collection of small academic networks. Eventually, commercial providers joined in. Through a system of peering [1], we got global reachability: everybody could talk to everybody. In practice we generally had network neutrality [2], where everybody's packets were treated fairly. This happened because there were many internet service providers, and any one of them thinking about being a greedy dick would have to consider that they were substantially outnumbered. And they'd also have to worry about customers switching to competitors.

But now the US internet market has collapsed to a small number of players. Most people have little or no choice. And the remaining players are either a) very large, or b) commercially irrelevant. So the incentives are different. Comcast sees a lot of money being made by Netflix and resents it. So they are basically threatening to make Netflix's service worse unless they get paid more. And they want to be able to do that to anybody who makes a lot of money over the Internet.

That was previously prevented by the FCC, but no longer, because the head of it used to work for the cable companies. Comcast's remaining competitors aren't going to complain; the big ones see a great opportunity for a similar shakedown racket. Consumers can't do anything, because they often can't switch, and if they could it's generally to some other giant.

So basically, the old system did work fine, it is breaking down. What almost everybody wants is to formalize the old approach, network neutrality. But Comcast, et al, have an enormous amount of money and long experience at manipulating governments, and they currently appear to be winning.

[1] [http://en.wikipedia.org/wiki/Peering](http://en.wikipedia.org/wiki/Peering)

[2] [http://en.wikipedia.org/wiki/Net_neutrality](http://en.wikipedia.org/wiki/Net_neutrality)

<comment><USER6> Thank you. I haven't seen it presented quite this succinctly, and I'm more looking at things over the past 20 years. Things work pretty good. Legislation to try to keep it that way would be good. But the legislation we seem to be seeing codifies the new way. Again, I'm likely glossing over some big bits I've not seen yet - I'll go read up some more.

</comment></comment></comment><comment><USER12> The new FCC chairman, Tom Wheeler, was previously a telecom VC, lobbyist, and industry association chief. He's actually in the "Cable Television Hall of Fame". His fortune previously depended on influencing the FCC. Now he's in charge of it.

Make no mistake, this guy has one job. He's going to do whatever he can to break net neutrality.

Oh, he also donated (via bundling) over 500k to Obama, who appointed him (nobody knows how much more than 500k, because the disclosure requirement is just "over 500k"). Obama also campaigned both on not hiring lobbyists, as well as net neutrality.

</comment><comment><USER13> > Wheeler suggests that the "unreasonable discrimination" rule would be flimsy > and could lead to abuse.

Oh, but "commercially reasonable rates" isn't a flimsy rule that could lead to abuse? This actually exposes the sham Wheeler has orchestrated. If one is flimsy, then so is the other, and he seems to understand both are flimsy, but he protects his commercially reasonable rate rule, while fights against the unreasonable discrimination one, because he thinks the latter may actually be _less_ flimsy than the former, and he knows carriers wouldn't like that. So he doesn't want people to start pushing for that one instead.

That's not the only way to bring net neutrality, though. Reclassifying ISPs are common carriers would do that, too, and I think it would also be much easier to have small ISPs come and use Comcast or whoever's cables, and therefore more competition, too. Two birds with one stone.

</comment><comment><USER14> [http://en.wikipedia.org/wiki/Regulatory_capture](http://en.wikipedia.org/wiki/Regulatory_capture)

[http://en.wikipedia.org/wiki/Principal%E2%80%93agent_problem](http://en.wikipedia.org/wiki/Principal%E2%80%93agent_problem)

It seems to me we need a technical solution to a political problem.

</comment><comment><USER15> Reading that, I'm really happy the EU Telecom package made it through with net neutrality intact.

</comment><comment><USER16> Here is his bio: [http://en.wikipedia.org/wiki/Tom_Wheeler_(lobbyist)](http://en.wikipedia.org/wiki/Tom_Wheeler_\(lobbyist\))

Find the key word there, no need for more info.

</comment><comment><USER17> "The chairman and the professors argue that the only alternative to allowing paid fast lanes and slow lanes is some rule against "unreasonable discrimination." Wheeler suggests that the "unreasonable discrimination" rule would be flimsy and could lead to abuse."

Isn't this the same argument as the one people are using against this law change?

Isn't eradicating "unreasonable discrimination" the primary purpose of net neutrality?</comment>


Why Are Hundreds of Harvard Students Studying Ancient Chinese Philosophy? - <AUTHOR> http://www.theatlantic.com/education/archive/2013/10/why-are-hundreds-of-harvard-students-studying-ancient-chinese-philosophy/280356/?single_page=true <comment><USER2> Note: Old article from 2013.

Original HN discussion can be found here:

[https://news.ycombinator.com/item?id=6541506](https://news.ycombinator.com/item?id=6541506)

<comment><AUTHOR> Thanks for the reference, I submitted it only because I found it interesting but didn't bother to search it.

The duplicate detector should have missed it because of the ?singlepage=true

<comment><USER2> As per HN Guidelines, it's OK to resubmit an old article that hasn't been discussed in the last year. In fact, I upvoted it. However, it's customary to put the year of publication in parentheses after the title of an old article so that people know it isn't current and they may have read it before.</comment></comment></comment>


Ask HN: What bothers you most at meetings at work? - <AUTHOR> Hey, I`m Rachel. I'm a software engineer and sometimes I get bored at work because of meetings.
I hate useless meetings at work and I would like to discuss with you guys what means a good or a bad meeting at work.
Or am I the only one who doesn't like meetings that I don't even know why I was invited? :P
Thank you <comment><USER2> When meetings have no predefined goal or agenda. They tend to go overtime and usually digress into semi-related topics that aren't the reason why the meeting was needed in the first place. Most of the people there are completely bored as the conversation now has no relevance to their work and it's just so frustrating as it's burning people's valuable time. On the flip side, I've had some great and productive meetings when there's been a designated 'meeting leader'. E.g someone responsible for clearly communicating the meeting's goal and keeping the conversation focused on that. Bonus points if they actively promote participation from everyone in the room so the conversation isn't hijacked by just a few people. Triple bonus points if they extract any action items out of the conversation and help the team agree who should take ownership of that item after the meeting ends

</comment><comment><USER3> The hallmarks of a good meeting include relevance to all the attendees and necessity of synchronous, face-to-face interaction. Most meetings fail to live up to these ideals.</comment>


What kind of machine learning is this (a flowchart)? - <AUTHOR> https://www.technologyreview.com/s/612437/what-is-machine-learning-we-drew-you-another-flowchart/ <comment><AUTHOR> I would replace "you're looking at the wrong flowchart" with "it's machine intelligence"</comment>


The Time I Turned a Traffic Ticket into the Constitutional Trial of the Century - <AUTHOR> http://www.thepublicdiscourse.com/2017/01/18093/ <comment><USER2> I believe he does not hold true title to his car. He has a certificate of title. The title is held by the state who employ him as a chauffeur. His loaning the car to someone who speeded violates his licence agreement as a hired chauffeur employed by the state.

</comment><comment><USER3> > Naturally, the law contains no procedure for return of the bond and imposes > on the court no duty to return it.

Chilling!</comment>


Ask HN: Topfontcolor for HN profiles - <AUTHOR> Has there ever been a discussion around adding a topfontcolor user editable var in addition to the pre-existing topcolor var in an HN profile to allow for a darker themed topbar?  Or does this fall into the 'fear of bikeshedding' department? <comment><USER2> Greasemonkey, Tampermonkey, etc. allow scripting any webpage in _my_ browser. That includes changing the CSS, hiding elements, and lots of other things. The hardest part for me is giving up the habit of feeling helpless.

Good luck.

</comment><comment><USER3> Better try emailing the mods at email@example.com because a lot of threads disappear unnoticed. Perhaps they like the idea, and it's easy to implement.</comment>


Formerly good at math, but I've lost my skills. Any advice to grow them back? - <AUTHOR> http://math.stackexchange.com/q/23566 <comment><USER3> I'd felt exactly the same a couple years back, but the root cause was rather amusing. When I started working on stuff for Directed Edge I dove into a lot of academic research. I found myself struggling with a lot of it. I really believed that my math abilities had slipped significantly since my glory days and continued with this perception for several months...

...until I picked up some stuff that I'd thought was hard in college. I was dumbfounded at how easy it was. What had changed was not my math abilities, but my perception of what constituted _hard math_.

<comment><USER4> I've noticed the same thing. I'll routinely struggle to understand an academic paper with a notation-heavy theoretical bent, but when I found I had to dig out high school math for a couple 2D-graphics problems recently, it all came back easily.

When you're in high school, you don't realize how much of a gulf there is between Ph.D/MS-level (or even professional-level) math and what you learn in school. The public school system teaches you the barest foundations; there's a gigantic world out there beyond it.

</comment></comment><comment><USER5> I have a similar problem actually.

In high school and even the first year of university I was pretty much a natural at math. I'd been doing algebra and trigonometry since I was 10, calculus since I was 13 and started on differential equations at 15.

Not that this made me any kind of child prodigy mind you but it was a fairly isolating experience because my first 18 years took places in isolated towns with <15,000 people so I just didn't come across other people like me or with similar interests. But I digress...

The second year of university maths bored me senseless and it sucked all the fun out of maths for me. Three hour proofs, numerical methods (in particular) and so on. So I stopped doing it and just did CS instead (originally I'd been intending some kind of double major equivalent).

Having not used calculus (for example) for years I can still remember how to derive/integrate, etc. So I retain a decent part of what I knew (or so it seems). But the one area I suffer in, largely because I never got that far, is in deciphering academic papers. This applies to CS too, which is where it's a pain.

I like dealing with actual code rather than abstract ideas put in text (and the vaguest of algorithms that you can't just take an implement, or at least I can't).

So my situation isn't identical to yours but I really would like to know how I could improve my maths and CS in this area.

<comment><USER6> There's an incredibly common roadblock in math education when you make the jump from mechanical maths to creative maths. On one side, math makes sense as a set of powerful rules which help to guide you to understand and analyze the world. On the other side, math is more like a penpal friend while you're living in a foreign country. It offers advice, but largely you're on your own in a confusing land.

Academic papers are written from the far side of that roadblock. They're often best considered anecdotal pointers to how to survive abroad rather than comprehensive guides like textbooks (or review papers) offer. Reading them is thus both an exercise in deciphering something distant from your comfort zone and learning to apply its vague knowledge to your own situation.

In order to understand academic papers then, you've kind of got to become a traveler yourself. At that point you appreciate the vague note passing because even though it's difficult, there's a real opportunity there to see something few ever have before.

\---

So practically, academic papers are never easy to decipher unless you're basically part of the same communities as the authors (or they are really dedicated and skillful communicators who have an uncommonly deep understanding of the topics they're writing about). If you're doing work that cannot be solved by what exists and is common knowledge today, however, they're your best bet at finding a guide and no matter how difficult they are you want to read them through.

<comment><USER7> And even mathematical textbooks require lots of work to understand.

<comment><USER8> I shudder to think how many hours I spent poring over textbooks and lecture notes just so I could have the "AHA" moment that comes along with dealing with abstract entities.

</comment></comment></comment></comment><comment><USER9> Oddly enough that he should mention this, but last week or so I was thinking, "my how I have lost some of my mathematical prowess".

There was a room of 4 males and 10 females, now there was 5 other guys who were to be paired with someone in that room. What is the probability that the pairs would be as follows (MM,MM,MM,MF,MF) where M=Males and F=Females.

This was a real life problem I create for myself to determine the bias by the selector. I struggled to work it out by pen and paper. This was a problem 8 years ago it wouldn't take a minute to do, most of the work would be in punching numbers in the calculator. Eventually, I said when I go home I will program it up. Between the time it took for a friend to restart her computer, I had whipped up a simulation. This is something I wouldn't have been able to do 8 years ago.

So in a sense, I call it a skills exchange. I lose some skills and gain some skills. I'm sure with practice I would be back up to par, the same goes for this guy.

<comment><USER10> Is the answer: 4x3x2x10x9 / (14x13x12x11x10) * 5! Is there some easier way to solve this?

<comment><USER11> You need to divide by 3! and 2!. One way to look at it is that every selection of five from the 4M and 10F is equally likely. There are \binom{14}{5} (i.e. 14 choose 5) such selections. Of these, \binom{4}{3} * \binom{10}{2} have exactly 3M and 2F. Therefore, the probability is \binom{4}{3} * \binom{10}{2} / \binom{14}{5}, or (4 * 3 * 2 * 10 * 9) 5! / (3! 2! (14 * 13 * 12 * 11 * 10)) = 10 * 9/(13 * 11 * 7) = 0.08991...

<comment><USER10> Ahh indeed, I thought there were 5!=120 ways to order 3M and 2F, but apparently there are only 5!/(2!3!) = 10 ways: {MMMFF,MMFFM,MFFMM,FFMMM,FMMMF,MFMMF,MMFMF,FMMFM,MFMFM,FMFMM}. I made the mistake of thinking you can distinguish between individual males/females.

</comment></comment></comment></comment><comment><USER12> Teach your kids (or someone else's)

<comment><USER13> Exactly! Teach anyone and explain the concepts to them. Go your local community college and volunteer at the math clinic, even better go to a local high school that's not been doing very well. Public school systems can use all the help they can get.

I went from sucky math guy to an awesome math guy in just 1 year - <USER2> because I was tutoring.

</comment></comment><comment><USER14> I wanted to brush up on my math with a goal of shoring up fundamentals and understanding probability and statistics (not just formulaic solving). I was not sure where to start, so I have decided to start by practicing the fundamentals. Addition and so on. Khan Academy has that covered. As of today they have 'practices' that go from basic addition all the way through simple differentiation. Most important, if you run into problems with an exercise set, they have video links to the topic you are practicing. Once you have watched the video and understand the concepts, you can come back to the practice set. (RUPPPL - read understand practice practice practice loop)

You should be able to run through the set without much effort, but I think there is value in doing these simpler exercises. It establishes routine and steeps the mind for greater challenges.

I will likely add some permutation & combination stuff to my 'course work' before I go on to my eventual goal of understanding prob & stats. Getting exercise for these higher level topics will be a challenge.

<comment><USER15> This is EXACTLY what I'm doing and it seems to be working out great. Finding exercise for the higher level topics is a bit more challenging, but there is a lot out there. The thinkstats book is great if you're a programmer:

<http://www.greenteapress.com/thinkstats/html/index.html>

I've also been studying a berkely stats course on itunes u and working the exams/notes from this class:

<https://netfiles.uiuc.edu/fenghong/www/STAT100/>

I'm also reading a lot about financial analysis and risk assessment to fiddle around with real-world applications of the things I'm learning.

it's a hell of a journey.

</comment></comment><comment><USER16> The best way to study math is to fight it ... <http://abstrusegoose.com/353>

</comment><comment><USER17> Similarly burned-out, I'm having trouble caring about design: learning about how it interacts with other disciplines and practicing the skill on these issues, rather than just practicing design itself, is essential. Design, like math, is a problem-solving application and there's definitely a "feel" that can be lost.

These solutions can definitely be abstracted out to other areas, but really-- what part of math can't?

</comment><comment><USER18> Try www.khanacademy.org

</comment><comment><USER19> Like all things at which you have to work hard to gain ability, the original poster has but one course: the hardest one. To delve into those tiresome, brain-aching problems at which he once balked in school - the ones where he found that he had to put in a real effort.

And he will have to accept lots of failures before he can start to claim lots of successes. With nobody to mark his efforts down for not showing sufficient workings, however, admitting to failure can come a lot more easily when you only have your own self as teacher and student.

</comment><comment><USER20> Grab a Calculus book and solve some random problems. It can get fairly entertaining. Solving how much rocket fuel you need to reach orbit or how fast a conical object will drain or the angle you need to fire a canon ball into a castle wall or something. I haven't found much use for Calculus though in regular life.

On a side note, we've been arguing about 48÷2(9+3) at the office today. There is a correct answer, of course, but also an argument (that some think is reasonable) against that answer.

<comment><USER21> 48÷2(9+3) = 2

<comment><USER22> not quite, 48÷(2(9+3)) = 2, but 48÷2(9+3) = 288

to clarify: PEMDAS is the order of operations. so parenthesis first: 48÷2(9+3) = 48÷2(12) then multiplication and division (they have the same precedence): 48÷2(12) = 24*12 = 288

for another reference: <http://www.google.com/search?q=48%C3%B72(9%2B3)>

<comment><USER23> Best bet is to replace x÷y by x*(1/y) as division is not commutative while multiplication is commutative. Therefore 48÷2(9+3) => 48(1/(2(9+3)) => 2

<comment><USER24> You've still failed to correctly apply associativity, unfortunately. You're treating 2(9+3) as a single unit, but ÷ appears before the implicit multiplication between 2 and (9+3) and so should get evaluated first. The division should get simplified first with its immediate operands, 48 and 2. This yields (48÷2) * (9+3).

<comment><USER4> It's funny, the top Google result for [juxtaposition precedence] is exactly this question, posted on the PhysicsForum boards. 2 is actually leading 288 by a hair there.

<http://www.physicsforums.com/showthread.php?p=3235154>

Anyway, the answer depends completely on whether you believe that multiplication by juxtaposition has the same precedence as multiplication by explicit symbol. There're good reasons to believe it doesn't, eg. the first post on that linked thread, but whatever the answer, it's entirely based on typographical convention. I don't work in the community that cares, so I don't really have an opinion, other than to point out it's not as cut-and-dried as virtually ever poster here believes.

In the community that I do work, people who write parsers, things like this have to be explicitly specified. That's why I maintain that the correct answer is "syntax error".

<comment><USER20> the real answer is that thw juxtaposition rules are made up on the spit by people trying to rationilze their incorrect answer . there is not and never had been a n "implit mulitplication" rule in the irder if operations.

sent frim my drunk phone

<comment><USER4> They did, however, cite sources (possibly made up almost on the spot), which is more than anyone on this thread has done.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> This topic comes up from time to time on HN. Here's what I did to dive back into mathematics: <http://news.ycombinator.com/item?id=108924>

</comment><comment><USER26> Check out this blog for a lot of free resources <http://hbpms.blogspot.com/>

</comment><comment><USER27> see: G H Hardy's "A Mathematician's Apology"

</comment><comment><USER28> I don't think you lose "good at math" if you're actually good at math. Being actually good at math, as I'd define it, means you understand problem solving and logical reasoning. It's not about computational techniques. Most math professors have to review linear algebra and the calculus sequence before they can teach their first undergraduate class.

It's like this: if you study a language intensely for a year, you'll have a good understanding of it after that year. If you stop using it, the grammar will remain with you but your vocabulary will fade over time. If, however, you travel back to that country, it'll only take you a couple weeks to regain took you a year the first time around. Math is a language, and what you lose is vocabulary, not the language itself.

I'm 27 and have been out of school for 5 years. I couldn't do integration by parts without consulting a textbook, and I'd probably do poorly on a Calc-3 final if I had to take it closed-book, right now, in the alloted time. But I also know where to look when I need to review calculus or linear algebra. There's a huge difference between "rusty" and lost skills.

For "rusty", you just need to study again. It starts out hard and gets easier as you regain the skills. It's actually fun, at least for me, to revisit familiar friends like set theory. And I'm still learning new things (although not at as fast a rate as when I was in school) even though I've been out of school for half a decade.

</comment><comment><USER29> I'd recommend going through Khan academy and starting from the basics: <http://www.khanacademy.org/#browse></comment>


Conducting the Milgram experiment in Poland,psychologists show people still obey - <AUTHOR> http://sciencebulletin.org/archives/11265.html <comment><USER2> blogspam of

[http://www.spsp.org/news-center/press-releases/milgram- polan...](http://www.spsp.org/news-center/press-releases/milgram-poland-obey)</comment>


uMatrix has been archived - <AUTHOR> https://github.com/gorhill/uMatrix <comment><AUTHOR> IMO the genius of uMatrix was that Raymond realized that an in-browser requests firewall should have two dimensions, instead of one: (1) the (sub-)domains that the requests pointed at, and (2) the _type_ of request (i.e. cookie, image, XHR, etc).

Now, obviously you could always write an ABP compatible filter that could block any combination of these two, but that's _hard_. What uMatrix did is present the underlying complexity in a way that's easy to intuit for a power user, giving you point-and-click request filtering power over both domains simultaneously.

For that reason, I'm skeptical that uMatrix can be replaced with a traditional blocker, not even one with an advanced mode like uBo, because it simply doesn't allow the specificity that a two-dimensional model like uMatrix did. That makes uMatrix's being archived incredibly tragic and a great loss for the web. I hope someone as trustworthy and competent as Raymond will pick it up in the future, and I thank him for all his work on it up to this point.

<comment><USER2> This is so true, the two dimensions allow such a nice simplification of what should be rendered even in UX terms.

What I personally didn't like about it though are the tech specific parts (e.g. xhr and other both require script anyways, as not a single website will work with xhr disabled).

So for my browser project [1] I decided to split it up into "text", "image", "audio", "video" and "other" which I hope will make more sense for most people.

Back in February when the debate about the manifest and requests api started, I started my own semantic browser project which aims to filter out all UX- interfering CSS and HTML and probably won't allow JS anyhow.

It tries to focus on the automation and caching parts that are broken in current web browsers, so that everything is peer to peer, and that other trusted peers can be used to share bandwidth, content, or metadata with each other and that each one has a 100% persistent local cache that only gets refreshed once the user tells the browser to.

If there'll be a need to support webapps later, they will probably be sandboxed in a new window that represents a temporary cache located in /tmp/... in order to prevent abuse of local storage and cookies. I've learned to not trust any site these days, even my bank's website uses foreign overseas-located trackers, which is technically a GDPR violation.

[1] [https://github.com/tholian-network/stealth](https://github.com/tholian- network/stealth)

<comment><USER3> > and probably won't allow JS anyhow.

You're not going to allow JS? I don't know the answer, but I'm curious what percentage of sites are unusable without JS? It might be fine for basic browsing, but nearly any ecommerce or site with "interactive" content uses JS. Many video players require JS. It seems like a very niche solution that won't have mass appeal if you're not going to allow JS.

To me, the perfect solution would be something similar to uMatrix where power users can choose the settings they think are best. Anyone else can use simplified controls to indicate if they're seeing ads or if site functionality is broken.

Then there's some aggregation software that looks at all of those inputs and determines the best default settings for each site. If ads are seen then the blocking levels are increased toward the fringe of advanced user inputs, if functionality is broken then it walks back the blocking levels until broken functionality reports end.

This would be a never ending eb and flow for each site so it would be important to automate it as much as possible.

<comment><USER4> I think it should be clear how to use umatrix.

Turn everything OFF for all sites by default. I turn off third party stuff and all scripting.

Then visit a new site. Then opt-in until you either - decide the site sucks and leave, or get something acceptable and read your article. Then press SAVE to save the settings for that site.

It's worth mentioning that many sites do not render well without javascript, but reader mode renders a perfectly readable article.

but also it's much MORE prevalent that you turn on javascript and the site will do much worse things.

<comment><USER5> This is the point to me, and this is the way I've used it for years. Everything always loads almost instantly, I enjoy not burning my bandwidth for things I don't care about. I regularly have over 150 tabs, and at that point blocking unneeded/unwanted content makes a very noticeable difference, especially on older machines.

I enjoyed the ride.

</comment></comment></comment></comment></comment><comment><USER6> The developer, Raymond Hill had this to say on reddit a month ago:

 _I will never hand over development to whoever, I had my lesson in the past -- I wouldn 't like that someone would turn the project into something I never intended it to become (monetization, feature bloat, etc.). At most I would archive the project and whoever is free to fork under a new name. For now I resisted doing this, so people will have to be patient for new stable release._

 _What would actually help is that people help to completely investigate existing issues instead of keep asking me to add yet more features. Turns out people willing to step in the code to investigate and pinpoint exactly where is an issue (or that there is no issue) is incredibly rare._

[https://www.reddit.com/r/uBlockOrigin/comments/i240ds/reques...](https://www.reddit.com/r/uBlockOrigin/comments/i240ds/request_for_a_stable_umatrix_release_for_cname/g0bh51n/)

<comment><USER7> Presumably referring to the mess that happened with uBlock when he tried to step away. That's why it's called "uBlock Origin" now; the original name was taken over by someone who then developed it in ways against Gorhill's intentions.

<comment><USER8> >the original name was taken over by someone

it was taken over by the same people behind "AdBlockPlus" which is a shakedown operation. They're allowing ads to be unblocked if advertisers pay them money.

Some history; [https://old.reddit.com/r/chrome/comments/32ory7/ublock_is_ba...](https://old.reddit.com/r/chrome/comments/32ory7/ublock_is_back_under_a_new_name/)

<comment><USER9> Well, today that is what it is. Before that it was just a "donate to the developers" that was basically a money grab for the person running it.

<comment><USER8> The developers running it should be able to accept monies from the users of the product, especially donations. They have built something and are keeping the end users interests at heart while evolving the capability. It needs to be sustainable, else the intrinsic motivation will dry up.

The adblockplus model is extortion. They're not incentivized to serve the end user well, especially when their primary source of revenue is the advertisers the users are attempting to block.

<comment><USER9> The problem was that the person was essentially squatting on the name (in spirit; the name had been legitimately transferred) to gather donations for himself while not actively developing it. Then he sold it to the "Acceptable Ads" people.

</comment></comment></comment></comment></comment></comment><comment><USER10> This is a tragic loss, I can't be grateful enough to the author, such a fantastic tool.

I even started installing it in my parent's computers (not advanced users), reducing to 0 the amount of time I had to intervene to fix their computers. The trick is to configure it in blacklist mode, instead of whitelist. This way it only blocks requests from domains in the blacklist and frame elements. Just with this change you get non-power users out of trouble in their surfing habits and impacts negligibly their use.

I have taught them that if a web is blocked or doesn't work properly is most likely not a web they want to use but that there is also the possibility to turn it off using the on/off button (that they should use very judiciously). In this mode it is not too different from setting up Hosts file but they can understand better what's going on and how to turn it off if needed.

EDIT: fixed typos

<comment><USER11> > The trick is to configure it in blacklist mode, instead of whitelist.

Or you can use it in whitelist mode, but with all things like Cloudflare and ReCaptcha globally whitelisted. It's good that way too.

But yes, for your parents, black list mode would be good. It would be like uBlock Origin.

<comment><USER12> > Or you can use it in whitelist mode, but with all things like Cloudflare and > ReCaptcha globally whitelisted.

those two specifically are always the first entries in my blacklist :D

<comment><USER13> Most people want to block annoyances like advertising or tracking without breaking the pages they want to visit. What you're suggesting does the opposite.

<comment><USER14> If that's your goal, why would you use uMatrix and not ad and tracking blockers?

<comment><USER15> Granularity.

<comment><USER14> How does the granularity help block trackers and ads if you're not doing enough of it to regularly break sites?

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Thank you Gorhill. For such great resources. Your extensions are the only reason I use FF on mobile and desktop.

uMatrix helped me realize how much of 3rd party resources are crap. Actual crap. Completely unnecessary. It also helped me get familiar with new 3rd party crap that pops up on the internet.

I'll use uMatrix 1.4.0 as long as it works. Many thanks

<comment><USER16> Haven't used any chromium in years, hence the question. Is uMatrix not available on their addon store?

<comment><USER11> In my experience uMatrix and uBO work better in Firefox compared to Chromium. You don't have to completely reload the whole page to see what's blocked or hidden. They can also block the sneakiest trackers that hide behind other domains. Not possible in Chromium.

Chromium mobile doesnt even have addons because they are shit scared of adblockers.

<comment><USER17> _" Chromium mobile doesnt even have addons because they are shit scared of adblockers."_

Paradoxically, I'm kind of half-happy to hear this.

It means that finally a large number of users are using adblockers.

For many years the standard theme of many threads on adblockers was that companies like Google didn't care about them because too small a percentage of their users used them for it to matter.

Now finally there are enough adblocker users for it to hurt their bottom line, and that means that there are more people than ever who clearly just don't want to see ads.

That gives me hope that there will some day be anti-advertising legislation, and that we might not even need adblockers... some day... some day...

<comment><USER18> I think your hope is misguided.

People dreamed of an Internet where sharing of information was free (as in freedom). Then DRM happened. And even if DRM cannot be 100% reliable, being broken by design, it's reliable enough, plus in the US at least it's a felony to break it. And as years go by, we see more DRM, not less. This happens, because the practice is normalized, and because small inconveniences are taken care of (usually by monopolies winning the market—e.g. you stop complaining that alternative e-book readers don't work, when everybody is using the Kindle or the Audible apps).

Similarly, for the open web — the action has been moving on mobile devices. A majority of people now consume content via mobile devices. So what do you see? More websites? Or more apps? And for all ad-blocking happening at the DNS level (e.g. Pi-hole), how long do you think it is before apps start doing DNS over HTTPS on their own, bypassing the OS's stack?

This is a wack-a-mole game, and the big publishers have enough resources to push for both technical and legal changes for outlawing ad-blocking. I'm actually surprised that content blockers remained legal thus far. But the writing is on the wall IMO.

\---

There's also another side of this coin. I see more and more people on HN complaining that articles are submitted from publications that are setting up paywalls.

People also hate paying for content. And even those that pay for content, they don't recognize what an incredible privilege it is to afford it.

Either content is monetized somehow, or the only content that we get will be content created by hobbyists, in their spare time, for free, while working a regular job.

Well I for one don't want a world in which the poor don't get access to online resources, or a world in which people can't make ends meet doing what they love.

<comment><USER19> > Either content is monetized somehow, or the only content that we get will be > content created by hobbyists, in their spare time, for free

Yes, that's why we need to make it impossible to monetize content.

<comment><USER18> I definitely like the free labor of others.

<comment><USER19> Yes, because when it comes to creative works, it produces much better results than professional labor.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> There is a comment from @gorhill saying:

> Anyway, as it is, I've archived uMatrix's repo, I can't and won't be > spending any more time on this project, and neither on all such issues > [linking to all issues closed as invalid].

[https://github.com/uBlockOrigin/uMatrix- issues/issues/291#is...](https://github.com/uBlockOrigin/uMatrix- issues/issues/291#issuecomment-694988696)

So it's really confirmed then. Very sad news.

Edit: there's also a glimmer of hope:

> Whoever is free to fork under a new name -- I may re-open and resume > development in some future if ever I feel for it.

<comment><USER21> That is actually a quite hostile move for OSS, which has become common lately.

Unless you have trademarked the name, you don't get to reserve it for a rainy day, anyone should be able to pick up the torch and continue the project without having to start from scratch with a new unknown name.

<comment><USER22> Are you familiar with the story about uBlock and uBlock Origin? [https://en.wikipedia.org/wiki/UBlock_Origin#History](https://en.wikipedia.org/wiki/UBlock_Origin#History)

gorhill stopped doing uBlock and passed it to others, who subsequently took it in a direction he didn't like, so that he resumed maintenance under the name uBlock Origin (since the name "uBlock" had been transferred).

So this time when he stops maintaining a project, he's avoiding the same thing happening.

<comment><USER23> The wiki link somewhat explains the situation but to reiterate it for HN: gorhill no longer wanted to work on uBlock full time so he transferred the project to chrisaljoudi who immediately registered ublock.org in order to solicit donations under the valuable uBlock branding. Development on uBlock all but stopped and the project died, some 3 years later chrisaljoudi sold the project to AdBlock who are essentially an advertising company. Meanwhile gorhill continued development at a slower pace on his personal fork, uBlock Origin, which is still maintained to this day.

Contribution graph for the original uBlock project during this time frame: [https://github.com/uBlock- LLC/uBlock/graphs/contributors?fro...](https://github.com/uBlock- LLC/uBlock/graphs/contributors?from=2015-03-01&to=2015-10-01&type=c)

and now compare to the 'personal fork' that is uBlock Origin: [https://github.com/gorhill/uBlock/graphs/contributors?from=2...](https://github.com/gorhill/uBlock/graphs/contributors?from=2015-03-01&to=2015-10-01&type=c)

So if 'squatting' the name of your own OSS project is considered 'user hostile' then let this be a lesson to people considering giving up their project: the person you give it to may abuse your trust and the trust of the community in order to further their own agenda, in this situation it was all just pretty harmless petty drama but it might not always work out so well.

Random Github projects aren't organisations with funding and staff with rules and responsibilities to keep the project running, it's okay to archive the project and let the community decide what to do, giving the project to the first person who asks may end up achieving the same thing as archiving the project or it may come back to bite you in the arse damaging your reputation in the process.

<comment><USER24> Maybe there ought to be a blacklist for unscrupulous devs who do things like what chrisaljoudi did with Ublock.

</comment></comment></comment></comment></comment><comment><USER25> Uhm, what??

uMatrix is an essential part of my everyday life.

Will it still work? If not, is there a trustworthy replacement?

I don't want an "ad blocker" with blocking lists etc. I just want to see the page I navigated to. And then allow it to load additional resources as I see fit.

If uMatrix goes out of existence, then that would be the biggest loss due to discontinued software in my lifetime.

<comment><USER26> uBlock origin advanced mode is very similar to uMatrix

<comment><USER27> AFAICT uBO even in advanced mode doesn't differentiate between the kinds of requests that can be filtered, so filtering is only per domain and filters every kind of request for the domain equally. uM on the other hand differentiates between scripts, CSS, images, XHR, media and frames, and allows you to filter them individually.

But most importantly, uM also allows you to filter cookies with the same fidelity, which is the number one thing I would miss if I had to rely solely on uBO, because it means I can default to blocking even first-party cookies from sites I don't want leaving cookies on my machine. FF by itself gets close, by letting me set a policy that says "block all cookies except for cookies from these domains", but that doesn't let me filter which site is allowed to access those cookies.

Frankly, I find uBO redundant if one has uM installed but for two things: uBO can use the usual content-blocker lists (I personally don't need them because my router's DNS server does filtering using those same lists already, but it's useful for people without such a setup), and uBO can block remote fonts whereas uM can't. It would be great if uM's kind-based filtering was merged into uBO and remote fonts were kept as just another kind of request that can be filtered, but I don't know what gorhill plans to do.

<comment><USER28> > uBO even in advanced mode doesn't differentiate ....scripts, CSS, images, > XHR, media and frames

$script $image $subdocument $stylesheet $first-party $third-party $xmlhttprequest $csp $inline-script $inline-font ...

[https://github.com/gorhill/uBlock/wiki/Static-filter- syntax](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax)

<comment><USER27> Good to know. So it's supported for static filters and not for dynamic filters, which is presumably why it isn't exposed through the UI like uM does.

So it looks like the equivalent of this uM rule:

        github.com raw.githubusercontent.com xhr allow

would be:

        @@raw.githubusercontent.com^$domain=github.com,xhr

... or something. (I have to spend some time RTFMing.)

So then, like I said in my previous comment, it seems it would be the best of both worlds if gorhill took the UI from uM and put it in uBO.

</comment></comment></comment></comment></comment><comment><USER29> Looks like the maintainer just didn't have time and there weren't enough people in the community willing to step up and do issue triage or contribute code.

> What would actually help is that people help to completely investigate > existing issues instead of keep asking me to add yet more features. Turns > out people willing to step in the code to investigate and pinpoint exactly > where is an issue (or that there is no issue) is incredibly rare.

<comment><USER30> It's a general trait we have as a civilization, everybody wants to innovate, nobody wants to do maintenance.

</comment></comment><comment><USER31> This is sad for me as a user, but I can fully understand his unwillingness to further engage with requests from entitled users. I myself had bad experiences with releasing open source, too.

That said, this is clearly a useful tool and I wouldn't be surprised if the user base was 10,000+ which means that if you'd make it $3 monthly to use as a commercial product, the revenue (after attrition) should be enough to pay for at least one part time employee to do the maintenance.

I would also expect that releasing this as a paid product, as opposed to open source, will actually reduce entitlement by users. Or at the very least, you can always just issue a refund and be done with it.

I would still hope for source code insight to make it transparent how this tool works. But that is not necessary a hindrance towards productizing it. Unreal Engine 4 is a commercial success, despite shipping with full source code.

<comment><USER32> > I would also expect that releasing this as a paid product, as opposed to > open source, will actually reduce entitlement by users.

That is the very opposite of what I'd expect and have observed personally over the years. The folks who've paid a small amount are virtually always the most demanding and refunding them and asking them politely to go away just fuels their indignation further.

<comment><USER31> I've been selling a $9 Windows app for 5 years now and never had a case where someone continued to contact support after a refund. We did have people who had a system straight from hell where nothing worked as planned, but then again the users of those systems seemed to be aware that it's their computer and not my app.

<comment><USER32> So you are lucky I guess? That's the great thing about anecdata, everyone will have a somewhat different experience.

</comment></comment></comment></comment><comment><USER33> Many notable or even vital software projects are literally maintained by one person, sometimes even in companies. I am certain that most users don't "get" this about software. And from experience, most users don't contribute anything _at all_ , not even the most basic bug reports. They do however complain.

The best way to "mourn" a lost software project is to ask yourself what you will do to maintain the software ecosystem. How many things do you use for free? How many things have bugs you never bothered to tell anyone about? Has each of you contributed _something_ (even a short E-mail thank-you) to some software project?

</comment><comment><USER34> For those who are wondering the difference between ublock origin and umatrix, a cursory quick search turned up this forum post[0]:

> uMatrix is a blocker(cookie,css,image,plugin,script,XHR,frame, and other) > you can control what you block and what you want to allow(like uBlock Origin > dynamic filtering but way more flexible and can be way more strict) uMatrix > just blocks ads through the use of host files, uBlock Origin blocks them > more deeper per se then uMatrix because of cosmetic and patteren-based > filtering like adblock plus. I use both of them together just uncheck the > malware domains in uBlock and peter Lowe's and the host files. Also you have > more privacy and security when running uMatrix because of the switches(user > agent spoofing and referrer spoofing, clearing blocked cookies, blocking > hyperlink auditing attempts etc.) and also if you run uBlock it gets > whatever ads uMatrix does not get from its blocking) Look at my sig to see > how I run them. If you need help just PM me.:thumb::):cool:

I personally run ublock origin and have been super happy with it, never even think about it these days, if I was supposed to switch to uMatrix at some point (I know uBlock and uBlock origin are different now and origin is preferred) I must have missed it.

[0]: [https://www.wilderssecurity.com/threads/ublock-vs- umatrix.37...](https://www.wilderssecurity.com/threads/ublock-vs- umatrix.376016/)

<comment><USER35> Thanks, the project readme could definitely do a better job of introducing the project to those not familiar with it.

</comment></comment><comment><USER36> uMatrix is awesome. I wish there were more tools like this -- just advanced enough to do some real heavy lifting yet still quick and intuitive after even a little investment. The browsers brought SSL awareness with the padlock, but most users are still woefully unaware of just how many websites they hit when they load any page. It's insanity.

I hope this isn't due to browser vendors making things difficult, but it wouldn't surprise me. Since the concerns are similar, it would be great if there was a way to marry the two. uBlock - advanced interface mode or something. Just a thought, not a feature request.

Thank you Gorhill for all your work. Sad to see it go, I actually can't fathom how I'll surf the web without it.

<comment><USER11> > just advanced enough to do some real heavy lifting yet still quick and > intuitive after even a little investment.

This describes uMatrix perfectly. I didn't understand a single thing after installing it, but one day, I spent 20 mins reading the wiki on Github and then understood what to use each tool for.

</comment></comment><comment><USER37> If you're using uBlock Origin already, then you don't really need uMatrix or NoScript. Just enable medium mode or hard mode:

[https://github.com/gorhill/uBlock/wiki/Blocking- mode:-medium...](https://github.com/gorhill/uBlock/wiki/Blocking-mode:-medium- mode)

[https://github.com/gorhill/uBlock/wiki/Blocking- mode:-hard-m...](https://github.com/gorhill/uBlock/wiki/Blocking-mode:-hard- mode)

<comment><USER38> Medium and hard mode are nowhere near as flexible as as uMatrix. It's good, but it's not uMatrix.

<comment><USER39> I'm willing to put up with if it it means gorhill will have the energy to maintain just uBO instead of burning out entirely :)

<comment><USER38> Definitely! I'm going to keep using uMatrix until it starts getting in my way, but otherwise uBO will do.

</comment></comment></comment></comment><comment> Maha-pudma What's the alternative to this?

This was on all my browsers, with ublock origin, the first extension I install. Now what?

I'm not a good enough programmer to take this on but I suggest 'uMatrix Reloaded' as the new name.

<comment><USER11> Are there any issues with uMatrix that you are looking for alternatives?

Only the repo has been archived. The extension is perfect. Just think you haven't seen this post and continue to use it.

<comment><AUTHOR> Mozilla has modified their extensions API pretty regularly (with major changes every few years at least, recently), and they're also still in the process of developing the API for the Android browser, which is likely to remain incomplete and different from the desktop API for the forseeable future. Granted, maybe not a lot of people use uMatrix on their phone, but both of these seem like valid reasons to worry.

<comment><USER11> You can't use uMatrix on phone. Mozilla updated their browser right? Also very few can manage it on such a small screen.

>they're also still in the process of developing the API

The API is there. They are just whitelisting addons.

<comment><AUTHOR> > You can't use uMatrix on phone.

You can't use it _currently_ if you have a release version of Firefox after 68, yes. The API is buggy and in fact quite a few extensions don't work, even if you force-install them. It's still unclear if they will ever whitelist stuff that's outside of their "recommended extensions" program, and presumably the best chance it would have of getting whitelisted is if it were actively maintained and bugs encountered with the new FFA could be worked on in coordination with the developer.

</comment></comment></comment></comment></comment><comment><USER40> I seem to remember this movie. In the following scene, some spammer forks the code and claims to be the new maintainer, but threads some horrible spammy behaviour into the code. The spammy fork (under the original name) gains significant popularity. Final scene. In disgust, the valiant OP returns with a new fork, possibly called "uMatrix Origin". Curtains and lights

<comment><USER41> That's a miscomprehension of what happened with uBlock. The problem with uBlock was that gorhill legally gave away the trademark to a spammer.

<comment><USER11> He got tired of kids complaining of issues without contributing code. Just filter list issues, which are not really his fault but the list maintainers.

</comment></comment></comment><comment><USER42> I like uBlock Origin better than uMatrix, so my primary concern is what I can do to support uBO so that it won't share the same fate?

<comment><USER41> Gorhill has clearly stated: if you want to help, fix bugs. He doesn't want to do this as a job, so if you want to pay someone to help instead of helping directly, then find someone who wants to be paid to fix bugs in uBO.

[https://github.com/gorhill/uBlock/wiki/Why-don't-you- accept-...](https://github.com/gorhill/uBlock/wiki/Why-don't-you-accept- donations%3F)

</comment></comment><comment><USER43> uMatrix has been the first app where I can exactly see what domains are being used and over a period build a whitelist that basically works seamlessly while blocking the analytics stuff. I'm just hoping browser internal security changes in the future don't render it broken.

</comment><comment><USER44> uMatrix has to have been the most useful, all-rounded, intelligent browser extension I've ever used. I see it as a gold standard. It truly _extends_ the browser, rather than use it as a platform to deploy « apps ».

<comment><USER45> treestyle tabs and container tabs are the others I can think of. they also integrate very well with each other.

</comment></comment><comment><USER46> I could never figure out how to use umatrix or the advanced mode of ublock origin. I've read the instructions and could never figure them out.

<comment><USER39> There's a "save" button you have to click to persist your changes after you've toggled the green/red cells of the media-types-per-domain table to suit what you want to block and what you want to allow. i gave up on uMatrix once before figuring that out.

</comment></comment><comment><USER47> A huge loss but thank you gorhill for developing this awesome extension! Like many others I'll probably keep using it while it still works.

On another note, how does uMatrix even work internally? I guess the bulk of its functionality is based on the webRequest API and I think it uses some kind of CSP hack for inline scripts and workers? (And is it only my perception or does uMatrix have to resort to a lot of hacky workarounds to implement some of its features?)

</comment><comment><USER48> Some more info here: [https://www.reddit.com/r/uBlockOrigin/comments/i240ds/reques...](https://www.reddit.com/r/uBlockOrigin/comments/i240ds/request_for_a_stable_umatrix_release_for_cname/)

TL;DR: gorhill didn't have time to maintain both extensions, and won't transfer the repo after having been burnt once already.

</comment><comment><USER49> Man, I absolutely love uMatrix. Now I feel bad for not contributing back to it, maybe that would have helped the author keep going with it.

</comment><comment><USER50> I am sad to hear this. I have been using uMatrix now for quite some time, it has always been one of the extensions I install directly after setting up a new browser (together with uBlock Origin).

If the author, Raymond Hill, ends up reading this: thank you Sir, for all the (probably unpaid!) effort you have been putting into this extension for years. It's certainly an inspiration to actively contribute to the open source community.

</comment><comment><USER51> This is so critical to my internet use, I plan to maintain a fork. No new features, no distribution, just minimum changes to make it run on FF desktop.

I don't have the time to do it justice, and I expect others will do a better job of running a project, but it's something I can't work without. Fingers crossed it's just version bumps when new FF versions come out.

</comment><comment><USER52> Noooooooo, why?

I hope this addon keeps working without patches for a long time, I absolutely love how it has improved my web experience. So easy to use.

</comment><comment><USER8> uMatrix is one of the first add-ons I've installed on my browsers for many years. It exposes so much crap on the web that browsing the www without uMatrix feels unsafe.

The fine grain controls on uMatrix are so powerful and quite intuitive, especially once you get oriented. You can see (and block) websites trying to load in crap asynchronously, see the problematic iFrame that's loading in a scripts, see all the trackers and even the cloudflare endpoints that may be responsible for bringing in malicious content.

Gorhill's uBo project is nice, but geared towards simplicity and it's too simple, even with the advanced interface, imo.

Although Gorhill never accepted donations, someone forking uMatrix will hopefully use something like github.com/sponsors to ensure it's sustainable.

I'd love to see uMatrix around for the long haul.

</comment><comment><USER53> uMatrix IMHO is an absolute necessity when viewing the web these days.

It is said that 20% of the ads on the web are malicious so browsing the web without a dependable script/adblocker is just asking for trouble.

And until the adtech industry finds a way to stop malvertising I will continue blocking scripts and ads.

</comment><comment><USER54> Can someone clarify for a layman what this means in practice? I still want to use uMatrix on Firefox. Does this mean that over time, uMatrix will eventually stop working?

Separate question, is there somewhere can we can read from the author about this decision to archive uMatrix?

<comment><USER55> It will until they change their extension API or some detrimental bug is found and they block it.

</comment></comment><comment><USER56> This is a shame, I find the interface for uMatrix much more intuitive than uBO's.

</comment><comment><USER57> Good project for someone to pick up on and carry forward I guess?

<comment><USER41> No. Gorhill is protecting it from seizure. But someone can fork it.

</comment></comment><comment><USER58> I have been a (lay) user of uBlock Origin for some years now. I haven't heard about uMatrix before.

Can someone link to a tutorial or a detailed review for it?

<comment><USER59> uMatrix extends the notion of uBlock (DNS-based content blocking) to a _matrix_ of domains, subdomains, and sites (the vertical column) against specific Web capabilities; content, images, CSS, JS, XSR, and other elements. It affords fine-grained control over what sites are permitted to do on your browser.

There are numerous explainer videos on YouTube:

[https://youtube.com/watch?v=TVozpo3zUBk](https://youtube.com/watch?v=TVozpo3zUBk)

Search: [https://youtube.com/results?search_query=umatrix](https://youtube.com/results?search_query=umatrix)

</comment></comment><comment><USER60> What does uMatrix do that uBlock Origin can't? I use uBO and it seems powerful enough to block the vast majority of nonsense.

<comment><USER61> Blocks the rest of the nonsense? :) I see it as a very configurable privacy tool for powerusers. It also clearly shows the parts of the page and where they were (not) loaded from.

Incredible tool, sad to see it go.

</comment></comment><comment><USER62> I wonder why uMatrix was completely shelved while he created a new team to continue uBlock.

<comment><USER63> I think it's because uBlock Origin has a lot more users. uMatrix was always for power users.

<comment><USER64> He probably could have saved time and resources by incorporating uMatrix most granular blocking functions into uBlock Origin, say as an "expert mode" users had to enable explicitly. I mean, many of us probably have both installed; since they do essentially the same things, although at different levels, merging some functionalities of the latter into the former doesn't seem that absurd to me. Anyway, big thanks to gorhill for putting great effort in software that today is absolutely necessary to surf the web, and that makes it even more sad to see uMatrix go.

<comment><USER63> Can you explain the advantage of installing both uBlock Origin and uMatrix? I never tried that, thinking that there was too much functional overlap and guessing that I would have to check and uncheck numerous lists to keep one from stepping on the other. Or maybe I'm just lazy and didn't feel like diving deeply into how to make them play nice together.

<comment><USER62> They don't interfere with each other much, if something is broken 90% of the time it's uMatrix and 10% of the time it's both. From my understanding, uBlock Origin will stop a few things uMatrix misses, but mostly I already had uBlock set up and have never seen a reason to ditch it.

</comment></comment></comment></comment></comment><comment><USER65> Literally 12 hours after I switched from Noscript. :(

</comment><comment><USER66> Dear HN community. Pretty, pretty please with sugar on the top, keep maintaining this project. It's absolutely essential for a sane browsing of contemporary web.

<comment><USER67> You're free to fork it or organize a fork of it yourself or start an initiative for paying maintainers of a fork.

<comment><USER66> I'd gladly pay an annual subscription for anyone willing to maintain it.

<comment><USER68> Instead fork it and pay some freelancer to fix bugs if any.

</comment></comment></comment></comment><comment><USER69> Was grohill paid to archive it ?

</comment><comment><USER70> /me sniffles in sadness.

</comment><comment><USER71> I tried using uMatrix a few times and always ended-up disabling it. It was too disruptive and breaking too many things compared to uBlock Origin.

I hope whoever forks the project can work on the UI and onboarding experience.

<comment><USER62> I did the same thing twice, then actually spent ten minutes reading the wiki. It's very simple to use, and I doubt a new UI could perform the same functions any easier.</comment></comment>